Selected work

AI products, growth systems and technical prototypes.

I build practical software where the product question and the technical execution have to move together: AI workflow products, LLM-powered tools, founder prototypes, analytics systems and web3 payment experiments.

AI workflow productLive Chrome extension

LLMnesia

Problem

Useful thinking was getting lost. Decisions, drafts and answers from AI conversations across 15 platforms, including ChatGPT, Claude, Gemini, DeepSeek and Grok, were effectively unrecoverable, and most tools meant handing conversation history to a cloud service.

Role

Founder, product builder

Outcome

2,280+ organic installs with no paid acquisition. The MCP server, Vault (paid cloud sync with paying customers) and a live PWA are all shipped.

Key decisions

  • Treated privacy as the product: all data stays on device, which shaped the entire local retrieval architecture rather than being a settings toggle.
  • Shipped an MCP server so the same local index is usable from coding agents and LLM tools, not only the extension UI.
  • Monetised with Vault, a paid end-to-end encrypted cloud sync tier, rather than ads or data monetisation.
  • Built LLMnesia Insights, a supporting agentic analytics pipeline: PostHog, GA4 and Search Console evidence is collected into Supabase, then a coding agent reasons over the evidence to publish structured weekly product reports.
  • Closed the loop on distribution with an SEO and LLM-discovery site (MDX content, sitemap, feed, llms.txt) to drive organic installs.

What I learned

Local-first is both an architecture and an acquisition story: with no acquisition budget, the privacy guarantee has to do the persuading.

Chrome ExtensionMCP serverNext.jsLocal-first searchGA4PostHog
AI education platformLive · 12,000+ users

SchoolAI

Problem

Teachers and school administrators needed practical writing support built around real school workflows, not a general-purpose chat interface bolted onto a syllabus.

Role

Founder, product builder

Outcome

Reached 12,000+ users with zero paid acquisition and sustained it without an acquisition budget.

Key decisions

  • Built around the writing workflows teachers and admins repeat, rather than a general-purpose chat interface.
  • Scaled through SEO, organic content and directory listings instead of advertising spend, so every improvement had to earn real usage.

What I learned

AI products need workflow fit, not just model access.

AI productEducation workflowsSEO and organic contentUser feedback
Consumer AI productLive AI product

LunaCradle

Problem

Parents get generic, conflicting baby sleep advice, and a one-off generated plan goes stale as the baby changes. Raw LLM output is not reliable or readable enough to act on.

Role

Product builder

Outcome

Working MVP covering the full loop: intake questionnaire, AI-generated plan, daily sleep diary, weekly AI reviews, living plan updates, PDF export and paid access.

Key decisions

  • Grounded generated plans in an AI-structured knowledge base of 73,000 words, organised by baby age, sleep problem and training method, with a loader that selects only the relevant knowledge for each intake.
  • Designed the plan as a living document: parents log a daily sleep diary, a weekly AI review runs against it, and the plan updates instead of going stale.
  • Designed the prompt and output structure around practical, parent-readable plans, not raw model output.
  • Kept the stack conventional: Next.js, Supabase and Stripe over the Gemini API, so build time went into product rather than plumbing.

What I learned

Structured knowledge is what turns LLM generation from a demo into a product a parent can act on.

Next.jsSupabaseStripeGemini APIResendPDF generationVercel
Agent payments prototypePrototype and demo system

Flow402

Problem

Agent-to-agent payments had no established product shape. The open question was how an API call between machines could carry its own payment without breaking the call, and what a developer would trust enough to integrate.

Role

Product builder

Outcome

A working end-to-end demo: a non-upgradeable USDC treasury contract deployed on Base Sepolia, a credits gateway and dashboard on Vercel, and a vendor demo service on DigitalOcean, all wired into a scripted 402, top-up and retry flow.

Key decisions

  • Designed the flow so agents pay in credits while USDC settles on-chain: a 402 response triggers a top-up and a retry, so payment never breaks the API call.
  • Wrote and deployed the on-chain treasury escrow: USDC deposits via EIP-2612 permit and Permit2, per-user spending limits enforced in the contract, gateway-only batch settlement, re-entrancy guards and Foundry test coverage.
  • Built the off-chain side end to end: a Next.js gateway and credits dashboard with HMAC-signed vendor requests, and an Express vendor demo that renders the full request chain with inline trace logs.
  • Tested the product story first with a static marketing site and private beta interest capture before building deeper.

What I learned

Most of the difficulty in payments is the unhappy paths: spending limits, retries and settlement failure, not moving the money.

SolidityFoundryNext.jsExpressSupabasex402BaseUSDCHMAC
Chrome extension prototypePrototype

Know Who's Talking

Problem

News readers rarely see who owns the outlet they are reading, how its owners donate politically, or other context that shapes coverage.

Role

Product builder

Outcome

Prototype stage, not launched. Early exploration of how much hidden outlet context can be surfaced at read time.

Key decisions

  • Scoped it as a prototype: validate that outlet ownership and donation data can be surfaced reliably before investing in a launch.
  • Surfaces context where the article already is, rather than sending readers to a separate lookup.
Chrome Extension
Founder coachingOngoing

Project Redback

Problem

A founder wanted regular outside perspective to pressure-test product and AI decisions and keep build priorities clear.

Role

Founder coach

Outcome

Ongoing founder coaching covering strategy, prioritisation and execution.

Key decisions

  • Regular sessions centred on priorities, decisions and follow-through rather than deliverables.
  • Clarified where AI should sit in the product rather than bolting it on as a feature.
CoachingProduct strategyAI integration

Public GitHub builds

Supporting technical projects.

A few smaller public repos that show the same direction of travel: practical AI interfaces, web3 contract work, payment primitives and full-stack product experiments.