Inspiration

As a software engineer, I found myself spending tens of hours developing functionality that thousands of others have already implemented, especially features for web and mobile apps. While app development was often inconvenient for me, it is much more challenging for non-technical entrepreneurs. LLMs have opened the opportunity to radically evolve how software is developed - so we created a platform that allows anyone to build and deploy applications from scratch.

What it does

Cadence generates and deploys functional full-stack (React and Flask) codebases based on specs provided by the user. This includes auto-development of database architecture, React components, Flask URL routes, CSS styling, following modern engineering best practices.

How we built it

We architected a series of AI prompts optimized for frontend and backend code development, with outputs feeding into inputs of subsequent prompts. Through extensive trial-and-error, the prompts were iteratively revised to prevent common errors that occur in AI-generated codebases. We also created modules that automate the series of CLI commands required for backend and frontend deployment.

Challenges we ran into

The most common challenge with the auto-generation of codebases is handling interdependencies between different code sections. Since the frontend and backend code is generated in separate OpenAI API calls, this runs the risk of inconsistencies. The prompts had to be designed such that the backend and frontend were "familiar" with each other's structure.

Creating the architecture for auto-deployment led to many unexpected errors. Furthermore, as of now, the Cadence platform has not been deployed publicly due to timeout issues with the Heroku backend server - a long term solution may include spinning up virtual machines to address this challenge.

Accomplishments that we're proud of

For many use cases that require full stack web development, this platform can save at least 75% of MVP development time. While errors can be expected roughly 50% of the time when auto-generating complex web apps, this is a big step towards enabling non-technical individuals to build fully functional software from scratch. In support of this, the platform reliably generates and deploys fully functional codebases for relatively simple apps (e.g. an app that stores text inputted by the user in a database).

What we learned

There is vast opportunity in well-structured prompt engineering of LLMs. For example, simply telling the AI that it is "a very experienced frontend engineer with five stars on Stack Overflow" noticeably improves code quality. More broadly, this project opened a window into the future of software development, where building new products will soon become quicker and more accessible than ever.

What's next for Cadence

  • Deploy a live prototype of the platform for app creators to test out (requires complex bug fixes that couldn't be completed at the hackathon)
  • Conduct beta testing with startup founders to validate the market opportunity and improve the quality of code generated
  • Iterate the code generation process to increase reliability. For example, certain boilerplate code (e.g. login authorization token management) can be hard-coded in the prompts, rather than custom generated by the AI, which would increase reliability.

Built With

Share this project:

Updates