Inspiration
It is well known that perfect practice makes perfect. Despite this, thousands of people settle for subpar practice when it comes to exams and technical interviews by practicing on a computer. Despite the unbelievable pace at which technology has advanced, paper still lacks key features such as IntelliSense, automatic syntax highlighting and the like. Of course, there are people who practice on a whiteboard, then type it out to run or make tweaks. It is not difficult to see their shortcomings in the efficiency department. The great Michael Jordan was well-known for approaching every practice like it was a real game. With OCodR, you can do the same thing.
What it does
Write out code in one of several languages on our web-app, or take a picture of existing code from a whiteboard or sheet of paper. You will be able to run this code from within the app to see your strengths and shortcomings en route to acing your next CS exam or technical interview.
How we built it
We have a great team with extensive experience in product design, full-stack development, image analysis and machine learning. Using our own algorithms combined with powerful (mostly open-source tools), we were able to build our project in around 16 hours.
Challenges we ran into
Handwriting recognition, especially from an image, is a very difficult problem to solve (and something that no publicly available tools can do reliably). While digit-recognition technology is quite good, alphabetical characters are much harder to identify. When you factor in the frequency of special characters such as semicolons, braces and brackets in programming languages (which even the best libraries mostly ignore), it is a near-impossible task.
Accomplishments that we're proud of
Ryan's image analysis tool provides greatly improved performance in recognizing text from images. This drastically improves the performance of third party tools (and eventually, our own neural network). Combined with Aaruran's budding neural network, we have high hopes for the future of open-source OCR.
What I learned
As a team, we learned a lot from each other. We came in specializing in specific areas, and feel that we will leave the hackathon with a more well-rounded set of skills.
What's next for OCodR
Our TensorFlow-based neural network aims to improve character recognition in programming languages, which could open the door for OCodR being an integral part of interview preparation and education.
Log in or sign up for Devpost to join the conversation.