Wired Minds

Inspiration

These days, there are tons of free online tools for kids to learn coding and software engineering. But where are the tools for electrical engineering? Most existing circuit-builder tools are either too complicated for kids, cost money, or both. Not to mention, there are NO multiplayer circuit builders in the market today. We saw this gap and saw an opportunity to provide quality education to a population in need!

What it does

Wired Minds is a multiplayer digital circuit builder. Users can create new circuits or join an existing one with their teammates. Then, using our simple block components, they can build functional digital circuits! Updates will be broadcasted to all viewers in real-time. Once a circuit is built, users can press the play button to start a simulation of their circuit!

How we built it

Our frontend is built with React, TypeScript, and a Two.js canvas.
Our backend is built with Gin and Go.

Challenges we ran into

This way by far the most technically challenging hackathon project any of us have been a part of. There were a few areas that were particularly tough that we'll dive into below.

Making it multiplayer

The first challenge in this project was making it multiplayer. How could we efficiently broadcast data to all viewers? To tackle this, we took inspiration from Figma's web socket design.

Interactive canvas

The next challenge was creating an interactive canvas to draw out our circuits. Figuring out how to add, move, delete, and connect components was difficult, to say the least. Displaying a canvas requires tons of state management!

What does this circuit actually do!?

Now that we had a multiplayer circuit going, the big question was: what does this circuit actually do!? We decided to tackle this by forming the canvas components into a tree and setting up a truth table for each component type. Then, by traversing the tree and comparing it to our truth table, we were able to figure out the output values and display the solved circuit back in the front end.

Accomplishments that we're proud of

Tackling a project with technical depth way beyond a CRUD app!

What we learned

We learned a ton about web sockets during this project. We also learned lots about digital circuits too!

What's next for Wired Minds

There's tons of potential for the expansion of Wired Minds!

First, we hope to add even more circuit components for users to play with:

  • Clocks
  • Motors
  • 8-digit displays

Second, we hope to add more interactivity to our circuit simulation:

  • Flashing lights
  • Animations to show the flow of electricity
  • Manual clock ticks

Last, we hope to level up the educational power of the tool:

  • Toggle between block components and realistic components (ex: actual logic gates)
  • Tutorials and beginner tooltips

Thanks!

Thanks for stopping by to view our project!

Built With

Share this project:

Updates