Projects

Systems we've shipped and running.

A few of the workflows built for real clients, each one mapped, built, tested, and handed over with documentation.

Content Automation

AutoPosterAI

Fully automated Facebook posting system, content planning lives in Google Sheets, AI writes the copy, a dynamic poster template generates the visual, and everything publishes on a fixed schedule without anyone opening a laptop.

Google SheetsAI text generationDynamic templatesn8nFacebook Graph API
View the code on GitHub →
Challenge → Solution

Challenge: Daily social posting was eating hours every week, writing copy, designing graphics, and manually publishing on schedule.

Solution: A content calendar in Sheets feeds an AI writer and a templated poster generator, and a scheduled workflow publishes automatically, zero manual steps from idea to live post.

Result: Daily posting runs unattended, freeing up hours every week for actual client work.
n8n workflow
n8n workflow, AutoPosterAI: AI agent, poster generation, scheduled publishing
Reporting Automation

MetaMetrics Automation

An automated reporting pipeline that pulls Meta Ads campaign data straight from the API and generates ready-to-use CSV/Excel reports on a schedule, no logging into Ads Manager, no manual export.

PythonMeta Ads APIScheduled jobsCSV / Excel export
View the code on GitHub →
Challenge → Solution

Challenge: Weekly ad performance reporting meant manually exporting data from Ads Manager and rebuilding the same spreadsheet every time.

Solution: A Python script pulls campaign data directly from the Meta Ads API on a schedule and formats it into a ready-to-send report, no dashboard login required.

Result: Reporting time cut from hours to zero, reports are simply ready every week.
n8n workflow
n8n workflow, MetaMetrics: scheduled trigger, report executor, email delivery
AI Email Automation

HubSpot AI Email Automation

A fully autonomous outreach pipeline: pulls contacts from HubSpot by pipeline status, an AI model writes a personalized email and subject line for each one, sends the campaign, updates every contact's CRM status, and delivers a summary report at the end. Zero human steps.

HubSpot APIn8nFastAPIDockerLocal AI (Ollama)
View the code on GitHub →
Challenge → Solution

Challenge: Outreach to CRM contacts meant writing every email by hand, sending one by one, and manually updating statuses afterwards.

Solution: The system fetches only contacts in the right pipeline stage, generates a tailored email per contact with AI, sends it, flips the HubSpot status to "contacted", and emails a final table of everyone reached.

Result: Entire outreach cycles run hands-free, with the CRM always reflecting the true state.
n8n workflow
n8n workflow, AI Email Automation: CSV intake, dual AI agents, HubSpot sync
Pricing Automation

Competitor Price Automation

A daily price intelligence system: collects competitor prices across multiple EU markets, filters out noise (used, refurbished, outlet listings), calculates the market median, and automatically updates the store price when the gap exceeds 5%. Every decision is logged and reported by email.

n8nPythonFastAPISerpAPICSV logging
View the code on GitHub →
Challenge → Solution

Challenge: Staying price-competitive meant manually checking competitor listings and updating prices, slow, inconsistent, and easy to forget.

Solution: A scheduled workflow gathers fresh competitor prices daily, computes the market median, and only updates the store price when the difference crosses a defined threshold, with an email confirming every decision either way.

Result: Pricing stays aligned with the market automatically, with a full audit trail and no manual checks.
n8n workflow
n8n workflow, Competitor Price: daily check, decision logic, store update
CRM Sync

HubSpot CRM Sync

A sync engine that keeps a live PostgreSQL database and HubSpot in lockstep, new leads flow into the CRM automatically, with retry logic and automatic company matching so nothing gets duplicated or dropped.

PostgreSQLHubSpot APIPythonRetry logic
View the code on GitHub →
Challenge → Solution

Challenge: Leads were sitting in an internal database with no reliable way to get them into HubSpot without manual CSV imports.

Solution: A sync job pushes new and updated records into HubSpot automatically, matching existing companies and retrying failed calls instead of silently dropping records.

Result: Zero manual CSV imports, the CRM is always a live mirror of the database.
More on the way

A few more case studies are being added soon.

Got a workflow problem that looks like these? Let's talk about what we'd build for you.

Book a free call