Inspiration

Getting started is often one of the slowest parts of software development.

Even when developers already know what they want to build, setting up folders, creating files, configuring build systems, and preparing starter code can become repetitive and discourage experimentation.

RepoPilot was inspired by the idea of reducing that friction. Instead of spending time creating boilerplate projects manually, I wanted users to describe an idea in plain language and immediately receive a usable starting point that they could inspect, save, build, and iterate on.

I also wanted to explore how AI could be integrated into an actual development workflow rather than being used only as a chatbot.

What it does

RepoPilot is an AI-powered desktop application that generates software starter projects from natural language prompts.

Users enter a description of the project they want to create, and RepoPilot:

-Sends the request to ASI -Generates structured project files -Displays the generated project tree -Allows users to preview generated source code -Exports the generated files locally -Builds supported Qt + CMake projects directly inside the application -Launches generated applications after successful builds

This turns idea validation into a faster and more interactive process.

How we built it

RepoPilot was built using two main layers:

Frontend -Qt Creator -Qt Widgets -C++ -Qt Designer (.ui)

The desktop interface handles: -Prompt submission -File tree visualization -Code preview -Project export -Build and run controls

Backend -FastAPI -Python -HTTP API integration

The backend receives prompts and forwards them to ASI.

To improve reliability, prompts are converted into structured instructions that force the model to return JSON containing: -Project name -File list -Source contents The frontend then parses the response and reconstructs the generated project locally.

Challenges we ran into

Several challenges appeared during development:

Getting AI output into a predictable JSON structure Handling malformed responses safely Managing project generation state inside the UI Building generated projects automatically using CMake Preventing users from triggering conflicting actions during generation and build processes Debugging generated applications that compiled successfully but crashed at runtime

One interesting challenge was balancing flexibility and reliability — allowing RepoPilot to generate different project types while still supporting automated build and run functionality.

Accomplishments that we're proud of

I am proud that RepoPilot evolved beyond simple code generation.

Some highlights include:

-Generating complete multi-file projects -Visualizing generated project structures -Previewing source files before export -One-click saving and project export -Integrated Qt project build workflow -Running generated applications directly from the interface -Successfully integrating ASI into an end-to-end development experience

Most importantly, RepoPilot became something that can actually be used as part of an early development workflow.

What we learned

Through building RepoPilot, we learned:

-How to integrate AI APIs into real applications -Designing reliable prompt structures for structured outputs -Managing asynchronous requests in Qt -Using FastAPI as a lightweight backend layer -Improving user experience through feedback, disabled states, and process control -That building a good developer experience often matters as much as generating correct code

What's next for RepoPilot

Future improvements for RepoPilot include:

-Support for additional frameworks and languages -Build and run support beyond Qt/CMake -Better validation of generated projects -Project templates and presets -Live editing and regeneration of files -Dependency detection and installation -Multi-model generation options -Improved project quality checks before export

My long-term goal is to turn RepoPilot into a platform that helps developers move from idea to working prototype faster and with less setup overhead.

Built With

Share this project:

Updates