Skip to content

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)

GC Kuts

Shipped

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.

In progress — no deployment yet

  • Canvas Course Archiver

    Building

    Ingestion pipeline that archives Cornell Canvas courses into a clean, queryable manifest — the foundation layer for a course tutor.

  • ECE Course Tutor

    Design

    Retrieval-augmented tutor over archived course material, with citations back to source. Consumes the archiver’s schema.

  • PDF Reader

    Building

    Reads 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

    Building

    Handwriting-to-text pipeline with a CER/WER eval harness standing as the release gate.

  • AI legal triage

    Building

    Jurisdiction-aware legal information tool. Escalation-recall evals are the release blocker.