Inspiration
At Princeton, all of our hardware friends have the same complaint: the hardest part of PCB design is finding for compatible parts and buying them before they go out of stock.
Charles, one of our team members, is on Princeton Electric Speedboating. He spends over two months making PCBs for the boat, most of it clicking through Digi-Key and Octopart, reading 50+ page datasheets, and rebuilding material lists when parts conflict or go out of stock. Our friend Charlie from the Robotics Club maintains a “spreadsheet of doom” in Google Sheets just to track which component works with what.
We hate listening to them complain, so we built Jigsaw to solve this problem
What it does
Jigsaw is a compatibility tool for PCB design. You describe your board in plain language –
“Make me a temperature and humidity sensor with WiFi and Bluetooth powered by USB-C (5V) for consumer use.”
Jigsaw:
- Analyzes requirements and identifies key components hierarchically (MCU/SoC → power → radios → sensors)
- Searches suppliers for optimal parts based on specs, pricing, availability, and footprint support
- Validates compatibility across the whole stack – voltages, interfaces, pin counts, packages
Instead of comparing hundreds of options, you just sanity-check a short list of datasheets we recommend.
How we built it
Compatibility engine We represent each component with an AI agent to decide the hierarchical plan. In other words, we want to find compatibility starting with the most restrictive components. We use the Dedalus MCP service to orchestrate tools for supplier search, spec lookup, and part list reconciliation. The compatibility engine then builds a small “component graph” and checks this information against each other.
Backend: Flask Frontend: React + Typescript SPA
Challenges we ran into
Getting “real engineer” workflows right. We had to talk to 11 ece majors and strip away our naive version of “AI designs the whole PCB.” Real EEs want help with compatibility and not a magical black box schematic that they don’t trust.
It’s easy for an LLM to claim two parts are compatible when they’re not. We had to force agents to ground every decision in actual spec fields (voltage ranges, interfaces, packages) and only then let the model narrate the reasoning.
We wanted users to see the AI think out loud. Getting Server-Sent Events stable, handling pauses for clarifying questions, and resuming analysis with the right state was trickier than expected.
Accomplishments that we're proud of
For our demo, we sent it over to a few friends and they double checked that our results were legit.
We actually fill the gap between CAD and search. Our demo shows Jigsaw sitting between KiCad/Altium-style tools and Digi-Key/Octopart-style search – a layer that doesn’t exist today. You can watch the reasoning stream as it explains why each component is chosen and what the alternatives are, instead of getting a mysterious list of part numbers.
What we learned
Fancy agents don’t matter unless every step is tied to real data. We learned to design prompts and tools so the model can’t just guess. Also picking a super niche problem for a hackathon was hard bc we wanted to do user interviews but the people we wanted to talk to weren't up at 3am.
What's next for us
We emailed a few ECE professors at Princeton over the weekend so we are excited to hear their thoughts and talk to them more about our ideas. Also, after to talking to over 11 Electrical and computer engineering students and grad students at Princeton, we our excited to send them the site so they can test it out for themselves!


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