Smart India Hackathon 2026 · PS 26075 · India Meteorological Department · Team Syntax Squad
One platform to train, test and map every skill.
Capacity Connect is a digital capacity-building and learning platform for the India Meteorological Department: admin-approved accounts, four-tier role security, AI-drafted assessments that run in the cloud or fully offline, and competency mapping that matches the right trainer to the right course.
What the brief asks for, and what we built
Every requirement in the problem statement maps to a concrete piece of the design, with the page that explains it.
| Requirement | How it is met | Where |
|---|---|---|
| Sign-up and login for three roles | Better Auth with JWT sessions. Roles are rows in user_roles: admin, trainer, trainee, plus a system tier for background jobs. | Roles |
| Admin approval and role management | Every role row starts unapproved. A bulk approve and reject queue lets admins decide. | Roles |
| Trainee profile: qualifications, experience, skills, certificates | trainee_profiles with structured JSONB for qualifications, work experience and certificates, plus skills and interests. | Data model |
| Course enrollment | A unique enrollment per trainee and course, so double clicks are harmless. | Data model |
| Trainer resource library | Lectures, presentations and study material on a private volume. Files are served only through the authenticated API. | Files |
| MCQ assessments with deadlines | Manual or AI-drafted questionnaires, a deadline, one attempt, and scoring on the server. | Assessments |
| Feedback | A 1 to 5 rating and a comment per course, aggregated on the admin dashboard. | Data model |
| Competency mapping | Skill fingerprints for trainers and courses in pgvector, ranked by cosine similarity. | Matching |
| Admin dashboards | Overview, list and management templates cover approvals, courses, assessments and competency. | Clients |
| Homepage announcements | Notices targeted at chosen roles, with expiry and read tracking. | Data model |
Three ideas that work together
Train
People sign up, an admin approves them, and they join courses. Trainers upload slides and notes into a shared library. Trainees study there and download a certificate at the end.
Assess
A trainer asks the AI helper to draft a multiple-choice quiz from their own material, then edits it. Marking is automatic and deadlines are enforced by the server.
Map
Every trainer and course gets a skill fingerprint made of 768 numbers. Comparing fingerprints shows which trainer suits which course, and where the gaps are.
Why it holds up
Security in depth
Nginx limits, per-user rate limits, four checkpoints on every request, and row-level security that also covers vectors.
AI that works offline
One switch, AI_PROVIDER, selects Vertex AI (Gemini) or local Ollama. Embeddings are always local, so a weak connection cannot stop ingestion.
A human in the loop
Generated questions land as drafts. Nothing reaches trainees until a trainer reviews and publishes.
Private by default
Files have no public URLs. Downloads pass the same checks as any other request.
Verifiable certificates
PDFs rendered by Gotenberg, each with a unique verification code and QR.
A clear scaling path
A modular monolith today, with modules already separated so it can split into services by capability.
The people it serves
Four roles, one hierarchy. The system tier keeps the platform running, admins govern, trainers teach and trainees learn.