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.
Related Research¶
- CSE120 Capstone — The capstone course ecosystem where Psephos serves as the survey engine.