Once upon a time, we received free Rubik's cubes from eBay.
What it does
The app allows you to take a picture of all sides of your Rubik's cube. It then sends it to a backend that solves the cube for you.
How I built it
Jay implemented a rudimentary client-side image processing algorithm that’s showing 80%-90% accuracy for identifying each cube face’s colors in ideal conditions. And all in Swift!
Ismail used Haskell and Scotty to build out the backend. The solver uses a naive brute force algorithm to "solve" the cube.
Challenges I ran into
Jay - The algorithm is at 80%-90% accuracy but this can be improved with time.
Ismail - The algorithm is brute force so it will only actually be able to solve the last two steps of a cube. Change to this algorithm will be made in the future when there is more time.
Accomplishments that I'm proud of
Jay - I implemeted a custom image processing algorithm!!
Ismail - I built my first rest API ever, and all in Haskell!!
What I learned
Jay - Image analysis, edge detection.
Ismail - Haskell, basics of rest APIs.
What's next for Ru6|x H@x
Jay - Improve accuracy of color detection
Ismail - Create a fast solver that actually solves the entire cube.