Write better exam questions. Verify Bloom's taxonomy. Map to your accreditation outcomes.
A desktop app for outcome-based education (OBE) practitioners. Define POs and COs, build the CO-PO mapping matrix, write and verify exam questions, then export a print-ready A4 .docx.
Run the .exe installer. Done. No Python, no Node.js, nothing else required.
Windows SmartScreen may warn (app is unsigned) — click More info → Run anyway.
Requirements: Node.js 20+, npm
git clone https://github.com/<your-username>/copo-qbuilder.git
cd copo-qbuilder
npm install
npm run devThe app opens immediately. That's it.
npm run package:win # Windows .exe installer
npm run package:mac # macOS .dmg
npm run package:linux # Linux AppImageOutput goes to release/.
- Verb check — deterministic lookup against a static Bloom's verb dictionary. Instant, no API needed.
- Semantic check (optional) — LLM checks whether the question's actual complexity matches the claimed level, and which CO it best maps to. Uses your own API key (OpenAI / Anthropic / Gemini).
- CO → PO weights — looked up directly from the matrix you define. No model involved.
The app works fully without any API key. The LLM layer is additive.
Go to ⚙ Settings, pick a provider, paste your key, click Test Connection, then Save. The key is encrypted using Electron's safeStorage (OS-level encryption) — never stored in plaintext.
| Layer | Tech |
|---|---|
| Desktop shell | Electron 31 |
| UI | React 18 + TypeScript |
| Build | Vite + electron-vite |
| Styling | Tailwind CSS |
| Word export | docx npm package |
| Secure storage | Electron safeStorage |
| Packaging | electron-builder (NSIS installer) |
MIT © 2026 Tashreef Muhammad