The product problem
A practice product needs durable problems and learner progress alongside model assistance. The hosted service and a self-hosted edition have different identity and payment needs.
Engineering & product decisions
Persist the learning structure
PostgreSQL backs the problem catalogue, curricula and progress so the experience has structure beyond individual prompts.
Define a provider boundary
The open-source edition exposes a configurable provider layer for OpenAI, Anthropic and Google.
Keep the editions distinct
The hosted app has account and payment integration. The open-source edition intentionally excludes auth and payments.
Make production routing verifiable
Deployment work includes callback origin, return-path and sign-out regression checks, preserving existing database and session boundaries.
What the evidence supports
The hosted route and public source edition are available. A reachable product and regression checks do not establish learner outcomes or traction. Provider access and keys are configured by the self-hosting user.
This case study describes Arjun Iyer’s product and engineering work through Fallible Software, Co. Model services, frameworks and upstream runtimes retain their own provenance. Evidence and status notes →
Discuss this kind of work ↗