Inspiration

Lot of aspiring Software engineers, juniors and students find it difficult to work on or contribute to open source projects for getting real world experience. It takes a lot of time and effort to find a repository with unassigned issues that they can use their foundations to work on. Also in this AI era, it's important skill to be able to read the code that's not written by you. There is no platform that helps them get that confidence and teaches them how to navigate real world codebases with hands-on learning experience. So, I built Swenest, a gamified learning platform for aspiring/junior SWE's and computer science students that helps them fill this gap.

What it does

Swenest shows real world curated tasks based on difficulty levels and language/stack preferences for the user. These tasks are based on merged commits in real open source repositories from GitHub. User has to earn experience points in order to unlock more challenging and fun tasks.

This is how the workflow looks like:

  1. User get's asked about their preferences (their preferred coding language)
  2. They pick domain/stack
  3. They pick one task from the available tasks
  4. Task description revealed (description only, no cause)
  5. User works locally, clones repo themselves given a base commit hash.
  6. User requests progressive hints as needed
  7. On submission: user submits their findings, location of the problem, the proposed solution and some concept checks.
  8. LLM judge grades against ground truth information passed to it.
  9. Final section shows user's results, personalised feedback and the ground truth solution for learning.

How we built it

GPT 5.6 models (Terra and Luna) in Codex were used for building and testing the application end-to-end; from prototyping, to ensuring it works in production. It leveraged the browser tool for automation testing as well.

Tech stack (single Repository with frontend and backend):

  • Backend: Python, FastAPI
  • Frontend: React + TypeScript, Vite, Tailwind
  • Database + Auth: Supabase (Postgres). Auth via Supabase Auth
  • LLM: (temporary, I might ask to change model to openai later) google/gemma-4-26b-a4b-it:free using openrouter (see docs).
    • Judge grading (diff/diagnosis comparison)
    • Hint/task-prompt generation (used at content-authoring time, not live per-request)
  • Diff parsing: unidiff (Python) for structured hunk comparison
  • Deployment: Vercel for frontend (React + Vite), Render for backend (FastApi)

Challenges we ran into

One of the challenging tasks while building the project was to create curated data for the application. Codex was used to automate the process of finding repositories and PRs using a Agent Skill and I created a custom script which was further enhanced using codex that seeded the data into Supabase.

Another challenge was to provide the correct context to the codex agent to implement the project. I ran into lots of bugs which took a bit of time to fix using the codex agent. The key was being specific and providing instructions to the agent to revalidate its code after it finishes working on a given task utilizing tests and browser tool.

Accomplishments that we're proud of

Successfully built the MVP for the project idea using codex without writing a single piece of code! I had to go through the codebase to give better context to the agent but it saved ton of time implementing the core functionality and features.

What we learned

Working with Codex taught me lot of things. Codex is awesome for automating time consuming work. I used it to automate the curated task generation process, the entire code generation for the web application, fixing bugs and running tests (including user side black box testing). Another thing I learned is the importance of crafting prompts and giving relevant context to the Agent. Anything vague or non-specific wordings result in bugs and issues with the codebase. It is important to review the changes that the Agent makes which gives better idea when giving it follow-up tasks or replies.

What's next for Swenest

  1. More tasks, AI powered automated task generation using sandbox code-execution environment leveraging currently implemented automation pipeline that's used for task curation.
  2. Code submission with sandbox execution for checks for better judging.
  3. Assignment mode where user don't have access to hints and guides and have to work on their own,
  4. Better checks and verification of user's work.
  5. More languages/stack support.
  6. AI text detection for anti-cheating mechanisms.

Built With

Share this project:

Updates