Inspiration
One of our teammates is a mechanical engineer. Again and again they hit the same wall: they could design a part in CAD in an afternoon, but finding out what it would cost to make took days. Stock had to be sized by hand, machining time estimated, quotes chased, and then someone had to check the total against a budget that was already partly spent. The design software knew everything about the part's geometry and nothing about its cost. We wanted to build the tool they wished they'd had: one that connects a CAD file directly to a price, a budget decision and, in the end, getting paid.
What it does
ForgeAI takes an STL file and turns it into a manufacturing decision:
- Part analysis: Upload an STL and ForgeAI measures its bounding box, volume and mass directly from the mesh, shown in an interactive 3D viewer.
- Cost estimate: Choose a material and process (CNC milling or FDM printing). ForgeAI prices the purchased stock, cycle time, setup and finishing, and shows how unit cost falls as quantity rises.
- Budget check: ForgeAI subtracts upcoming commitments and a protected reserve from the account balance. It then tells you whether the order fits and the largest quantity you can actually afford.
- Scenario comparison: Compare two manufacturing plans side by side to see which inputs drive the cost.
- Voice invoicing: ForgeAI generates itemized invoices from the part's actual geometry and specs, then reads each one aloud using Cartesia's Sonic text-to-speech. A single click runs the whole customer queue automatically, and each invoice can be downloaded as a printable document.
How we built it
- Frontend: React and TypeScript, with React Three Fiber (Three.js) for the 3D viewer and Recharts for the cost charts.
- Geometry: A browser-side STL parser that reads binary and ASCII files, checks that the mesh is closed, and calculates volume and surface area. No upload server is needed.
- Cost model: A pure TypeScript model that works in whole cents to avoid rounding errors. It's covered by unit tests that check the reference quantities, budget limits and invalid inputs.
- Voice: Cartesia's Sonic text-to-speech API, called through our own server routes. The API key stays a server-side secret and the browser only ever receives audio.
- Hosting: Runs on Cloudflare Workers, using vinext (an implementation of the Next.js app structure on Vite).
Challenges we ran into
The 3D model was harder than it looked. STL files carry no units, so the same file can describe a 60 mm bracket or a 60 inch one. We had to make users declare the units when they upload. Volume can only be trusted when the mesh is closed and consistently oriented, so we added checks that warn rather than silently give a wrong number. WebGL also failed on some machines, so we built a lightweight software-rendered fallback viewer so the demo would never show a blank box.
Deciding what actually belonged in the product. Our first list of features was enormous: supplier search, quote management, approval workflows, banking integrations, assembly planning and more. We had to keep asking: does this help an engineer understand what a part costs and whether they can afford it? Several integrations we prototyped didn't pass that test, and we cut them so the core flow stayed clear.
Keeping the scope realistic for a hackathon. It was tempting to claim more than we could build well, like predicting machining time from geometry or validating whether a part can actually be manufactured. Those are real research problems. We kept those inputs explicit and editable, labeled our assumptions clearly, and focused on making the parts we did build correct and tested.
Accomplishments that we're proud of
- A complete flow from STL to price to budget decision to a spoken invoice, all in one place.
- Invoices whose line items trace directly back to the geometry and manufacturing inputs, not hard-coded numbers.
- An automated voice invoicing queue that sounds natural, thanks to Cartesia.
- Being honest in the product itself: every estimate shows its assumptions, and the app is clear about what's simulated and what's measured.
- A cost model with automated tests, and an API key setup that never exposes the secret to the browser.
What we learned
- CAD geometry tells you a lot, but not everything. Machining time, tolerances and whether a part can be made at all still need human judgment, and good software should make that visible instead of hiding it.
- Scoping is a skill. Cutting a feature that works but distracts made the product stronger.
- Money math needs care. Working in whole cents and testing the edge cases caught bugs that would have quietly produced wrong totals.
- Voice is a surprisingly powerful interface for operations work. Hearing an invoice read aloud made the workflow feel real in a way a table of numbers doesn't.
What's next for ForgeAI
- Real calls: Connect Cartesia's voice agents to a phone line so customers can hear an invoice and confirm it in a live conversation.
- Live supplier quotes: Pull real prices and lead times from manufacturing and component suppliers in place of assumed rates.
- Smarter estimates: Use the part's geometry, such as pockets, holes and wall thickness, to suggest machining time and flag features that are hard to manufacture, while keeping engineers in control.
- Team workflows: Saved records on a server, user accounts, and approval steps for real purchasing teams.
- Multi-part assemblies: Extend STL-based invoicing to full assemblies of parts.
Built With
- cad
- cartesia
- cloudflare
- next.js
- node.js
- python
- react
- three.js
- typescript
- vite

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