Orbit— make demand legible before delivery starts.
A prototype for turning loosely expressed internal demand into a governed request lifecycle. Requestors get a simple conversational/front-door experience; operations gets a queue; governance gets status, provenance and handover structure.
- TypeScript
- Next.js 16
- React 19
- Upstash Redis
- Zod
- Vitest
- dependency-cruiser
- React Three Fiber
Stack
How it evolved
Reconstructed from a dense prototype commit history. Client/employer-specific branding and content are intentionally omitted; the case focuses on product and architecture decisions.
The early prototype focused heavily on interaction and repeatedly redesigned the front door. This was useful: the ambiguous part of demand intake is not the database schema, it is getting a person to express enough context without feeling like they are filing a ticket.
Multiple commits iterate on the central orb — shape, ring angle, brightness, growth and overall cleanliness. The pattern suggests an intentional attempt to make AI feel present without turning the screen into a chatbot mascot.
Once requests existed, the product had to become two-sided. The operations surface introduces triage and lifecycle state, separating the requestor's simple experience from the team's denser working view.
A repository abstraction and Upstash-backed path moved the app beyond a single-machine demo and forced clearer boundaries between domain state and presentation.
Later commits remove company-specific naming and branding. That is not just portfolio hygiene: it demonstrates that domain logic and interaction patterns can survive identity/branding replacement.
UI rationale
Architecture boundary
Honest boundary
Orbit is a strong workflow/interaction prototype, not a finished enterprise platform. Identity, access control, scheduling, handover integrations and some persistence paths were prototype-grade. The useful portfolio signal is the operating-model thinking and separation of requestor / operations / governance concerns.