Tech Demo of the Suggestion Engine which uses Hammer of the Gods's EdgeML Rune API:
During the initial brainstorming process, we separated our workflow into multiple platforms, using Google Docs, Discord, and Figma to plan out what we wanted to do. While it was the standard, we thought that a centralized tool/platform could be a vastly superior option as it would be specialized and more efficient at organizing ourselves. Thus, we got the inspiration to create Cadence.
What it does
Fundamentally, Cadence is a project management tool that is specialized for hackathons and personal projects, but it is also so much more. One of our most unique features is our recommendation system. We take the description of your project as input and then analyze it to recommend various technologies that you could try to implement. In fact, we will also generate personalized code based on the suggestions so that the hackers have an easier time getting started. Of course, you will also be able to create a timeline detailing the various phases and tasks that need to be delegated, but Cadence represents an all-inclusive hackathon companion that can truly accelerate the development process.
How we built it
Frontend: React, Chakra-UI, React-Query
Backend: Node.JS, Express.JS, Typescript, PostgreSQL with Prisma, esbuild
Machine Learning: Hammer of The Gods EdgeML Rune, Rust, BERT NLP model
Challenges we ran into
Due to the fact that we wanted to do something innovative with Rune, we faced many problems setting up the model. We wanted to use Rune for Natural Language Processing but the functionality for tokenization wasn't implemented in Rune, so we had to implement it by ourselves by creating a custom proc-block in Rust. We ran into various cryptic errors and since the documentation was quite sparse, we ended up spending most of our time during the hackathon trying to resolve one error after the other. However, the developers at Hammer of the Gods were really helpful in guiding us towards a solution.
Accomplishments that we're proud of
- Resolved our issue with the Rune API
- Were able to implement a custom proc-block in Rust
- Make a suggestion engine to get the frameworks and APIs best suggested for the project
- Beautiful design
What we learned
We ended up learning a lot about:-
- Machine learning: We learned about how tensors and logits work, and how models are trained
- Rust: We were really new to rust, so we got to know a lot about the language itself, and how it can be compiled to wasm and run on multiple devices ranging from websites to mobile phones
What's next for Cadence
- More features including the ability to be used with multiple hackathons
- Better classification with GPT-3 model
- Allow hackathon organizers to setup their schedule on our platform and have it get connected with the user's google calendar, so that they can directly setup events without having to setup time manually.
- Implement a codegen using OpenAI Codex
- Implement a plugin API so that library authors can hook into the code that was generated by the codegen and mutate the AST to inject their library's setup code
- Allow the organizers to host workshops directly on our platform so that the hackers don't have to create multiple accounts like that of Hopin
- At face value, we are trying to fulfill a niche in the project management space for small personal projects and hackathon projects. As such, a potential customer would be MLH and hackathon hosts that could be looking for a platform to help hackers organize themselves, it could a licensing system.
- For other individuals or hackers that really liked the tool during hackathons, they might want to use the tool in their own personal projects so we could over a subscription model for that market.
- Most importantly, our suggestion engine that could help hackers and individuals get started with their project is in itself a promising entrepreneurship opportunity. We are confident that there are and will be many individuals who would be interested in a tool that can tell them which technologies to use and generate their boilerplate code. This tool would appeal to both beginners who are looking for a direction to get started, as well as veterans who are looking for a fast method to get started with custom code to implement their newest unicorn idea.
Time is of the essence in this industry and Cadence can help you keep your tempo.