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.

Built With

Share this project: