Inspiration
Students often know their problem but not which campus office handles it. Repeated forwarding can delay simple requests. CampusRoute explores an inspectable, local first-pass routing aid.
What it does
The working Python CLI suggests IT support, academic administration, housing maintenance, or library services from a short English request. It shows ranked alternatives and indicative words. Unknown, sparse, or uncertain input returns human_review. Every result requires review; nothing is emailed or automatically dispatched.
How we built it and how AI is used
The core is a multinomial Naive Bayes text classifier with Laplace smoothing, trained on 32 original synthetic examples. It learns class-specific word frequencies and combines them with class priors at inference time. This is real local statistical machine learning, not a hosted chatbot or a hand-written keyword routing table. Python's standard library is sufficient to run the model.
OpenAI Codex assisted with implementation, synthetic training examples, tests, documentation, and the Devpost workflow. No hosted model or OpenAI API is called by the runtime classifier. The repository and media were created during this hackathon period.
Working demo
Run python3 campus_route.py --demo, or pass your own non-sensitive sample request. The repository includes a captioned 60-second video walkthrough and screenshots rendered from actual classifier outputs.
Video: https://github.com/xiehuanyi/campus-route-demo/blob/main/demo.mp4 Source and setup: https://github.com/xiehuanyi/campus-route-demo
Challenges
A tiny dataset can create misleadingly confident scores. We display the scores as uncalibrated model scores, require human review, and add an abstention path. Domain knowledge and real evaluation would be essential before deployment.
Accomplishments
The prototype runs without dependencies, network access, an API key, or a model download. Its entire training corpus and decision process are inspectable. Tests exercise four routing categories and the unknown-input fallback.
What we learned
A useful AI prototype needs a clear path for uncertainty, not only a prediction. Maintaining separate states for collection, authentication, registration, and submission also matters in the agent-assisted workflow used to publish this project.
Impact, limitations, and next steps
Potential impact is faster first-pass routing, but this has not been measured. The data is authored synthetic English text, not real student records. Tests are smoke tests, not an independent benchmark. Negation, mixed requests, urgent situations, and new domains can be misclassified. This is not an emergency service or a production support system.
Next steps are a consented representative dataset, independent routing/abstention evaluation, local-language coverage, and a human-approved service directory. The CLI prints the text supplied to it, so real private student data should not be used in shared command logs.
Team and licensing
Solo project with OpenAI Codex assistance disclosed above. No additional team members, deployed users, or production results are claimed. Source and synthetic examples are released under MIT. Pillow and imageio-ffmpeg are optional media-generation tools only.
Built With
- machine-learning
- naive-bayes
- python

Log in or sign up for Devpost to join the conversation.