Projects
Things I shipped
Products, client work, and public tools. Links go to a live site or the GitHub repo when I have one.
Should I Use It
2026A fit check for software. You paste a product URL. The site reads public sources and returns buy, do not buy, or depends — with reasons, gotchas, and what to use instead. No account. No billing.
Next.js · Nest.js · TypeORM · PostgreSQL · Redis · BullMQ · GLM 5.3 Flash · Concentrate.ai · OpenRouter · Brave Search · Docker · Nginx · Hetzner
Request Forms
2026A form builder. You write the questions in plain language. An agent builds a form you can publish or embed.
Next.js · Nest.js · Prisma · PostgreSQL · PGVector · Qwen3 Embedding · GLM 5.3 Flash · Concentrate.ai · MCP · Stripe · Docker · Nginx · Hetzner
Atribusi
2024A website analytics product. Time-series data, charts, billing — the whole SaaS stack on Google Cloud.
Next.js · Nest.js · Prisma · PostgreSQL · TimescaleDB · MCP · Stripe · Docker · GCP
JobResumeGPT
2024A tool that rewrites a resume for one job description. Gemini, Postgres, and a small paid API.
Next.js · Nest.js · TypeORM · PostgreSQL · Gemini · Stripe · Docker · GCP · Chrome extension
A static Next.js site that computes inheritance shares for each valid family case.
Next.js · React · TypeScript · Tailwind CSS · Netlify
AnyChart maps
2026Fixed an AnyChart maps crash: after zoom, a container resize corrupted an internal state field and threw a TypeError. Upstream PR #243, Aug 2026.
JavaScript · AnyChart
DrinkAG1.com
2024Contract work on the Athletic Greens site. Sanity, Shopify, Next.js, and checkout fixes.
Next.js · Nest.js · Sanity · Shopify · Supabase
Truthify
2024A Chrome extension that strips spin from a news article and keeps the facts.
Chrome extension · TypeScript · React · Gemini Nano
Straightfax
2024A searchable set of facts with sources. PGVector, Gecko embeddings, and Gemini.
Next.js · Nest.js · TypeORM · PostgreSQL · PGVector · Gecko · Gemini · Docker · GCP

AutoPageIndexer
2023A Next.js app that submits sitemap URLs to Google's Indexing API. You paste a Cloud service-account JSON, sync Search Console sites, and it indexes up to 200 pages a day.
Next.js · Nest.js · Prisma · PostgreSQL · Indexing API · Search Console · Stripe · Docker · GCP

Launching Buddy
2023A Chrome extension that DMs your Product Hunt followers on Twitter when you launch. It's free, open source, and makes no HTTP requests.
Chrome extension · TypeScript · React
Consulting on Tried & True Recipes, a WordPress recipe site, in 2022. I told Google Search Console to ignore a bad sitemap.html URL and a missing sitemap.xml. I verified three pages that had returned 500 errors and asked Google to recrawl them.
WordPress · Search Console
Exploring Vegan
2022Consulting on Exploring Vegan, a WordPress site for vegan recipes and plant-based product reviews, in 2022. I changed the Google search snippet so the title is Vegan Recipes and Plant-Based Reviews instead of Home, with Recipes and Reviews sitelinks stacked under it. I checked a redirect in Search Console and asked Google to recrawl.
WordPress · Search Console
I added orderingKey to the Apache Pulsar Node client. If you pass a string orderingKey on a message, Message.cc sets it with pulsar_message_set_ordering_key.
C++ · N-API · Apache Pulsar
Compress Buddy
2021A free Next.js tool that bulk-compresses images in the browser. Files never leave your computer. It downloads the results in a zip.
Next.js · TypeScript · Tailwind CSS

A free Google Workspace add-on. It fills a Google Doc template from Sheet rows and writes Docs or PDFs to Drive.
Google Apps Script · TypeScript · React · Docs · Sheets · Drive

Go Mail Merge
2020A Google Workspace add-on for Gmail. You send personalized campaigns from Sheets, schedule follow-ups, attach Drive files, and track opens in the sheet.
Google Apps Script · TypeScript · React · Gmail · Sheets · Drive