I built a campus marketplace that runs entirely inside Telegram
Students at my campus run their entire economy through scattered WhatsApp groups. Buying, selling, events, announcements — all fragmented, none verifiable. Asking them to install a new app never works.
So I built TrybeOS, a campus operating system that lives inside a Telegram bot. Open it: https://trybe-os.vercel.app
The product
TrybeOS is a Telegram Mini App covering four things:
- Marketplace — buy, sell, rent and hire services between verified students
- Events & announcements — campus events, deadlines and official notices in one feed
- Anonymous messages — rate-limited "whispers" so people can speak honestly without abuse
- Match — study groups and campus friendships between verified students
Verification gates everything: confirm a campus email or upload a student ID before you can post. That single rule is what stops it turning into another spam channel.
The stack
- Frontend: React 18 + Vite, built to a static bundle
- Backend: FastAPI with async endpoints and per-user rate limiting
- Database: Postgres (Supabase) in production, SQLite locally
- Deploy: Vercel, with a nightly cron for match nudges
- Auth: Telegram Web App SDK — no separate signup flow
The bot sets up a config object (window.__TRBY_CONFIG__) at serve time, so the same build works across dev and prod without rebuilding.
The hard parts
- Anonymous posting that stays civil — rate limiting per user plus server-side checks. Balance freedom against spam.
- Student verification — matching IDs/campus emails without hoarding sensitive data.
-
Events vs announcements — one model (
is_hosting) that handles both "I'm hosting this" and "sharing a notice", so the feed stays coherent.
What I learned
Solo-building a product end-to-end is mostly about scope control. The version that shipped is a fraction of what I sketched — and that is the version people actually use.
Try it
No downloads, no signup forms. Press START on the bot: https://trybe-os.vercel.app
Built by Solomon Adenuga — Portfolio · LinkedIn · GitHub




Top comments (0)