Psephos
Psephos¶
Psephos is a survey and polling backend API that powers multiple CSED tools. It stores and manages survey data, questions, responses, and basic workflow logic, exposing everything over a clean HTTP API (plus WebSockets for real-time updates).
It is designed as a shared service: frontends like UniPoll, course tools like Capstone Survey, and research systems like Test Forge all talk to Psephos instead of re-implementing survey logic.
Where This Project Fits¶
flowchart LR
UMACS[UMACS<br/>Auth & Access] --> Psephos[Psephos<br/>Survey Engine]
Psephos --> UniPoll[UniPoll<br/>Survey UI]
Psephos --> TestForge[Test Forge<br/>Question Engine]
Psephos --> Capstone[Capstone Survey]
- UMACS provides authentication and access control
- UniPoll uses Psephos for classroom polling and surveys
- Test Forge can push AI-generated questions into Psephos-managed surveys
- Capstone Survey uses Psephos to collect student preferences and skill profiles
What You Could Work On¶
- Design and implement new survey features (question types, branching logic, scoring)
- Improve API ergonomics and developer experience (SDKs, examples, docs)
- Experiment with plugin architectures for custom survey logic or analytics
- Prototype integrations with tools like Test Forge, SkillNet, or external LMSes
- Help plan and prototype a next-generation Psephos (e.g., more modular or microservice-based)
Core Concepts & Tech¶
- Backend: FastAPI + MongoDB (Beanie ODM) + Redis
- Concepts: surveys, questions, responses, workspaces, users
- Interfaces: REST API with OpenAPI schema, optional WebSocket channels
If you want to go deeper into full API details, check the GitHub repo and API docs linked at the top.