ChooseEnterOpenEscBack

ThriftCycle

A Goodwill-native operations layer that turns donation intake into routing, tag metadata, and manager forecasting — 1st place at George Hacks 2026.

LiveTypeScript · PythonReact 19 · FastAPI · Vite · Tailwind · MongoDB Atlas

Team of two (project direction, rules/data layer, integration, deployment — with Liam Quinn on intake classification). George Hacks 2026, Track 3.

The problem

Goodwill’s POS and e-commerce systems only see items after staff have already made category, route, and pricing decisions — so staffing, storage, and disposition planning stay reactive. The wedge: capture commodity-level flow at the sort itself, where the process is already structured.

Technical approach

An operator production-station flow (seeded demo items plus live iPhone captures via a same-origin QR companion route), a Vision intake adapter with graceful fallbacks, and a backend-owned deterministic rules engine producing final route, tag color, markdown and pull dates, and barcode payloads with Goodwill category codes. A manager dashboard reads it all back as route/category breakdowns, pickup priority, revenue expectation, and landfill-diversion estimates.

Technical highlights

  • Won the track and shipped: nginx + systemd production deployment with a reproducible, provenance-documented demo dataset.
  • Backend-owned rules authority — the AI classifies, but deterministic code decides routing and pricing metadata.

Why it matters here

For SWE/product audiences: a weekend-scale build with production shape — honest scope boundaries, real deployment, real mobile capture.

danielju.com

Daniel Ju

I build and operate ML research pipelines, agent infrastructure, and the self-hosted platform behind this site.

RésuméLegal & technical · PDF

Los Angeles, CA · open to relocation

The full site is a 3D menu built for a desktop window, with a keyboard and a pointer. Open danielju.com on a laptop or desktop to walk it.