🇮🇳 Prasikshan
Tagline: "Master SSB. Serve the Nation."
🚀 Our Journey Building Prasikshan
💡 What Inspired Us
As a proud Indian, we have always been inspired by the men and women who wear the uniform of our Armed Forces. During college, we saw many of our friends and juniors preparing for the SSB (Services Selection Board) interview — one of the toughest and most holistic selection processes in the world.
Despite having talent and dedication, most aspirants struggled due to:
- Lack of quality resources
- Expensive coaching
- No proper feedback system for psychological tests like TAT, WAT, SRT, and PPDT
This personal observation became the spark.
We wanted to build something that could democratize SSB preparation — making world-class training accessible to every aspirant across India, especially those from small towns and rural backgrounds.
🛠️ How We Built the Project
Prasikshan was built from the ground up as a full-stack, production-ready platform in roughly 6 weeks of intense development.
⚙️ Tech Stack Highlights
- Frontend: Next.js 16 (App Router) + TypeScript + Tailwind CSS + Recharts
- Backend: Node.js + Express-style API routes with secure JWT dual-token authentication
- AI Microservice: Python + FastAPI + Azure OpenAI (Grok-3)
- Database: MongoDB Atlas with optimized sharded collections
- Infrastructure: Docker, Nginx, Cloudinary CDN, Redis rate limiting
🧠 Architecture Highlights
- Implemented HTTP-only cookies with dual JWT authentication
Built complete SSB test suite:
- OIR → PPDT → TAT → WAT → SRT → Lecturette → PI
Designed a dedicated AI microservice for:
- Prompt engineering
- Context-aware evaluation
- High performance isolation from main backend
⚔️ Challenges & Solutions
🔹 Complex AI Evaluation Logic
- Problem: Azure OpenAI calls caused header size errors (431) and inconsistent responses
Solution:
- Migrated to a structured FastAPI microservice
- Used rigid prompts and Pydantic-based response parsing
🔹 Performance & Database Bloat
- Problem: Storing all results inside the User document slowed queries
Solution:
- Created a separate
UserResultscollection - Implemented optimized schema and migration scripts
- Created a separate
🔹 Real-time Progress Tracking
- Problem: Maintaining test flow and user progress across devices
Solution:
- Built a custom progress engine
- Dynamically serves the next logical test
🔹 Time Management
Balancing college academics with 14–16 hour coding days was extremely demanding.
🔹 Security
Implemented:
- Rate limiting
- Input sanitization
- Secure cookies
- Production-level backend safety practices
📚 What I Learned
This project taught me far more than just coding:
- Importance of clean architecture and separation of concerns
- Designing user-centric systems
- Deep understanding of prompt engineering
- Building AI systems that simulate real-world experts
Practical DevOps skills:
- Docker
- Environment management
- Scalable architecture design
Building something meaningful is 40% code and 60% perseverance.
🇮🇳 Final Thoughts
Prasikshan is more than just a project — it is a tribute to every young Indian who dreams of serving the nation in uniform.
Technology, when built with purpose, has the power to empower dreams and change lives
Author
Khushi Gupta, Aman Kumar
Built With
- axios
- bcrypt
- cloudinary
- docker
- http
- jwt
- mongodb
- mongoose
- next.js
- nginx
- node.js
- python
- recharts
- redis
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.