Top
Best
New

Posted by bashtian 23 hours ago

Show HN: Capsule – Single-file web apps that save their data into SQLite(withcapsule.app)
Hey HN,

I always had the problem that building HTML pages is really simple now, but trying to save data required hosting it somewhere, and sharing it afterwards was not easy. Over the last few months, I've been building an app called Capsule (it’s also the file extension name) written in Rust with Tauri 2.0 that allows packing an HTML app and its data into a single SQLite file.

The HTML file and any related assets are directly embedded in the database. User data can either be saved as a localStorage key/value store or via a MongoDB-inspired collections API as documents, saved in a table in the file. You can also save other assets, like PDF files or images, directly in the database to keep different documents together. All data can be easily exported to CSV or JSON if needed.

Privacy and security were a big priority for me, so documents cannot do anything out of the box. They don’t have direct access to the file system and they require permission to access the internet. The permission model is still something I’m working to improve. Capsule documents can also use local or remote AI models for document specific AI features.

One downside with this approach is that multiple people working on it will create different copies. To make it possible to merge different copies of the same file, each data entry has a unique UUID and timestamp.

I’m planning to open up the file format specification for the 1.0 version of the app so other apps can read or write Capsule files.

You can try it out in the web preview at https://withcapsule.app/preview with pre-built templates or use any AI provider of your choice to create a custom, Capsule-optimized app by using the following prompt:

"Please read the app wizard instructions at https://withcapsule.app/prompt.txt and help me design an app.“

I’m still working on the file format but there are migrations for each new version, so data should never be lost when using newer versions of the app in the future. Please let me know if you have any ideas or use cases where this might make sense or does not work.

343 points | 144 commentspage 7
rvz 20 hours ago|
Attackers / Malware Developers: "A document as a web app?, What could possibly go wrong?"
tonymet 22 hours ago||
is the idea this would be hosted or run locally (like Electron)?
bashtian 21 hours ago|
This is for local document like apps. Tauri is actually using the OS webview instead of bundling Chromium like Electron. That's why the download is only 10MB for Mac.
tonymet 20 hours ago||
i like that idea. Anything that improves native OS UI, responsiveness (120hz) and reduces resources is a good idea.
blamestross 22 hours ago||
Seems very "packable into a standalone binary" but doesn't seem like that is a planned use case.
bashtian 22 hours ago|
The problem would be cross-platform support. In the end the capsule file is the standalone binary similar to a PDF or a Word document, you only need the viewer app to open any capsule file.
blamestross 20 hours ago||
you can trivially bake X binaries if you have the viewer app for each platform. This is the normal way to distribute software for cross-platform support.

I might just be hyper-defensive to any sort of vendor lock-in like a "viewer app".

annrap1d 18 hours ago||
Is this open source ?
zackify 23 hours ago||
love this idea!
eliauelkouby 6 hours ago||
[flagged]
bezko 23 hours ago||
[flagged]
atikhabib 20 hours ago||
[flagged]
taoh 16 hours ago||
[dead]
tinyutil 19 hours ago|
[flagged]
More comments...