bharcode — terminal
$

Products I've built.

Not just what I built — how and why. Each case study covers the real decisions, the architecture, and what I'd do differently.

2 case studies
Case Study #01 Live

Knot

Group expense splitting for trips and households — no spreadsheets, no drama.

Next.js 15TypeScriptSupabaseVercelTailwind

Every friend group manages shared expenses badly. WhatsApp threads of "you owe me", screenshots of receipts, spreadsheets nobody maintains. Existing apps (Splitwise, etc.) are either too heavy, paywalled, or don't handle recurring household chores alongside trip expenses.

I designed Knot around two contexts: trips (one-time group expenses) and households (recurring chores + shared bills). A single account handles both, with swipeable dashboard tabs to switch. Auth uses Supabase — email/password plus Google OAuth, no magic-link rate limits.

The Telegram bot companion (@NawtBot) was added to solve the "I'm already in WhatsApp" problem — users add expenses without ever opening a browser.

Auth

Switched from magic links to email+password after hitting Supabase's 2 emails/hour free-tier cap. Less friction, zero rate limits, same security.

NLP expenses

Integrated Google Gemini API to parse natural language expense descriptions. Type "pizza £12 split 3 ways" instead of filling a form.

Deployment

Vercel for zero-config deploys. Custom domain (knot.bharcode.com) via Cloudflare DNS with a single A-record. Total infra cost: free tier.

OAuth redirect flows are non-trivial — a PKCE code exchange needs a dedicated callback route, not just a redirect to the home page. Also: the bot and the web app share the same Supabase database, which means I effectively built two clients on one backend. Next time I'd formalize the shared schema earlier.

Knot. Live
Your position
+$42.50
across 2 groups
🧹 Vacuum Your turn
🛒 Groceries Done ✓
🍕 Split dinner $24.00
Upcoming trip
🏖 Bali · 4 people
Budget: $800 · Raised: $320
🤖 @NawtBot
Add expense for last night?
pizza 48 split 4
✓ Added $12 each
2
Core modules
3
Auth methods
AI
Expense parsing
$0
Infra cost
Case Study #02 — In Progress Building

Sliqe

A two-sided marketplace to eliminate urban food waste through dynamic pricing.

Product StrategyUI/UXTwo-Sided MarketplaceDynamic PricingFigma

F&B vendors in Singapore waste thousands of dollars of unsold inventory every closing time. Existing food-rescue apps have poor vendor adoption due to high friction — uploading items takes too long, and the consumer UI doesn't drive urgency.

Sliqe solves vendor friction with a streamlined 30-second inventory portal. On the consumer side, a time-decay algorithm systematically drops prices as closing time approaches, driving impulse conversions via location-based push notifications.

Product strategy defined, UI mockups in Figma. Engineering begins after Knot stabilises. Building the vendor onboarding flow first — if vendors won't use it, the consumer side doesn't matter.

Case study coming soon
Sliqe concept
Chicken Rice
Closing in 45 min
$5.50
$2.20
Prawn Noodles
Closing in 20 min
$7.00
$1.40
↓ Price drops every 10 min
🔧

Next project is taking shape.

Follow the newsletter for early access and build-along posts.

Subscribe to the build log →

BharCode Studio

Paste your GitHub Personal Access Token to unlock editing. It never leaves your browser.

🔒 Tip: scope the token to this repo only with contents: read/write.

General

Site name, footer, homepage cards and the headline stats.

💡Everything you type here is saved as a local draft automatically. Hit Publish when you're ready to push it live.
Site Name
Footer Tagline
Footer Year

Home — Featured Card 1 (Blog)
Home — Featured Card 2 (Apps)

Headline Stats
Featured App on Homepage
This is your storefront. The italic part of the headline gets the accent colour.
Eyebrow text
Headline
Headline — italic part
Sub-headline
Primary button
Secondary button
✍️Posts with no body content stay hidden from the public site — perfect for drafts.
Featured Project (top of Apps page)

Project Cards
Headline (use \n for a line break)
Paragraph 1
Paragraph 2
Paragraph 3
Paragraph 4
Stack tags (comma-separated)
CTA 1 text
CTA 2 text

Running Cost Items

Roadmap Milestones
All changes saved