Inspiration
In 2022 I was teaching myself frontend development through online courses and started looking for hackathons to practice on. By the end of that year I had a list of more than 20 hackathons, online, abroad and here in Kazakhstan, that I had missed. Not because I wasn’t ready, but because I found out about them too late: the deadline had already passed, or there was no time left to finish a project and submit it.
The opportunities existed. They were just scattered across hundreds of sites, and nobody told students about them in time. Talking to friends and to staff at coding schools, we heard the same story: curators paste links into Telegram chats by hand, and most students still miss the deadlines. That list of missed hackathons became QADAM Hub.
What it does
QADAM Hub collects internships, hackathons and grants in one place and helps students act on them before the deadline:
- Radar: a feed of opportunities where every listing has a deadline confirmed by a quote from the organizer’s own page. Expired and undated listings are dropped.
- Reminders: Telegram and Discord bots send deadline reminders where students already are.
- Preparation: a CV gap check against an opportunity and skill quizzes on 236 topics.
- For schools: a staff workspace where a coding school or university creates a cohort, invites students with a code and sees who is saving, preparing and applying, with CSV export.
Schools pay a simple subscription after a free pilot; students use it for free through their school.
How we built it
- Frontend: React, TypeScript, Vite and Tailwind CSS, deployed on Vercel.
- Backend: Supabase (Postgres, email sign-in) with row level security on every table, so students only see their own data and staff only see their own cohort.
- Radar pipeline: a daily GitHub Action searches public sources with Tavily, extracts listings with an NVIDIA Nemotron model on Nebius, and publishes only items whose deadline, title and eligibility appear word for word on the source page.
- Bots: Telegram and Discord bots in Node.js on an Oracle Cloud VM.
Challenges we ran into
- Hallucinated deadlines. Early versions of the extractor sometimes invented dates. We made the model quote the exact deadline sentence and drop anything we cannot find on the page. The feed got smaller, but every item is real.
- Empty days. With strict validation some days produce no new listings, so the pipeline keeps the previous valid feed and only removes expired items.
- Privacy for minors and schools. We tested every database policy as an anonymous visitor, a stranger and a staff member before shipping.
What we learned
Trust matters more than volume: a short list of verified opportunities is worth more than a long list of dead links. We also learned that the people who pay are schools, while students are the reason schools care.
What’s next
- Run free pilots with the first coding schools and universities.
- Grow the radar to 50 to 100 hand-checked opportunities per school profile.
- Add skills and activity views to the staff workspace, so a director sees the whole cohort on one screen.
Built With
- discord-api
- github-actions
- nebius-token-factory
- node.js
- nvidia-nemotron
- oracle-cloud
- playwright
- postgresql
- react
- sentry
- supabase
- tailwindcss
- tavily
- telegram-bot-api
- typescript
- vercel
- vite

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