CampusCore · deployable per school
A decentralized campus issue-reporting network. One code base, one deployment per school.
CampusCore is an open-source template for student-run campus operations. Telegram-native reporting, a deterministic safety floor for emergencies, an egress queue with an isolated fast lane, and a public dashboard with honest time-to-resolution — all running on Convex, Clerk, and Vercel free tiers. Fork it, wire your school’s credentials, and deploy your own instance.
What you get when you fork it
Five architectural choices baked into the template. Each one is documented in tech_design.md and enforced by the code in this repository.
§1 · §3
Telegram-native reporting with deterministic triageReports arrive by Telegram bot with inline-keyboard categories. A fixed Aho-Corasick lexicon sets priority at ingestion — priority is a rule, not a model output. The LLM only writes headlines and routing hints.
§5
Priority-aware egress queue with an isolated emergency laneCompound index on (status, priority_tier, created_at). Emergency Express dispatches Tier-1 tickets one at a time; Standard Batch claims up to 25 Tier-2 rows with per-request AbortSignals so one hung connection can't block the batch.
§4
No-human-review image moderationCloudflare edge hash-matching, then a quantized NSFW/violence model on ONNX Runtime WASM. Images resolve to broadcast or delete — there is no pending_review state, and no human ever views a flagged image.
§5 · §6 · §7
Claim-and-lease workers with a per-ticket SLA schedulerOne-off ctx.scheduler.runAfter(60_000, …) at ingestion — not a periodic cron — because cron minimum granularity would turn a 60-second SLA into a 60-120s window. A reaper reverts stuck rows and dead-letters at retry_count >= 3.
§6
Public dashboard with honest time-to-resolutionTrue TTR includes queue delay; System Backpressure Latency isolates transport time. Every broadcast is prefixed with an immutable ticket ID so at-least-once retries are recognisable as duplicates rather than second incidents.
For other campuses
Fork and deploy for your school
You’ll need a GitHub account, a Convex project, a Clerk application restricted to your school’s email domain, and a Vercel project. The deployment runbook walks through every step from git clone to a green Vercel Preview.