Skip to content

< KataQuest >

Made by Syntactical Seven

A fun and educational nostalgic coding app.

KataQuest is a fun and educational nostalgic coding app designed to make practicing programming challenges (“katas”) feel like playing a retro video game. Instead of dry problem sets, users step into a playful 8-bit world inspired by classic arcade aesthetics, where every completed kata earns them progress, recognition, and a sense of achievement. As a team of junior developers learning together, we realized that practicing coding challenges often feels repetitive and intimidating. At the same time, many of us grew up playing retro games that were challenging yet rewarding. We thought: why not combine the two? That’s how KataQuest was born — a platform where solving coding challenges feels like leveling up in a nostalgic 8-bit game. When users enter KataQuest, they’re greeted by a nostalgic 8-bit world with retro fonts, pixel art. As a guest, the user can try one of our katas. Afterwards, they can sign up or sign in before exploring the Kata Gallery, where coding challenges are displayed in front of them. Selecting a kata opens an interactive in-browser code editor where they solve problems and instantly see their results. Progress feels rewarding with a leaderboard and podium system that highlights top players, while customization features like light/dark mode and music toggles give users control over their environment. The experience is designed to feel more like a game than a study tool, making coding practice both fun and motivating.

The Team

Jacob Guest

Jacob Guest

Film graduate turned software engineer, with a longstanding

love of computing. It’s been a deeply rewarding process transitioning from hobbyist to full stack developer, and I can’t wait for the next step in my tech career. When I’m not coding, I enjoy reading genre fiction, playing Dungeons and Dragons, and consensual sword fighting (fencing).

Will Barnett

Will Barnett

A professional actor and an aspiring software developer. A deep

seated passion for all things creative – now transitioning to tech I’m interested in building exciting, useful apps with my fresh programming knowledge. I love adding new strings to my bow as other jobs ranged from a furniture upholsterer to a chef.

Melissa Page-Jones

Melissa Page-Jones

Mathematics graduate and aspiring software developer with

a passion for problem-solving and analytical thinking. In my free time, I enjoy travelling, exploring new cultures, playing piano, and photography.

Darko Gjichev

Darko Gjichev

Software Developer that enjoys tackling complex problems and

thrives in environments that call for creativity and focus.

Kiki She

Kiki She

A digital marketer turned aspiring software developer who’s driven by

curiosity and problem-solving. I enjoy building meaningful projects that blend creativity with purpose. As a minimalist at heart, I thrive when things are planned, organised, and designed with intention. Outside of coding, I take care of myself through fitness and spending time in nature.

Sam Clayton

Sam Clayton

Aspiring Software Developer with nearly a decade in business

change. I’m excited to transition from supporting code to writing it myself.

Joe Morris

Joe Morris

As a creatively-minded person, I was drawn to a career in

coding due to its boundless potential for innovative application.  I utilise the same fervour for creative problem solving within coding as I have done in my other artistic projects – seeking success through failures.  My favourite thing so far on this journey has been discovering different technologies, and learning how they speak to one another in order to implement them.

Tech Stack

We used: Node.js, JavaScript, Express, Clerk, PSQL, Judge0 API, React, Tailwind CSS, Axios, CodeMirror, Jest, Supertest, Supabase, Render, Netlify

We carefully selected our technology stack to balance flexibility, security, and user experience. Node.js and JavaScript were chosen as the foundation, since our initial focus is on practising coding in JavaScript, with the option to expand into other languages in the future. To securely run user-submitted code, we integrated the Judge0 API, which provides container-based sandboxing and prevents malicious code from affecting our infrastructure. Clerk was used for authentication to give users a seamless way to sign up, save progress, and log in with options like Google or GitHub. For the front end, we combined React with Tailwind CSS to build a responsive, accessible, and modern interface, while CodeMirror was selected as a flexible, reliable code editor to power the core coding experience. Axios was used to handle smooth communication between the front end and back end. On the back end, Express and PostgreSQL (PSQL) ensured a structured, scalable system for handling user data and kata content. To maintain code quality, we relied on Jest and Supertest for rigorous testing of our backend logic and API endpoints. Finally, we deployed the app using Supabase, Render, and Netlify to provide reliable hosting, scalability, and a smooth deployment pipeline. Together, these technologies allowed us to deliver a secure, engaging, and user-friendly coding platform.

Challenges Faced

A key challenge we faced was configuring the Judge0 API to safely run user-submitted code, as working with container-based sandboxing and asynchronous responses required careful handling. Integrating Clerk authentication also brought complexity, particularly in managing multiple sign-in options across the frontend and backend. Using CodeMirror as our code editor came with its own learning curve, as we needed to explore documentation to configure features like resetting and running code smoothly. We also had to refine how we communicated and collaborated as a team while minimising conflicts in GitHub. These challenges proved to be valuable learning experiences, pushing us to problem-solve quickly, strengthen our debugging skills, deepen our understanding of the tools we used, and work more effectively as a team.