Repository navigation
Vision
Prepify started as a tool built for one person — my daughter. The goal now is to grow it into a showcase-quality, multi-modal educational platform, built almost entirely through an agentic development process, and documented publicly as case study in what an AI-native side project can look like.
This page is the north star. Architecture documents how the system actually works today. Contributing documents how work gets proposed, built, and shipped. Epics and tickets with priorities, progress and details live in GitHub Issues/Projects.
Today: upload a textbook photo → OCR + multi-agent pipeline → flashcards / quiz / test.
Where we're going: a multi-modal study companion —
- Explain-me chat grounded in the concepts extracted from the user's own material.
- Visual content per concept/topic — LLM-generated images and relevant content sourced from the internet, beyond the schematic assets (formulas, molecules, diagrams) the pipeline already produces.
- Video explanations generated via an HTML → animation → video pipeline.
- Voice interaction — on top of the chat and possibly the study modes themselves.
- Per-user LLM transparency — since the product's identity is "bring your own key," every user should be able to see exactly what requests were made on their behalf: which agent, which model, tokens, and ideally cost.
Execution model: the current architecture is client-only — every LLM call goes straight from the user's browser to OpenAI, and generation only progresses while that tab is open. That's not enough for video rendering, longer voice pipelines, or reliable background generation. The resolution is to let the user choose: client-only stays the default (key never leaves the browser, but the tab must stay open), and users who want to close the tab can opt in to a server-assisted mode, where the key is passed to the backend for that job and used transiently. Trust in that opt-in path comes from the codebase being open source and auditable, not from a promise not to store the key. The shape of the decision is settled; the mechanics of the opt-in mode are still to be designed.
The project is a LinkedIn-facing showcase, so the public-facing narrative matters as much as the code:
- A real landing page explaining what it is and why it exists — not just a login screen.
- "How it works" content that's honest about the multi-agent pipeline — this is the interesting/differentiated part and should be shown, not hidden.
- Content about building it (the agentic SDLC itself) is likely worth its own narrative thread, separate from the product content.
- Not trying to become a monetized SaaS product on day one.