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

Share this project:

Updates

Submission history