.uapps are SQLite archives containing both compressed web app files and user application data. (Based on sqlar: https://sqlite.org/sqlar/)
Opening a .uapp fires up a small Tauri-based runtime shell that serves the app from the archive and provides: RPC to read/write back to the database and modify the schema | AI chat with integrated tools for modifying and debugging the app | An internal file browser | An internal SQLite browser
Web Demo: https://thederf.com/uapp/demo | Repository: https://github.com/JoshTheDerf/uApp | Example List: https://github.com/JoshTheDerf/uApp/tree/main/examples | Downloads (still unsigned): https://github.com/JoshTheDerf/uApp/releases The web demo is compiled to WebAssembly and can load all of the example apps. (And the demo launcher is itself a modifiable .uapp)
The goal is to be able to distribute a .uapp file to someone over email/Teams/flash drive, and they can continue modifying it as their workflow evolves. Some of the ideas behind uApp are inspired by CloudFlare OS and other similar projects, but trying to get back to a local-first model for self-contained internal tooling without needing to buy into a broader corporate ecosystem.
As you'll see in the examples, I started out building normal applications, and got a bit distracted making games from my phone. SandVox in particular was way too fun. It's a Minecraft-style world with Box3d integrated for "falling block" physics.
All demos were built with GLM 5.3. The uApp program itself was written with a mix of models, including Claude and GLM.
What are y'all's thoughts? I'd love to answer questions and get further inspiration/ideas!