One of Remote Lab's most useful properties is that you can improve it from inside itself.
You can use Remote Lab to edit Remote Lab, inspect files, run builds, and iterate on the app while working in the same environment. It is not just a tool you use — it is a tool you can hack on from within the workspace itself.
Frontend changes
If you changed files under frontend/, rebuild the frontend bundle:
cd frontend && bun run build
Then refresh the browser page.
Typical examples:
- UI changes in
frontend/src/views/ - component edits in
frontend/src/components/ - styling changes in
frontend/src/styles.ts
Backend changes
If you changed files under backend/, restart the service so FastAPI loads the new code:
sudo systemctl restart remote-lab
Typical examples:
- API or WebSocket changes in
backend/server.py - agent or tool logic in
backend/agents.pyorbackend/tools.py - storage, protocol, or model changes in
backend/
Full-stack changes
If you changed both frontend and backend:
- rebuild the frontend with
cd frontend && bun run build - restart the backend with
sudo systemctl restart remote-lab - refresh the browser page
Practical workflow
A good self-hacking loop looks like this:
- inspect the relevant files
- make a focused change
- rebuild or restart only what changed
- refresh and verify in the UI
- repeat
Caveat
Restarting remote-lab drops the active WebSocket connection briefly, but the frontend reconnects automatically and conversation history is already persisted to disk.