Inspiration
Our team member Philip, who loves to crochet, was telling us how there exist models for 3D printing or for bracelt making, but that there aren't any for crocheting. He said it would be nice if there existed an aid to transform digital 3D models into crochet patterns. Crochet remains a largely manual, experience-based craft, where translating shapes into stitches requires significant expertise. We were inspired by the idea of bridging digital 3D creation with traditional fiber arts, making complex forms more accessible to crocheters of all skill levels.
What it does
Crochet Visualizer converts 3D models into crochet patterns automatically. Users upload a 3D mesh file, and the application analyzes the geometry to generate round-by-round crochet instructions in compact notation. It detects the main body and appendages separately, calculates optimal stitch counts for each layer, produces patterns, and displays it for the user.
How we built it
We built a full-stack application using FastAPI (Python) with trimesh for 3D mesh processing, shapely for geometric calculations, and NumPy for numerical operations on the backend, Auth0 for authentication, paired with a SvelteKit frontend featuring interactive components for model upload, shape editing, and pattern display. The core algorithm slices 3D meshes horizontally at configurable layer heights, tracks contours through vertical slices to identify separate parts, converts perimeters to stitch counts, and generates compact crochet notation with increase/decrease patterns, all managed through a reproducible development environment using Nix flakes.
Challenges we ran into
We faced several technical issues including ensuring meshes are watertight for accurate slicing, tracking contours across layers to distinguish the main body from appendages, converting geometric measurements to realistic stitch counts, and generating readable, compact crochet notation that follows proper patterns. We also had to handle edge cases like uneven stitch distributions and complex increase/decrease patterns while balancing automatic pattern generation with user customization options for layer height and stitch width. Furthermore, using MongoDB for the database was very challenging since it gave multiple errors while trying to figure out how to implement it.
Accomplishments that we're proud of
We successfully implemented automatic 3D-to-crochet conversion that produces workable patterns, created an intelligent part detection system that separates body from appendages, and developed compact notation generation that mimics real crochet pattern language. We also built a clean, user-friendly interface with real-time pattern preview and made the system configurable with adjustable parameters for different yarn weights and skill levels.
What we learned
Through this project, we learned how to process and slice 3D meshes programmatically, discovered the mathematical relationship between 3D geometry and crochet construction, and applied pattern recognition techniques for tracking shapes through layers. We gained insights into the importance of domain-specific notation and how to generate it algorithmically, understood how geometric constraints (like watertight meshes) affect downstream processing, and successfully integrated Python scientific computing libraries with modern web frameworks.
What's next for Crochet Visualizer
Future developments include adding stitch visualization with 3D preview showing how the crocheted object will look, pattern export to PDF with diagrams and step-by-step photos, and color work support for multi-color pattern detection from textured models. We plan to support advanced shapes including non-convex shapes and hollow objects, add a gauge calculator to help users adjust patterns based on their personal tension, and implement community features like pattern sharing, user authentication (the modals are already built!), and collaborative pattern editing. Additional plans include yarn recommendations suggesting appropriate yarn weights and hook sizes based on model dimensions, and a mobile app for offline pattern access for crafters working without internet.


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