Employment record / chapter file

Baseloop

Founding Engineer November 2025 – Present 4 exhibits

  • 70%cheaper to run
  • 200 → 3,000+concurrent runs
  • 0downtime taken

Baseloop (baseloop.io) lets go-to-market teams build data-enrichment workflows in plain language: describe what should happen to your accounts and leads, and an agent assembles the workflow, enriches records from 40+ data sources, and syncs the results back to HubSpot, Salesforce, Attio, or Pipedrive. Where Clay makes you wire every column by hand, Baseloop builds the table from one prompt. I joined seven months into my CTO role at Veedoo, working alongside the CEO and lead developer Kevin.

The mascot is wedged beneath a running machine, taking the weight of a corner whose support has been removed while his foot pushes a fresh pier up into the empty seat.
The founding engineer, as a load-bearing member
Baseloop — one prompt on the left, the enrichment table it built and synced on the right
baseloop.io — the product: one prompt, a built and synced table
  • CedarJS
  • GraphQL
  • Trigger.dev
  • Self-hosted Supabase
  • Coolify
  • Hetzner

Migration ledger — the SaaS stack against the self-hosted one

Migrated against live production — real users, real data, no downtime taken

Visit baseloop.io
Exhibit 01

The migration that paid for itself

The SaaS stack was costing $700–800+ a month and throttling the product: Supabase's 2XL tier at roughly $410, Trigger.dev Pro capped at 200 concurrent runs when the workload needed 1,000 — with another $160 in concurrency bundles, per-second compute charges, and invocation fees on top.

I led the move to self-hosted infrastructure on Coolify and Hetzner: Supabase on a dedicated CCX43, the Trigger.dev webapp on a CPX52, and four CPX42 workers — €205 a month, roughly 70% cheaper, now clearing 3,000+ concurrent runs with no artificial ceiling.

Exhibit 02

Live, with real users on board

The migration ran against production — real users, real data, no downtime budget. That meant reading Trigger.dev's Go and TypeScript source when the docs ran out, and catching the failure modes nobody writes about: Postgres sequence resets, auth sessions that must survive the move, storage file permissions that don't.

Exhibit 03

Published so nobody suffers twice

Three open-source artifacts came out of that work: coolify-trigger-v4 (Docker Compose for distributed Trigger.dev v4 on Coolify, from single-server to multi-worker tiers), supabase-sync (an npm CLI that migrates schema, data, auth users with password hashes intact, storage, roles, and sequences — no forced credential resets), and latest-supabase-coolify-template (auto-generated JWTs and production Postgres tuning for 200–500 concurrent users and 10GB+ databases).

Exhibit 04

Product engineering

Alongside infrastructure I build the product itself in CedarJS — a TypeScript framework with Laravel-like conventions: GraphQL APIs, auth, jobs, and migrations, batteries included.

On the record

Who was there.

  • Kevin Goncear Co-founder, Baseloop Taoufiq has shown exceptional development skills, standing out as an early adopter of AI-era tools.
All nine statements, in full