Inspiration
CircuitSlide was inspired by my liking for electronics. It was one idea that just popped into my head. After talking to my father about it, the both of us started working on CircuitSlide.
What it does
CircuitSlide is a simple slide puzzle game. It combines the learning of circuitry and electronics in general with the joy of solving a tough puzzle.
It's basically an image slider puzzle that goes on to form an image of a parallel circuit.
This achieves 2 things:
- It engages the user in way where they are forced to think logically.
- It also promotes knowledge of basic circuitry.
How we built it
It all started off on afternoon when my father entered my room mentioning a puzzle hackathon in Flutter. At the time I had only heard of Flutter. My father had an idea that we could learn Flutter a bit first and then work on our project.
And that's how I spent the next 2 and half weeks on appbrewery.co learning the basics of Flutter; thought luckily I already my fair share of experience with web design so the headstart it provided me with was prominent.
2 and a half weeks, I found myself utterly fascinated by Flutter, and incredibly excited about the project that I was going to make.
We (my father and I) followed a process that I think is useful and neat in order to develop any application or game.
"CircuitSlide" was born with me coming up with an idea and explaining it to my father. He also agreed that it was an idea worth investing time and effort into. An idea that had a real shot at the hackathon.
So later followed days and days of work thinking the finer details of the project up, wireframing and desinging prototypes in Figma.
Finally when the designs for CircuitSlide Version 1.0 were finalized, we realized that we still have a long way to go in order to code this up. So we divided our work such that I did the UI and layout, whereas my father worked on the logic to actually pull this off.
The deadline was approaching fast; yet amidst all this I fell sick.
By the time I'd recovered, there were only 5 days left. So with all of our vigour, we finally made it.
We finally created CircuitSlide version 1.0. Yeah.
Challenges we ran into
- The first challenge was evident, we didn't know Flutter.
- The second main problem we faced was the glaring time crunch; looking back retrospectively, the time crunch debarred us from making CircuitSlide much much better.
- One of the challenges we faced during the way was parent - child widget communication. We had to get the parent widget to tell each tile its new coordinates (if toggled) individually. So after some time researching, we found out about
GlobalKeyand theKeyclass in general; but honestly we didn't think specifying aGlobalKeywould be the best way to deal with the situation.
So we solved the problem usingEventbus. It's a Dart package that allows a parent widget to fire an event - specifying the properties that it had to emit; and a child widget could receive the event asynchronously at an individual level. - Lastly, with it's reasons residing chiefly in reason 1, my limited knowledge of responsive layout had it's shortcomings on the project; though towards the end we did kinda manage something up. But still Responsive design is something that's definitely a todo for CircuitSlide Version 2.0.
Accomplishments that we're proud of
- Actually learning Flutter and the whole app design process with the shortage of time
- Finally coming up with something that I personally think is pretty cool
- Giving a decent shot at the hackathon
What we learned
- Flutter - the language
- Out of the many things we learned during the process, one would be learning the finer bits and details of App design.
- I for one, learned how hard it actually is to come up with an idea
What's next for CircuitSlide
Even though the hackathon will end very soon now, I can see CircuitSlide Version 2.0 in my head quite clearly. And so I will most definitely continue the production of CircuitSlide.
I already have a list of features and ideas I'd like to implement in the upcoming versions of CircuitSlide; and they sure will be implemented in the arriving versions in the (not-so-distant) future!
Built With
- eventbus
- flutter



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