We were inspired by the exciting possibilities and problems that can be unlocked with Quantum Computing. QC has the potential to solve intractable problems in a reasonable time and change the world. There are existing SDKs out there but we were inspired to build our own in only a weekend.
What it does
We built a Software Development Kit for Quantum programmers.
How we built it
The website is built with Flask and hosted on AWS. The quantum virtual machine is written in Python and the compiler is written in Common lisp. The quantum programs we wrote were written in our own Quantum Programming Language.
Challenges we ran into
Throughout the product there where many challenges that we ran into and overcame. We struggled with using AWS and the AWS interface as it can be quite confusing and complex, to add on top of that connecting our domain from domain.com to AWS would work sometimes and sometimes it wouldn't, providing inconsistent results. As with any project there was also a big learning curve that we went through to fully understand new material needed for the project, but we persevered and read many articles to fully understand the concepts at hand. Some of our team members had never touched some of the technologies we were using, but the other team members offered guidance and we learned a lot.
Accomplishments that we're proud of
We have implemented and simulated Quantum Teleportation between two instances which is the process of sending a quantum bit from a quantum computer over two binary bits to to another quantum computer. Not only did we learn this theory but we also figured out how to create a web interface that uses the quantum virtual machine to do this exact thing between two instances! Pretty exciting! While a large majority of the code is hidden behind the web interface, its amazing feeling to see our QVM able to run quantum programs and get accurate results.
What we learned
As this project developed we all learned how to work with in and as a team to deliver toward an end goal. This team work couldn't have been done if we did not learn how to work on the same files at the same time. We utilized git to collaborate and work at the same time, providing a lot of efficiency. On top of team skills there was plenty of new technical skills learned as well from learning how to deploy a Flask app on AWS all the way to quantum entanglement and quantum teleportation.
What's next for QuanAacademy
Gain users, don't get sued by Khan Academy. We'd like to clean up our code base to be more efficient, expand our Quantum Programming Language a cloud based endpoint where users can run their own Quantum Program using the SDK we built. We'd also like to build a debugger as well as implement other Quantum Programs such as Quanum Tic Tac Toe for educational purposes.