Project Info
With SoleMate, we can create custom shoe insoles in 2 minutes with an iPhone and a $50 3D printer. The average insole costs $300 to $800.
Inspiration
76% of adults aged 55–64 use foot orthotics, but traditional solutions are often expensive, require specialist visits, and rely on generic sizing rather than true customization. We saw an opportunity to make custom-fit orthotics accessible to everyone using a device people already own—their smartphone. By leveraging iPhone LiDAR technology, we’re eliminating the need for costly appointments and one-size-fits-all solutions. SoleMate empowers users to create 3D-printed, perfectly tailored insoles with a simple scan—because comfort should be personal, not prescribed.
What it does
SoleMate is a mobile app that leverages LiDAR technology on iPhones to scan a user’s feet in 3D and generate a custom-fitted insole. Using this 3D scan, we create a perfectly contoured, 3D-printable shoe insert tailored to the user’s foot shape. Users can then order their custom inserts or print them at home with a 3D printer.
How we built it
Frontend: Built using Swift for a native iOS app experience. 3D Scanning: Utilized Apple’s LiDAR ARKit for high-accuracy foot scanning. From Scan to Custom Insole 1️⃣ Capture the Foot Scan Uses an iPhone LiDAR sensor to collect a high-resolution 3D point cloud of the foot. 2️⃣ Generate a Digital Foot Mesh Densifies and smooths the scan with Open3D and Alpha Shape Reconstruction to create a structured 3D model. 3️⃣ Invert & Shape the Insole The mesh is flipped and refined using Trimesh to ensure the insole fits correctly inside a shoe. 4️⃣ Precision Refinement Aligns the scan with a segmented foot image using OpenCV, fine-tuning the shape with a distance transform algorithm for an optimized fit. 5️⃣ Smoothing & Final Adjustments Applies Laplacian smoothing for a polished finish, removing rough edges and optimizing thickness. 6️⃣ Export for 3D Printing Saves the custom insole as a .OBJ file, ready for 3D printing. Print it yourself or send it to anyone with a 3D printer. 3D Printing Pipeline: Uses Open3D, Trimesh, and ARKit to generate high-fidelity, custom insoles. Saves the custom insole as a .OBJ file, ready for 3D printing. Print it yourself or send it to anyone with a 3D printer. 3D Printing Pipeline: Uses Open3D, Trimesh, and ARKit to generate high-fidelity, custom insoles.
Challenges we ran into
LiDAR Precision: Capturing highly accurate foot dimensions while maintaining a smooth user experience was tricky. 3D Modeling Complexity: Converting foot scan data into a fully adaptable, printable insole required deep work with 3D processing tools. Integration & Optimization: Balancing performance vs. quality—especially ensuring that our app runs efficiently on various iPhone models—posed some hurdles.
Accomplishments we're proud of
📱 Successfully built a working prototype that scans feet using LiDAR and generates customizable, printable STL files. 🚀 Created a seamless and intuitive UI for easy scanning and ordering. 👟 Pushed the boundaries of custom footwear accessibility—making orthotics available to anyone with a smartphone.
What we learned
Deepened our understanding of LiDAR and 3D modeling. Improved skills in full-stack development and 3D-printing workflows. Refined our ability to build a hardware-integrated application under time pressure. Gained insights into user experience challenges when designing health-tech solutions.
What's next
📱 Refining the UI/UX for a more streamlined scanning process. 👨⚕️ Partnering with podiatrists to validate and improve the fit and comfort of the insoles. 🏭 Exploring mass production using sustainable 3D-printing materials. 🌎 Expanding beyond shoe inserts—3D modeling for virtually anything SoleMate is just the beginning of a future where custom footwear is accessible to everyone, anytime, anywhere.
Solemate
TreeHacks project by @taylor tam, @grace yan
- upload a sole scan with lidar
- get a custom made insole
- 3d print it!
Steps
- Create a .ply (point cloud) scan of your foot in-app
- Run the provided script (process.py) on your scan
- You're given a custom insole which is printable and in a .obj format
- Print it yourself, or send this to anyone with a printer
Devpost: https://devpost.com/software/solemate-9jmhuf
Analysis
View
Metric
- 23
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- SwiftIn code
2 of 2 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
85 KB
Source files
28
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
TaylorT52/solemate
34 files · 188 KB · @ 1fd0a65
Structure
Interface
13 files · 38%Screens, components and styles rendered to the user.
Application logic
17 files · 50%Domain rules, services and shared utilities.
+1 more
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Swift91%
- Python8%
- Markdown1%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.