frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Minilith – A zero-dependency CMS stored inside a PNG file

https://blog.minilith.site/#posts/minilith-architecture
5•a_bytecycle•2h ago
I enjoy the constraints of retro development. While building games in PICO-8, I took a interest in the way it packs data into the virtual cartridge. I dug into steganography and started thinking: could I apply the same logic to a content management system? Do we really need all the bloat just to host a micro blog?

Minilith is a database free CMS where the entire state (posts, pages, and settings) are compressed and stored directly in the pixels of a 256xd256 PNG file.

Minilith has zero dependencies. There is no Node, no bundlers, and no external DBs. It relies entirely on browser APIs to compress, secure, and render a site directly from the image.

The Minilith Architectural Lifecycle

Instead of a traditional backend and database, the flow looks like this:

1. Payload Creation: The editor data (JSON) is signed with a private key and compressed using the browser's native deflate algorithms.

2. Injection: The compressed bits are injected into the image's RGB channels using steganography. A raw tEXt chunk is injected right before the IEND marker to wrap the extraction script, turning the image into an executable polyglot.

3. Distribution: The result is a single image file. It can either be pushed directly to Cloudflare KV or downloaded locally.

4. Extraction & Rendering: A client side loader fetches the image, draws it to a hidden canvas, extracts the bits, verifies the signature and visual fingerprint, and runs the decompressed payload.

Since the entire database is just a picture, deployment and portability are extremely simple:

- Cloudflare Edge: Publish directly from the editor to Cloudflare KV, overwriting a single key-value pair for instant updates.

- Self Hosting: Generate a .zip archive from the editor and host on any basic web server.

- Offline Portability: The editor utilizes service workers. Once you have visited the editor once it is cached. You can view, edit, and generate new images completely offline.

The obvious flaw is aggressive image processing and optimization destroying the polyglot logic and data. (Though fun fact: texting the raw image over iMessage preserves the payload)

The code is experimental and the linked post is my architectural breakdown of the process. I'd love feedback and to hear your thoughts and ideas.

Comments

a_bytecycle•2h ago
You can view and create a Minilith with the editor here: https://minilith.site/
Echoo-ai•2h ago
The iMessage detail is funny. Have you tried whether GitHub's CDN or Cloudflare Image Resizing kills the polyglot on the first hop?
a_bytecycle•1h ago
I haven’t tried GitHub’s CDN or Cloudflare’s image resizing but I imagine it would kill it. I tested sending in Discord and it converts to a .webp which kills the polyglot.

Show HN: Open-Source eInk Bike Computer

https://opentrailpaper.com
330•stingrae•21h ago•109 comments

Show HN: TERMy – A fast terminal assistant that does not use LLMs

https://github.com/gioblu/NPC-Forge/blob/main/docs/development.md
162•gioscarab•1d ago•42 comments

Show HN: Minilith – A zero-dependency CMS stored inside a PNG file

https://blog.minilith.site/#posts/minilith-architecture
5•a_bytecycle•2h ago•3 comments

Show HN: Moadim.io – A scheduler for agents

https://moadim.io/
28•tupe12334•14h ago•12 comments

Show HN: TenantLayer – Multi-Tenancy for Spring Boot and Postgres

https://tenantlayer.io
4•suchait6655•5h ago•1 comments

Show HN: Reactor Atlas

https://reactoratlas.com
70•fedecaccia•2d ago•24 comments

Show HN: Personal Context MCP

https://lanes.sh/showcase/personal-context-mcp
9•s-xyz•14h ago•0 comments

Show HN: WinZST > 7-Zip fork with first-class compressed tar support on Windows

https://github.com/firebadnofire/WinZST
3•firebadnofire•10h ago•2 comments

Show HN: Rubato – Retro-Mac desk device mirrors AI coding state-ESP8266

https://github.com/lovaxi/Rubato_Device
5•Beartificial•11h ago•2 comments

Show HN: OwnTime – a chess clock for your day's priorities

https://owntime.app/
110•fmos•3d ago•60 comments

Show HN: HN Match Maker – Matching "Who Wants to Be Hired?" With "Who's Hiring?"

https://hnmatchmaker.com/
121•all2•3d ago•46 comments

Show HN: I made a word building game supporting anagrams and one handed use

18•busymom0•2d ago•1 comments

Show HN: Agent-to-agent payment. Your agents can pay each other

https://openspender.com/agent-to-agent
7•firatcan•14h ago•1 comments

Show HN: TimerVana a Local-first scheduler for real world routines

https://timervana.net/browse
3•granto•15h ago•0 comments

Show HN: The cheapest GPU cloud – H100s at $2.04/HR, H200s at $3/HR

https://compute.cheap/
56•EmiCorleone•2d ago•20 comments

Show HN: Marketplace for finding craft fairs and vendor events

https://www.boothscout.com
4•wowinter15•18h ago•0 comments

Show HN: Newton's Orchard – Browser-based space/gravity playground

https://newtonsorchard.app
31•andrewchilds•3d ago•5 comments

Show HN: Sageling - a local AI agent for Mac, Qwen 3.5 9B in-process via MLX

https://sageling.ai/
4•kirillklimuk•19h ago•1 comments

Show HN: Covenant – A governance framework for multi-agent AI systems

https://github.com/asalsali/covenant-framework-community
2•alexjsalsali•19h ago•1 comments

Show HN: Coder Eval – A Framework for Evals

https://github.com/uipath/coder_eval
4•mihaich•19h ago•1 comments

Show HN: Weedout – Safari extension that hides YouTube AI-labeled videos

https://masteranza.github.io/weedout/
182•masteranza•3d ago•82 comments

Show HN: Local Mitsubishi AC Control with ESPHome and an AtomS3 Lite

https://didac.dev/builds/mitsubishi-air-conditioning
2•sabatesduran•21h ago•1 comments

Show HN: NationalDex • minimal open-source Pokédex

https://www.nationaldex.app
4•linesofcode•21h ago•2 comments

Show HN: Running 104GB Qwen3.8-Flash-Next on 48GB Mac with at ~12 tok/s

https://github.com/carloslfu/slotstream
235•carloslfu•3d ago•116 comments

Show HN: Clustta – Open-source version control for creative work

https://clustta.com/
3•taiwofolu•23h ago•0 comments

Show HN: Less-sheet – A minimal but fast CSV viewer

https://te-x.github.io/less-sheet/
3•te-x•23h ago•0 comments

Show HN: Declick – Turn an OpenAPI Spec, MCP Server or SQLite DB into a CLI

https://github.com/ucsandman/declick
6•practicalsystem•1d ago•2 comments

Show HN: Audioreality.ai – email to private daily podcast summary show

https://www.audioreality.ai
3•BSOhealth•1d ago•2 comments

Show HN: Sentrint, Ship AI features without losing sleep

https://sentrint.com/
4•xEcho•1d ago•1 comments

Show HN: OpenStint – lap timing using RTL-SDR and near-field transponders

https://openstint.org/
3•zsellera•1d ago•0 comments