Inspiration

I was inspired by some other code generation models and their techniques and I wanted to implement them in my own way for a more specific use case in learning and studying.

What it does

EduCreate is a web application that generates personalized web applications user interfaces in NiceGUI based on user learning styles and chosen study/learning content.

How we built it

The main UI framework I used was NiceGUI because of the simplicity, I was thinking that the code generation would more accurate and precise. The app also has a backend running using FastAPI with a websocket for code generation, since a session of code generation would take a decent amount of time. The LLM models used were DeepSeek R1 for most cases and GPT-4o for the UI components list because of the structured output made using RAG for the documentation on each component easier. I created two LLM agents: one for creating the "idea" for the app and another for actually implementing and creating the app. The CoderAgent uses langchain vectorstore for retrievel of the NiceGUI documentation and implements a Self Healing Loop in order to create working and running code.

Challenges we ran into

As a solo there was a lot of work to be done. Trying to figure out a way to get working generated code was extremely difficult and required a lot of testing. I was initially using o1-mini to generate code and it simply performed too poor that even the self healing would not fix the code. Only after switching the Deepseek-R1 did I see significant reduction in bugs in the code. It also required a lot of research into the techniques that others use for coding agents, and those implementations really helped in getting a feasible coding agent, even for such a specific purpose.

Accomplishments that we're proud of

I'm proud I was able to implement this idea to a decent degree, as before this hackathon I was doubting if I would be capable of creating something this complex. I'm just glad I was able to turn something I'm proud of for this hack.

What we learned

I learned that LLM have a long long way to go before they are able to completely replace developers, because I really struggled to make them code up some basic applications. But I also learned that the newer reinforcement learning and chain of thought models like Deepseek R1 are very powerful tools.

What's next for EduCreate

I hope to fully implement the chat feature I created only for the frontend side, before I realized I was running out of time. I think for someone to be able to give feedback for the generated code is incredibly important. I also think developing a third agent specifically for debugging and testing would be beneficial to make sure the application is working as intended. One more thing would be to increase the personalization as I just scratched the surface with learning styles, there is a lot of other things that can make these applications more unique from person to person.

Built With

  • deepseek-r1
  • fastapi
  • langchain
  • nice-gui
  • openai
  • python
Share this project:

Updates