01 / AI meets everyday lifePrivate app

Less typing.
More showing up.

A flyer becomes a calendar event. AI handles the first draft; you review the details before anything is published.

The campus creative series

Ideas
after hours.

Design. Build. Make something.

OCT 23Friday, 2026
6–8 PM · Ann Arbor
Innovation Studio
Image → structured details

Plans, minus
the busywork.

Start with this sample flyer.
See what’s ready for review.

Fixed sample · No upload or calendar connection.

Flyer to Calendar with a fictional sample event
Actual interface · Sample data
How I built it

React / TypeScript / Supabase / Gemini / Google Calendar

The hard part is the handoff from uncertain extraction to a real calendar write. Drafts stay reviewable, extraction warnings are surfaced, and publishing is gated on approval. The iPhone Shortcut uses the same workflow.

02 / Small tool, everyday utilityPublic on GitHub

The right hint.
Right where you type.

Inline argument hints for Zsh scripts, drawn from their usage comments. Less context switching between your terminal and documentation.

Ghost Args showing inline argument hints while typing script commands in Zsh
Ghost Args · Actual terminal demo
How I built it

Zsh / Usage comments / Inline argument hints

The script’s own usage comment provides the hints. The tool brings that information into the command line, where it’s useful, rather than asking you to maintain a second set of documentation. The demo shows the tool running in a real Zsh terminal.

03 / A quieter kind of softwareLive app

A little space
to focus.

A visual focus timer with adjustable duration, pause, reset, and an audible finish. Simple controls, a small moment of calm.

Runs here. No account needed.

Orbits focus timer
Actual interface · Sample data

The actual Orbits app · Sound only plays when a timer finishes.

How I built it

JavaScript / CSS / Web Audio

Timer state drives the controls, visual progress, and completion feedback. Motion can be switched off, and the interface respects reduced-motion preferences. This embedded version uses the same app as the full experience.

04 / Connecting the piecesPrivate app

Your day.
In one place.

Canvas assignments, course schedules, Apple Calendar, and Reminders in a private workspace. Built around how I actually plan my day.

Academic dashboard with sample assignments and calendar data
Actual interface · Sample data
How I built it

React / TypeScript / Supabase / macOS agent / Canvas bridge

Different sources have different boundaries. Canvas refreshes through the authenticated browser; a paired Mac contributes Calendar and Reminders. The sync preserves that separation while presenting the results together. Captures use sample academic data.

05 / Research at NJITPublication

From an idea
to a photonic circuit.

Research I contributed to at NJIT’s ACAD Lab: generating, simulating, and optimizing silicon photonic devices with PICasso.

Photonic circuit layouts from Figure 3 of the PICasso paper
Device layouts · Figure 3 from the paper
How I built it

Silicon photonics / Simulation / Optimization

PICasso connects generation, placement, routing, simulation, and optimization in a design loop. My research at the ACAD Lab involved generating, simulating, and optimizing photonic circuits. The figures shown here come from the published paper.

06 / Making evidence visiblePreview

Follow the evidence.
See the uncertainty.

Public-market research with cited evidence and forecast ranges. Built to make the reasoning behind a research view easier to inspect.

Deployed Signal Ledger preview with illustrative values
Actual interface · Sample data

Illustrative preview · The research backend is currently offline.

How I built it

Python / React / TypeScript / Research pipelines

The interface brings cited evidence and scenario ranges into the same research view. Keeping source material and uncertainty visible is part of the product’s design. The deployed preview uses illustrative values; it does not represent live research output.

Made with curiosity. Refined through use.Let’s talk engineering

There’s more on the workbench

Other things I’ve built.

RankIt

A social app for sharing and comparing rankings.

Canvas MCP

Read-only Canvas access for assistants through an authenticated browser session.

Private repositoryView source

HyperShell

A command-line experiment that suggests corrections for mistyped commands.

Private repositoryView source

Workers AI streaming lab

An edge chat app with streamed responses and client-side history.

Public repositoryView source

Living Memory Agent

Reuses validated answers and invalidates them when the source documents change.

Private repositoryView source

BrewIQ / finjanAI

An earlier café analytics experiment covering sales, traffic, and drink popularity.

Private repositoryView source

WhatsApp reminder agent

Natural-language reminders, saved tasks, and a scheduled morning digest.

Private repositoryView source

Michigan Webring

A directory connecting personal websites by Michigan students.

Public repositoryView source

Pico experiments

Raspberry Pi Pico experiments using MicroPython and Wokwi simulation.

Private repositoryView source

Plan My Move

An early CrewAI experiment coordinating agents, tasks, and web search.

Public repositoryView source

Drone delivery

An in-progress exploration of delivery routing and pathfinding.

Cruise planner

A C++ command-line simulation of capacity, ticket prices, and a seven-day itinerary.

Private repository links open for collaborators with access. The Cruise planner has local project notes because no hosted repository was found.