Projects

A selection of things I built after hours. Most of them solve a problem only I had.

Image 1 of 4: Three CardMaxxer screens side by side: expiring credits, the card wallet, and the admin list

CardMaxxer

Credit card benefits, tracked before they expire

A tracker for credit-card benefits so a perk or reset never expires unused (sadly CreditKarma already launched this while I was building but it doesn't work as good as mine)

Next.jsPrismaSQLiteClaude APIPlaywright
Image 1 of 6: Dashboard

AmIBroke

A year of filling in Excel by hand, then I automated it

A personal finance dashboard that shows exactly what I want to see, nothing else. Accounts, credit cards, investments, debt, and crypto sync daily to my own hardware, so Credit Karma and Rocket Money never touch the data.

Next.jsPostgreSQLSimpleFinPersonal financeSelf-hosted
Image 1 of 3: Dashboard

Totes SalesRep CRM

Manual workflows turned into a tool that just works, nothing fancy

A single-user sales rep CRM for IBC totes: customers, orders, leads, invoices, scheduling, and nudges on who to call next with one-tap contacts

FastAPINext.jsDrizzleSupabasePostgreSQL

swarnimbagre.com

I needed a place to show-off my projects

This site! Projects, writing, and hobby stats editable through its own admin panel and using an OpenClaw agent

Next.jsTypeScriptSupabaseTailwindPlaywrightSelf-built CMS
Image 1 of 3: Eight named roles arranged around a single Claude Code hub

Claude Code Magic

The framework that built everything else on this page

The framework that built everything else on this page: based on .md files that make Claude Code think before it builds using phases, reviews, and a fake org chart

Claude CodeAgentsProcessMarkdown
Image 1 of 5: Four ParSaveables screens: leaderboard, rounds, podcast and PULPs

ParSaveables

Disc golf league scoring for house rules that extend beyond UDisc

Disc golf tracking for custom points or house rules: email UDisc scorecard -> AI reads and scores it -> creates a monthly podcast -> settles loyalty PULP economy because why not

React ViteSupabaseClaude VisionElevenLabs