services

Each of these started as a personal itch — a spreadsheet that got too messy, a group chat full of Venmo requests, a job search with no single source of truth. I built them to solve my own problems, then kept them running.

stock

sign in

I kept copy-pasting brokerage statements into a spreadsheet to see my allocation. I wanted a live dashboard with real charts and transaction history.

portfolioallocation charttransaction historywatchlist
open service →

allocation

AAPL
$4,820.0040.8%
NVDA
$3,240.0027.4%
MSFT
$2,190.0018.5%
GOOG
$1,560.0013.2%

demo data

split

sign in

After every group trip came the awkward Venmo math. I wanted a simple way to log shared expenses and auto-calculate who owes what.

shared expensesauto-settlementper-person breakdown
open service →

balance

-$168.50
bbob
-$113.00
ccarol
-$105.00
ddavid
aalice
+$386.50

settlement

demo data

jobs

sign in

During my job search I was juggling applications across a dozen platforms with no overview. A kanban and analytics view finally gave me clarity.

kanban viewanalyticsapplication tracking
open service →
Acme CorpSoftware Engineer
Applied
ByteCoFrontend Intern
Interview
SkyTechSWE New Grad
OA
GridLabsFull Stack Engineer
Offer

4 applications · 1 offer

demo data

postcard

I wanted to send a personal, well-designed postcard to a friend digitally. So I built a template editor with photo crop and a print-ready back.

custom templatesphoto cropprint-ready
open service →

Greetings from Hugo

Greetings from Hugo

Message:

Sending warm thoughts your way.

Hope life is treating you well.

From: 1chooo.com

STAMP
To:

A Friend

Address:

123 Main Street

New York, NY 10001

image from my photo collection

notes

sign in

My study notes were scattered across apps. I wanted a private markdown editor with KaTeX support that I actually control.

markdownkatexprivate
open service →
1# Recursion
2
3The **base case** must reduce the problem size.
4Classic example — Fibonacci:
5
6$$F(n) = F(n-1) + F(n-2)$$
7
8> Tail-call optimisation collapses
9> the call stack to O(1) space.
10
11- memoisation
12- dynamic programming

private to you

npm

Before adopting a package I always want to know if it is actively maintained. This surfaces download trends in seconds.

public statstrend chart
open service →
packagenext

demo data · weekly downloads

public data

collage

Postcards are better with personal photos and stickers. I built a canvas editor so I could compose images into shareable collages.

canvas editorstickersphoto compositing
open service →
photo
photo
🌸✈️🗺️📷🌿canvas editor

canvas editor

big money

sign in

Every coupon I used saved real money I could have invested instead. I wanted a dead-simple mobile tracker to record those savings, catch unexpected splurges, and see exactly how much I can deploy.

savings trackeroverspend loginvestable balance
open service →
to invest$0.00
20% off Blue Bottlesaved
+$14.50
latte I didn't planoverspent
-$6.75
coupon at Whole Foodssaved
+$22.00
added to index fundinvested
+$36.50

4 entries · $36.50 saved

mobile-first