Projects

What I've built

The products and free tools on this site, earlier side projects, and automation builds across quote-to-cash and beyond. I designed and built every one of them solo. Each links to something you can try or read.

Want to try them? Use the free tools →

Products and side projects

Commit stats from GitHub, updated Oct 2026.

ProductLive

RevExOS: this site

A quote-to-cash learning hub with 50+ guides, about 20 free tools and a lead pipeline, built and run by one person. Started as a SaaS landing page in Oct 2025 and rebuilt twice since.

  • •One lead pipeline for every form: Supabase as the record, Loops for email, Slack for alerts
  • •Bot defence on public AI tools: Cloudflare Turnstile, rate limits, email verification codes
  • •Google-only admin login with server-side checks; CSP rollout
  • •Weekly scheduled checks of AI and SaaS pricing with a human review queue
Next.jsTypeScriptTinaCMSSupabaseLoopsSlackVercelOpenAI APIClaude Code
414 commits · Oct 2025 to Oct 2026
TypeScript 72% · MDX 26% · JavaScript 2% · CSS 1%
2025-10: 18 commits2025-11: 9 commits2025-12: 71 commits2026-01: 16 commits2026-02: 7 commits2026-03: 73 commits2026-04: 4 commits2026-05: 4 commits2026-06: 11 commits2026-07: 9 commits2026-08: 22 commits2026-09: 135 commits2026-10: 35 commits

Private repo, walkthrough on request

ProductLive

Invoice Parser: web app, Chrome extension, Claude skill and MCP

Extracts invoice header fields and every line item from PDFs and images, checks that the totals add up, and exports CSV, Excel, JSON, QuickBooks or Xero formats. One extraction engine behind four ways in: the web app, a Chrome side panel, an open-source Claude skill, and a tool on the RevExOS MCP server.

  • •Web app: upload, review and fix every field before export, batch several invoices into one file
  • •Chrome extension (MV3): right-click a PDF link, image or emailed invoice and parse it in a side panel, published on the Chrome Web Store
  • •Claude skill: open-source plugin for Claude Code, claude.ai and Cowork; a standard-library Python script sends local files to the same API and returns JSON or CSV
  • •MCP tool: parse_invoice on revexos.com/api/mcp fetches a public file link behind SSRF guards, with per-email and channel-wide limits since claude.ai calls share IPs
  • •GPT-4o extraction chosen with a published model benchmark; usage tagged by client (web, extension, skill, MCP)
OpenAI APINext.jsChrome Extensions (MV3)Model Context ProtocolClaude skillsPythonSupabase
3 commits · Oct 2026
Python 100%
2026-10: 3 commits
View code on GitHub
Open sourceLive

RevExOS Q2C Kit: quote-to-cash skills and MCP tools for Claude

A Claude plugin that packages quote-to-cash know-how as skills, slash commands and tools: quotes, contract handoff, PO to invoice, three-way match, billing and proration, payment terms and late fees, collections and revenue recognition, and billing platform selection. It installs the RevExOS MCP server, whose calculators share their code with the calculators on this site.

  • •9 skills and 5 slash commands in one flat plugin; installs from GitHub in Claude, Claude Code and Codex
  • •8 MCP tools on revexos.com/api/mcp: invoice and PO extraction, PO vs invoice matching, collection emails, proration, revenue recognition schedules, late interest and due dates
  • •Calculator logic extracted from the web pages into shared modules, so the site and Claude return identical numbers
  • •Composes the official Xero, QuickBooks, Stripe, PayPal and HubSpot MCP servers instead of holding customer credentials
Claude Code pluginsClaude skillsModel Context ProtocolNext.jsTypeScriptOpenAI API
1 commits · Oct 2026
Python 87% · Shell 13%
2026-10: 1 commits
View code on GitHub
Client buildDelivered

Medical Documents AI OCR

An AI system that parses medical report PDFs of around 100 pages (tested up to 250), stores the extracted content in a database, vectorizes it, and lets users chat with each case file. Each document also produces a filled-in template report, and every answer cites its source for audit.

MedDoc Intelligence home page: AI-powered OCR, human verification and role-based accessDocument portal listing cases with status, original PDF, OCR report, template report and chat (patient details redacted)Original 257-page medical record PDF next to the summary and chat panel (patient details redacted)OCR extracted text report with per-page confidence scores (patient details redacted)Template report answering predefined questions, with each diagnosis citing its source page (patient details redacted)
  • •Self-hosted DeepSeek OCR model, so patient documents never go to a third-party OCR API
  • •Extracted text stored in Supabase and embedded into a Supabase vector store for retrieval
  • •Template reports: each template is a set of predefined questions, answered from the extracted content and exported as a PDF
  • •Chat answers and template answers cite the document name, page and section they came from, for audit
  • •Patient data anonymized before indexing, encrypted at rest and in transit, with role-based access for case handlers, doctors and admins
  • •Document portal: cases assigned to a case handler and doctor, processing status, original PDF, OCR report and template report per case
DeepSeek OCR (self-hosted)SupabasepgvectorRAGNext.jsClaude Code
ProductLive

Jev Playground

A public playground for typed AI decisions on quote-to-cash text: discount approvals, PO vs invoice checks, dispute replies, ASC 606 changes.

  • •Input guardrails and per-visitor limits on a paid model API
  • •Email-verified "more runs" flow that captures the use case
Jev APINext.jsSupabaseTurnstile
ProductLive

AI & SaaS Pricing Tracker

Prices and plans for AI and billing tools, checked every week, with a public change log.

  • •Scheduled LLM extraction of pricing pages, with a held-for-review queue when a change looks wrong
  • •Price history backfilled from the Wayback Machine
  • •Weekly digest to Slack
Vercel CronOpenAI APISupabaseSlack
Side projectArchived

RevenueTracker and Spend

A revenue and expense tracker for consultants and agencies: clients, pricing rules, multi-currency, renewals and email alerts. Spend added a Telegram bot that reads receipts from photos.

  • •Postgres with row-level security and SQL functions
  • •Subscription billing, email alerts and error monitoring
  • •Telegram bot with AI receipt extraction
Next.jsSupabasePostgreSQLDodo PaymentsResendSentryTelegram
286 commits · Oct 2025 to Oct 2026
TypeScript 83% · PLpgSQL 13% · JavaScript 2% · HTML 1%
2025-10: 178 commits2025-11: 98 commits2025-12: 7 commits2026-01: 0 commits2026-02: 2 commits2026-03: 0 commits2026-04: 0 commits2026-05: 0 commits2026-06: 0 commits2026-07: 0 commits2026-08: 0 commits2026-09: 0 commits2026-10: 1 commits

Private repo, walkthrough on request

Side projectArchived

ScopeToQuote

Turn a client scope (PDF, Word, email) into a priced estimate from past jobs. The estimating workflow now lives in the free Quote Generator.

  • •Scope documents mapped to estimate line items
  • •Folded into a free tool when the standalone product was retired
Next.jsTypeScriptTailwind
30 commits · Mar 2026 to Oct 2026
TypeScript 99% · CSS 1%
2026-03: 29 commits2026-04: 0 commits2026-05: 0 commits2026-06: 0 commits2026-07: 0 commits2026-08: 0 commits2026-09: 0 commits2026-10: 1 commits
View code on GitHub

Automation builds

Workflows built with n8n, AI agents and APIs: invoice and PO parsing, payment reconciliation, AR systems, and broader sales and marketing automation, each built solo. Each has the before, after, stack and result.

AI Agents That Parse Invoices and Purchase Orders from Gmail
Invoice Parsing

AI Agents That Parse Invoices and Purchase Orders from Gmail

AI agents fetch PDFs and images straight from Gmail and Drive, extract every field with OCR + LLM parsing, and write clean structured data to Sheets - without anyone touching an inbox.

GmailGoogle DriveOpenAI API
Automated Invoice Generation Across QuickBooks, Xero, and Thinkific
Invoice Automation

Automated Invoice Generation Across QuickBooks, Xero, and Thinkific

Orders and estimates turn into invoices automatically - no one manually finds a price, retypes a line item, or opens QuickBooks to create a bill.

QuickBooks OnlineXeroThinkific
Payment Reconciliation Across Stripe, PayPal, and Zoho
Payment Ops

Payment Reconciliation Across Stripe, PayPal, and Zoho

Webhooks catch every payment the moment it lands and match it back to the right invoice - no one logs into Stripe or PayPal to check what's been paid.

StripePayPalZoho Books
Invoice Correction and Dispute Management with AI Agents
Dispute Management

Invoice Correction and Dispute Management with AI Agents

When a bill is wrong - overbilled, underbilled, or disputed - an AI agent reads the time entries, compares them to the invoice, and fixes it in Xero automatically, with a Slack alert either way.

XeroClockifyOpenAI (GPT)
End-to-End AR Automation on Zoho + n8n
AR Automation

End-to-End AR Automation on Zoho + n8n

From invoice creation through multi-stage approval, payment batching, and proof-of-payment delivery - a full accounts receivable system running without a single manual touch.

Zoho Booksn8nMicrosoft Excel
Shopify and eCommerce Order Fulfillment Workflows
Order Fulfillment

Shopify and eCommerce Order Fulfillment Workflows

New Shopify orders create fulfillment tasks automatically, new products sync from a spreadsheet into the store, and status updates notify the team and customer the moment work is done.

ShopifyTrelloClickUp
RevExOS
AI Infrastructure

AI Knowledge Base Pipeline: Embedding Financial Data into Pinecone

A scheduled n8n pipeline pulls source data, chunks and embeds it with OpenAI, and keeps a Pinecone vector index current - the retrieval layer behind an AI agent that can actually answer questions on real data.

n8nGoogle SheetsFirecrawl