[ LIVE PRODUCT ] // SHIPPED

INVITOVATE

A calm pipeline for outreach. Your own AI finds the right people and drafts in your voice; you send only what you approve. Built solo, end to end, and live.

Multi-Tenant SaaS Postgres + RLS Event-Sourced Pipeline Vanilla JS Live at invitovate.com
VISIT INVITOVATE → READ THE BUILD STORY

BRIEFING

Outreach breaks down long before you run out of people to contact. It breaks down when you lose the thread: who you already messaged, who replied, what you said, and which version of a message actually worked. Most people run it out of a spreadsheet and a dozen browser tabs, and the tracking, not the typing, is what quietly eats the day.

Invitovate is the fix I built for myself and turned into a product. It's one pipeline for the whole thing: your own AI finds the right people and drafts each message in your voice, you approve every send, and the tool remembers everything and tells you which approach is landing. It's a real multi-tenant SaaS on Postgres, live at invitovate.com, and I designed and shipped the whole stack solo.

ROLE / METHOD / OUTCOME

Role
Solo build, end to end, product design, marketing site, multi-tenant backend, the console, and a background runner.
Method
A Postgres-backed SaaS with per-user row-level security, an event-sourced status pipeline, and an eval gate on every drafted message.
Outcome
A live product that turns scattered outreach into one calm, trackable pipeline, draft in your voice, send only what you approve.

HOW IT WORKS

FIND & DRAFT

Your own AI finds the right people and writes each message in your voice, grounded in real details about who you're reaching. Nothing sends on its own, every draft waits for your approval, so the human always holds the send button.

TRACK & LEARN

Every contact moves through one pipeline backed by an append-only status log. Each message is tagged by variant, and accept rates are measured per variant, so you can see what's actually landing and do more of it instead of guessing.

Start fully manual, or hand the machine work to a background runner. Because every operation is a plain REST call, the same pipeline can be driven by the dashboard, by any agent or agentic IDE, or by a packaged app that just runs in the background. One dashboard, three ways to run it.

BUILT TO BE BORING

The interesting engineering here is the part you never notice: a pipeline that can't quietly get your data wrong. That's where the real work went.

THE STACK

Status
Live
Tenancy
Multi-user, RLS
Contacts tracked
375+
Message variants
Scored
Home
invitovate.com

STACK: Supabase (Postgres + RLS) · Vanilla JS · Vercel · Node runner · REST

Figures reflect the latest verified snapshot; the product is in active daily use.

VISIT INVITOVATE → READ THE BUILD STORY

MORE MISSIONS

Case files across ML, BI, and supply-chain strategy.

VIEW ALL MISSIONS