I build AI systems that know when not to act. Most of my work is the backend around the model: data pipelines, retrieval and model routing. I own the whole thing: decisions, features, deploys, monitoring, and the stuff that breaks after launch.
I'm a backend engineer at FunnelStory, which builds AI outcome agents for post-sales revenue teams. I work in Go on the data layer: how customer data gets pulled in and turned into what the agents act on.
Outside work, I run six AI products in production, with no team behind them: Sentinel, Cutline, RepoDoc, VectorMail, Visura and Synapse. I built every layer of every one, and I'm the only person on call for them. Cutline has 100+ signups, all inbound, and a first paying customer in September, with no ads run.
Always happy to talk about data pipelines, RAG, or whatever broke in production this week. I reply within 24 hours. Say hello.
A revenue-intelligence backend whose first question is what it's even allowed to read. Email, calendar, and chat are ingested only when a participant matches a contact synced from your CRM - read-only, fail-closed, and PII-blind.
One sentence in, one finished MP4 out - directed by a pipeline of up to 12 stages per slideshow, not a template engine. It infers audience, goal, tone, and arc; plans 1-3 shots per story beat, with more beats for longer videos; sources or generates imagery; composes the render. No templates, no creative knobs.
Ask an unfamiliar repo questions and get grounded, cited answers. Retrieval runs over what each file means - LLM summaries embedded, not raw code - indexing is a durable Postgres lease queue that survives serverless limits, and each answer's estimated model cost is recorded per project.
Reads your inbox, drafts follow-ups, and sends them. Deterministic rules pick the threads: a reminder is due, or the last message came from an external sender and you haven't replied. Rules also decide whether each follow-up sends, waits for your approval, or is dropped; the LLM only writes the draft. Inbox and embeddings live in one Postgres, with no separate vector store.
Shows what changed between two versions of a document, in your browser, with no upload and no model. Passage boundaries come from each sentence's own hash, so an edit near the top doesn't shift the rest, and a re-upload re-summarizes only what changed. The LLM only explains changes the hashes found, and drops any explanation it can't quote from the document.
19 of 20reused after a one-line edit
12 re-exportsall read as zero changes
No uploadand no model to compare
Verbatim quoteor the explanation is dropped
Stack
28 tools and 4 practices
Layer 1 Frontend (Product UI)
TypeScript
React
Next.js (App Router)
Tailwind CSS
Remotion
Layer 2 Backend & APIs
Node.js
Go
tRPC
Zod
WebSockets
Dodo Payments
Clerk
Better Auth
Layer 3 AI Systems (Production)
OpenAI
Claude
Gemini
OpenRouter
RAG pipelines
pgvector
Layer 4 Data & Infrastructure
PostgreSQL
Prisma
Redis
BullMQ
Object Storage (S3)
Layer 5 Cloud & Deployment
AWS
Docker
Vercel
CI/CD (GitHub Actions)
Architecture & Practices Across every layer
Distributed systems
Event-driven design
Multi-tenant SaaS
Cost optimization
Walkthroughs
Walkthroughs I recorded on Loom for Sentinel, Cutline, RepoDoc and VectorMail, each 11 to 14 minutes long. Open any one to watch.
Backend engineer on the Go platform behind FunnelStory's AI outcome agents for post-sales revenue teams.
Working on the data layer: how customer data gets pulled in from warehouses and SaaS tools and turned into the account and activity data the agents act on.
Go
PostgreSQL
AI Systems Engineer
Independent / Engineering for early-stage startups · Remote
Full ownership of system design, feature delivery, reliability, and iteration - everything here built, deployed, and maintained by me.
Owned backend services, data stores, AI pipelines, and deployment infrastructure, including authentication, payments, and third-party integrations. Debugged production incidents, performance bottlenecks, and scaling limits while deploying continuously without breaking live systems.
Thanks for scrolling all the way down here. These days I'm building backend systems at FunnelStory, and running my own products on the side. If you're working on something similar, or just want to talk data pipelines, say hi.