
UI
- Lets aim to create an extremely clean UI for this. Half the appeal of these apps is clean websites in minutes
- Editor UI should have basic animations when switching b/w previews/terminal/code.
- Creating an editor from scratch, Terminal from scratch. (VSCode is an alternate but none of these websites use it, devin does though)
- Storybook preferred for all components
LLM Layer
- Langchain (ts or python your call)/Langgraph for creating a ReAct agent
- Support a tool list closer to what lovable has
- Create routers for figuring out the framework, checking if its a valid prompt etc.
Sandboxing (most difficult bit in v0)
- A fresh React/Next project needs to be spun up in a sandbox.
- Whenever a tool call is made, the sandbox needs to be updated (file written to/read from/git patch applied etc).
- Files on the sandbox need to be exposed to the frontend.
- Only allow updates via LLM, user cant edit code, its a read only editor.
- Whenever a command is run (shell tool is called), run it in the sandbox (use node.js exec) and pipe the response to a div on the frontend. User cant run their own commands.
For lovable, it seems like
npm run dev is something they run for u and thats it, the LLM doesnt tell the backend to run this command.