Inspiration
I was thinking about problems that our team may face daily as a challenge statement, and I thought about the troubles of having to scour the internet and flipping through tabs for each different stitch when learning to crochet. As my team was a good mix of regular crocheters and new crocheters, we decided it was a good project to undertake.
What it does
The user submits a screenshot of a crochet pattern or a text containing a crochet pattern, and the web app will generate a video tutorial, showing them how to do every stitch in the pattern in chronological order. The user can also view tutorials for each stitch under the "stitches" tab without having to upload a pattern.
Experienced crocheters can also use our generate pattern function, where they can piece 3D models of common shapes together and receive the crochet pattern required to make their design.
How we built it
We used Python Flask framework as it is what we are most familiar with.
After the user submits a screenshot, the web app passes the image into Google Cloud OCR (Optical Character Recognition), which returns the text contained in the image. Using a sliding window algorithm and cleaning of the text, the stitches in the crochet pattern are extracted and passed to the Javascript in the tutorial_page HTML file.
The 3D models are embedded in the HTML document using three.js, and the patterns are generated with an algorithm to count the number of stitches based on the size of the shape placed.
Challenges we ran into
Initially, we used PyTesseract as the OCR model for text extraction from image. However, it had a very low accuracy rate and was very unreliable. Eventually, we got the Google Cloud OCR to work, and it has been extremely successful with a very high accuracy rate.
Accomplishments that we're proud of
Completing the project! It is our second hackathon, and the first one where we actually stayed up all night to finish the project.
What we learned
Some of us learnt new skills such as programming in Javascript, and we learnt and practised prompt engineering with AI effectively to boost our project.
What's next for crizz (crochet rizz)
We aim to create a 3D model that shows the user's progress on their current crochet pattern with the model updating with every stitch, along with the texture of the crochet stitches themselves to further aid the user in learning crochet.
Log in or sign up for Devpost to join the conversation.