Write and Run
Inspiration
We were inspired by the difficulty students face in handwriting code for exams. This skill is learnt through practice, yet testing and debugging your solution was always incredibly inefficient. Write and Run was designed to eliminate these difficulties and streamline this learning process.
❓What it does
Write and Run takes handwritten code as input and transforms it into an executable program. It:
- Analyzes handwritten code to determine its language, syntax and logic.
- Compiles the code into a runnable format.
- Generates test cases to assist with debugging.
- Supports Java, C, Bash and Python.
⚙️ How we built it
We built the frontend with Vite, Tailwind CSS and React with Typescript. Flask was utilized on the backend for interacting with the OpenAI API and compiling/executing the code using the subprocess library. Our user and test data is stored in a Supabase PostgreSQL database, and hosting was done with Vercel and Google Cloud.
⛓️💥 Challenges we ran into
Our most significant challenge was deploying with Docker. After a few hours of troubleshooting, we realized the culprit was simply the combination of McGill's wifi and our large container. Another difficulty was determining the balance between correcting OCR mistakes and maintaining the originality of user inputs.
🥳 Accomplishments that we're proud of
We are proud of how well Write and Run expedites and streamlines the studying process. Additionally, we are proud to have successfully deployed our application, which transformed it from a neat project to a resource that can help computer science students worldwide.
📚 What we learned
- Handling complex input formats like handwritten code and converting them into structured data.
- Managing and integrating multiple technologies for a cohesive workflow.
- Optimizing performance in a cloud-based, distributed environment.
🚀 What's next for Write and Run
We are excited to add additional features that we did not have the time to implement. These include a custom "Quiz Me" section and toggle "Hints" for debugging solutions.
Built With
- docker
- flask
- python
- react
- supabase
- typescript

Log in or sign up for Devpost to join the conversation.