Projects
Everything with a live link is here. Work that isn’t deployed yet gets one honest line and a status, not a page pretending to be finished.
Fig. 01
Client work
Production site for a brokerage with two Long Island offices. Residential, rental and commercial listings share one typed pipeline built on discriminated unions, so invalid state combinations fail to compile rather than reaching the page.
- Role
- Design & build
- Stack
- Next.js, TypeScript (strict), Tailwind v4, Vercel
john-savoretti-realty.vercel.app ↗ (opens in a new tab)A tent rental business on Long Island. The first site I designed, built, shipped and sold end to end — scoped, delivered and handed over on its own domain.
- Role
- Design, build & delivery
- Stack
- Next.js, TypeScript (strict), Tailwind v4, Vercel
abovealltents.com ↗ (opens in a new tab)An independent barber in Smithtown whose entire funnel runs through Instagram. Mobile-first, where load speed and the path to a booking are the whole game.
- Role
- Design & build
- Stack
- Next.js, TypeScript (strict), Tailwind v4, Vercel
gckuts-site.vercel.app ↗ (opens in a new tab)Fig. 02
The lab
These interlock. The archiver feeds the tutor; Inkline’s output is built to feed it too. I design schemas with their downstream consumers in mind.
An experiment in presenting reporting without editorial slant. It runs on sample articles today; the unsolved part is defining “unbiased” precisely enough to measure it.
- Role
- Self-directed
- Stack
- Next.js, TypeScript (strict), Claude API
the-ledger-ashen.vercel.app ↗ (opens in a new tab)In progress — no deployment yet
Canvas Course Archiver
BuildingIngestion pipeline that archives Cornell Canvas courses into a clean, queryable manifest — the foundation layer for a course tutor.
ECE Course Tutor
DesignRetrieval-augmented tutor over archived course material, with citations back to source. Consumes the archiver’s schema.
PDF Reader
BuildingReads a PDF aloud with the current sentence highlighted. Continuous audio kept in sync with the text is the hard part — and it’s an architecture problem, not an AI problem.
Inkline
BuildingHandwriting-to-text pipeline with a CER/WER eval harness standing as the release gate.
AI legal triage
BuildingJurisdiction-aware legal information tool. Escalation-recall evals are the release blocker.