Hacker News
Latest
Datamimic – don't let your coding agent invent its own test world
2026-09-16 @ 04:58:36Points: 39Comments: 6
Negativland, Culture Jamming, and the Art of Making Something New
2026-09-16 @ 02:46:06Points: 83Comments: 20
Stay discoverable in search while disallowing AI training
2026-09-16 @ 02:25:18Points: 73Comments: 43
Apple Reference Image: A New Approach for Verified Photography
2026-09-16 @ 02:07:31Points: 260Comments: 192
Saving Jet Fuel
2026-09-15 @ 23:17:20Points: 95Comments: 45
Recreating Voodoo Graphics and a Late-1990s Gaming PC on an FPGA
2026-09-15 @ 22:50:55Points: 128Comments: 37
German Rheinmetall open-sources its Battlesuite connected weapon system protcol
2026-09-15 @ 21:07:47Points: 222Comments: 77
Jean-Pierre Serre turns 100
2026-09-15 @ 20:57:18Points: 134Comments: 24
Building a Linux GPU Driver for the M4 Mac Mini in One Month
2026-09-15 @ 19:30:03Points: 324Comments: 189
WangNet – 1.8 MB, zero-dependency Numberwang adjudication in 11 languages
2026-09-15 @ 19:27:35Points: 162Comments: 58
Introducing System One Models and Jev
2026-09-15 @ 19:25:03Points: 1405Comments: 402
Learning to solve hard problems in RL for LLMs by never giving up
2026-09-15 @ 19:07:38Points: 95Comments: 4
Chopping up books when they're physically too big
2026-09-15 @ 18:45:31Points: 177Comments: 166
We got admin access to Baseten's production GitHub
2026-09-15 @ 18:11:24Points: 280Comments: 155
An update on Wayback Machine access
2026-09-15 @ 17:52:18Points: 541Comments: 272
Gemini 3.8 Live and 3.8 Live Extended Thinking
2026-09-15 @ 17:38:18Points: 417Comments: 272
Jiga (YC W21) Is Hiring Product Engineer (Remote/US)
2026-09-15 @ 17:00:31Points: 1
The CSS Zen Garden dream, finally shipped
2026-09-15 @ 14:40:08Points: 144Comments: 79
The Inference Hardware Revolution of 2026
2026-09-15 @ 14:24:08Points: 148Comments: 16
Show HN: Capsule – Single-file web apps that save their data into SQLite
2026-09-15 @ 13:31:40Points: 331Comments: 139
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.