Inspiration

Junior developers cannot get hired. Every entry-level role asks for 2-3 years of experience. AI has made it worse by replacing the simple tasks graduates used to learn on. The gap between knowing how to code and being able to work in a production team has no solution. WritenDraw exists to give developers real experience before anyone gives them a chance.

What it does

WritenDraw is a flight simulator for software developers. Three Amazon Nova AI agents drop you into a P1 production incident at a fictional UK supermarket with 2,400 stores. You attend the standup, read the Jira ticket with 340 customer complaints, investigate messy production code, chat with an AI senior developer who gets impatient if you stall, write and explain your fix, respond to code review comments, plan your deployment, and run the incident retrospective. Eight steps covering a full working day. No multiple choice. No tutorials. Anti-paste protection means you type your reasoning in your own words. The output is an audit trail that proves how you think, communicate, and handle pressure.

How we built it

Python and Flask backend hosted on Google Cloud Run. Amazon Nova 2 Lite via AWS Bedrock Converse API powers three autonomous agents. The Evaluator reads free-text responses and scores reasoning 0-15 using per-step rubrics. The Mentor named James tracks understanding level, monitors time pressure, and gets progressively impatient. The Auditor logs every action with timestamps, builds journey context, and feeds it back to the other agents so they adapt in real time. Frontend uses CodeMirror for the live code editor, Pyodide for in-browser Python execution, and vanilla HTML, CSS, and JavaScript.

Challenges we ran into

Getting the mentor personality right was the hardest part. Early versions of James were either too helpful or too robotic. Tuning the system prompt so he feels like a real stressed senior developer who guides with questions instead of giving answers took many iterations. The anti-paste protection needed careful implementation to block clipboard paste on explanation fields without breaking the code editor where paste is essential. Scoring free-text responses is fundamentally harder than grading multiple choice, and calibrating the rubrics so the AI gives consistent fair scores across different writing styles required extensive testing.

Accomplishments that we're proud of

The agentic context loop works. The Mentor and Evaluator genuinely adapt based on user performance because the Auditor feeds journey context into every API call. James actually gets impatient. If you waste his time, his tone changes. If you are struggling, feedback adjusts. The simulation feels like a real day at work, not a quiz. The published research paper TrueSkills AI-Resistant Assessment on SSRN with 248 views validated that personalised evaluation defeats AI shortcuts. WritenDraw proves that principle works in practice for developer training.

What we learned

Free-text evaluation is a different problem from code evaluation. Developers can write perfect code but fail to explain why it works. Scoring the explanation separately from the code revealed that communication gaps are the real issue for most junior developers, not technical skill. We also learned that agentic AI is not about having multiple models, it is about shared context. The three agents work because they all see the same journey data and adapt independently based on it.

What's next for WritenDraw — Real Experience Before Your First Job

Week-long simulations with a different scenario each day. Monday is a P1 incident, Tuesday is a feature build, Wednesday is tech debt, Thursday is a security review, Friday is sprint planning. Multiple programming languages so the same scenario runs in Python, JavaScript, Java, and Go. University partnerships where students graduate with a portfolio of audit trails instead of just a degree. Enterprise onboarding where companies create custom scenarios matching their actual codebase. AI-generated scenarios using real CVE databases and outage reports for infinite replayability.

Built With

Share this project:

Updates

Submission history