← All work
ENTERPRISE EXAM-PREP · AI

Qihaoxue · Enterprise Exam-Prep Assistant

Role
Solo, design to launch
Status
TestFlight beta · real employees using it · seeking first enterprise client
Stack
SwiftUI · FastAPI · React · Postgres · DeepSeek · Doubao Vision
Nobody wants to cram for an internal company exam. Qihaoxue lets an admin load the company's own materials once; then an employee photographs a question and gets an answer grounded in those materials — every citation independently checked, green only when it matches.

Why I built it

Prepping for a company’s internal exams is a slog: nobody wants to read the study materials, and when a sample question set goes out before the test, people would rather just memorize the answers — state-owned enterprises and public institutions especially.

Why not just use a generic assistant? It has never seen your company’s materials, so on its own it guesses. Qihaoxue’s answer is simple: give the model the company’s materials, let an employee photograph a question, and get an answer grounded in those materials.

Set up once by an admin, then just shoot

The annoying part happens once, and not on the employee: an admin imports the company’s materials and activates a knowledge snapshot. After that employees upload nothing — they photograph a whole exam sheet and the app auto-frames every question and works through them one by one.

Photograph a whole exam sheet at once — the app auto-frames every question and lays them out by number; tap any one for its answer, then shoot the next page.
Photograph a whole exam sheet at once — the app auto-frames every question and lays them out by number; tap any one for its answer, then shoot the next page.

Why you can trust the answer: every citation is checked

Photo-solvers are everywhere; whether you can trust one is another matter. Qihaoxue’s answers draw only on the company’s own materials, and every citation is independently re-checked — file, page, section, exact quote, one by one. Only if they all match does the green “from your materials” badge show; anything that doesn’t is downgraded rather than faked. And the same verification code runs the eval suite: any “false green” — a claimed source that doesn’t hold up — fails the run.

Open a question: answered from the company's materials, with the green badge and its source — file, section, page.
Open a question: answered from the company's materials, with the green badge and its source — file, section, page.
A question the materials don't cover is honestly marked “reference answer” rather than faked — and logged for the admin to fill in.
A question the materials don't cover is honestly marked “reference answer” rather than faked — and logged for the admin to fill in.

The admin console

The admin side is more than uploads. In one screen: import and parse materials, make new materials take effect with one tap, manage the roster (phones stored hashed, shown masked), and a small dashboard — recent grounded-answer ratio, cache hits, cost, and a list of questions the corpus didn’t cover, telling you exactly what to add.

One console for the whole exam: materials, knowledge base, roster, dashboard — the grounded-answer ratio at a glance.
One console for the whole exam: materials, knowledge base, roster, dashboard — the grounded-answer ratio at a glance.

Where it is now

The iOS employee app is in TestFlight beta (not on the App Store yet — pending the ICP filing); the backend and admin console are deployed. It’s already in real use — by a first group of employees, on their company’s actual internal exams — though there’s no formal enterprise client yet. Data stays in-country and is isolated per enterprise; the prompts forbid inventing anything, and every citation is checked. Happy to walk through more in person.