01 · Company · paid work · Dec 2025 – now

Provena

A company run by AI agents. They find the buyers, check the data, write to them, answer the replies and book the meetings for B2B companies. I build the agents and hold the decisions.

2,234 of my commits in this codebase[20] Sourcescripts/export-commits.mjsAs of2026-09-26StatusVerifiedAll sources →provena-ai.com ↗
Work flows through the system from the warehouse to the invoice.

The decision

Build the machine under the service

Most agencies sell hours. I wanted every client to make the next one cheaper to serve, so I built the CRM the work runs on: lead data, verification, campaigns, replies, contracts and invoices in one place. The service pays for the software, and the software is what lets a small team deliver like a large one.

What I built

  • The Provena CRM: React front end, Postgres on Supabase, and the edge functions behind it. I wrote the code; the commit history is mine.[23] Sourcegh pr list --state merged provena-aiAs of2026-09-26StatusVerifiedAll sources →
  • 212 edge functions and 485 database migrations, shipped through 339 merged pull requests.[24] Sourcels supabase/functionsAs of2026-09-26StatusVerifiedAll sources →
  • The offer, the pricing engine and the sales process: pre-call pages, proposal decks built from call transcripts, contracts and invoicing inside the CRM.
  • After my co-founder exited, the operating model: one person, with an AI agent on every repeatable job and a human gate on every irreversible one.[61] SourceDaniel, 2026-09-26StatusSelf-reported. Evidence is being attached.All sources →

What was hard

Building the product while the product is the business

Clients were paying for results the week the software was still being written. Every system had to work in production first and get elegant later, and nothing could break a live campaign.

Losing a co-founder mid-flight

My co-founder exited while clients were live. I had a choice between hiring to replace the role and rebuilding the company so it didn't need the role. I rebuilt it. The work that used to need a second person now runs as agents I supervise.[61] SourceDaniel, 2026-09-26StatusSelf-reported. Evidence is being attached.All sources →

Selling to US companies from outside the US

I had no network, no references and no brand. The first clients came from cold outbound, which meant the product we sell was also the only way we could get customers.

What I learned

  • A merged pull request is not a deployed one. I now verify the live route, not the pipeline's exit code.
  • Sell the smallest thing you can prove, then prove it in writing. Our client results only ever come from an approved list.
  • Write the rule down the day you learn it. The repo carries an engineering ledger so no session relearns the same lesson.

Results

  • 14 paying clients in 2026.[55] Sourcedistinct Client on Revenue rows, transactions.csvStatusVerifiedAll sources →
  • 2,834 commits across 170 active days since the first commit.[20] Sourcescripts/export-commits.mjsAs of2026-09-26StatusVerifiedAll sources →
  • SellMyRide: 38 meetings in 44 days, $1.4M pipeline
  • Ribit: 18 qualified leads in 14 days
  • VettX: 32 qualified leads in 15 days
  • AI Automotive Summit: 25 booked calls and $50,000 by day 30
  • AI Automotive Summit: 284 automotive leaders replied interested
  • Optimo: $67,500 contracted in 12 days
  • Oakmore: 4 interested leads in 7 days

Client results as approved by each client.