Indietrainers
Indietrainers
The Platform
Indietrainers is an online platform dedicated to teaching the basics of video game programming, built from the ground up using modern web technologies including React and Node.js. The platform goes beyond traditional video tutorials by combining high-quality video courses with live coding exercises that allow students to practice and validate each new concept directly in the browser. This hands-on approach ensures that learners don't just watch passively but actively build skills through guided, interactive challenges. The platform was designed to be accessible to complete beginners while providing enough depth to serve as a solid foundation for aspiring indie game developers looking to turn their creative ideas into playable projects.
Building the Full Stack
As the full-stack developer, I designed and implemented the entire platform architecture from the ground up. On the frontend, I built the interactive learning interface using React, including the video player with chapter navigation, the in-browser code editor with syntax highlighting and auto-completion, and the exercise validation system that checks student code against expected outputs in real time. On the backend, I developed the Node.js API layer handling user authentication, course progress persistence, exercise submission and grading, and content management. I designed the database schema using MongoDB to efficiently store user profiles, progress states, exercise submissions, and course content. I also created the complete curriculum structure, writing and recording video lessons that cover game development fundamentals from variables and loops through to physics simulation and sprite animation. The content delivery system was built with video streaming optimization in mind, using adaptive bitrate delivery to ensure smooth playback across varying connection speeds.
Running Student Code Safely in the Browser
The most significant technical challenge was building a reliable in-browser code editor and execution environment. Students needed to write JavaScript code, see it execute in real time with visual output, and receive meaningful feedback on errors — all without installing any software locally. I integrated the Monaco editor (the same engine behind VS Code) for the coding interface and built a sandboxed execution environment using iframes with restricted permissions, preventing student code from accessing the parent page or making unauthorized network requests. The exercise validation system needed to be flexible enough to accept multiple valid solutions while catching common mistakes and providing helpful, specific error messages rather than generic failure notifications. Real-time visual feedback was critical for engagement — when a student writes code that draws a sprite or applies physics, they need to see the result immediately in a preview canvas adjacent to the editor. Managing WebSocket connections for real-time features like live progress tracking and collaborative coding sessions required careful connection lifecycle management to handle network interruptions gracefully. Video content delivery also demanded optimization, as buffering or quality drops during lessons directly impact learning outcomes.
Where It's Landed
Indietrainers is live as a platform combining video lessons with in-browser, auto-graded coding exercises. The core technical problem was building a sandboxed execution environment (via the Monaco editor and permission-restricted iframes) that lets students write and run real JavaScript safely, with immediate visual feedback rather than a delayed pass/fail message. That real-time code-execution and validation architecture is one I've reused in other interactive web projects since.
Project Videos
Screenshots