A collection of minimal, self-hosted web apps. Each app compiles to a single Go binary that embeds its templates and static assets and stores data in SQLite.
| App | Description | Deploy |
|---|---|---|
| Sipp | Minimal code sharing with web UI | |
| Feeds | Minimal RSS reader with OPML import/export and a JSON API | |
| Jotts | Minimal markdown notes app | |
| OG | Open Graph tag inspector | |
| Shrink | Image compression and resizing | |
| Cellar | Minimal wine collection tracker | |
| Posts | Minimal CMS blog with admin interface | |
| Bookmarks | Minimal link saver with categories and JSON API | |
| Library | Minimal book tracker with Google Books search | |
| Easel | Daily public-domain painting from the Art Institute of Chicago | |
| Blobs | Minimal web browser for S3-compatible blob storage |
Under pkg/, each its own Go module:
| Package | Description |
|---|---|
pkg/web |
HTTP helpers (embedded assets, JSON, render, redirect) |
pkg/auth |
Sessions store, password/api-key verification, short-id |
pkg/config |
env + .env loading helpers |
pkg/darkmatter |
Embedded CSS + fonts, mountable on any http.ServeMux |
Each app references these via replace directives in its go.mod, so the
source tree is fully self-contained.
Stdlib net/http + modernc.org/sqlite (pure Go, no cgo) + html/template
embed.FS. Permitted extras:goldmark(markdown),gofeed(RSS),golang.org/x/net/html(HTML parsing),golang.org/x/image/draw(image resize),alecthomas/chroma(highlight),golang.org/x/crypto/bcrypt(passwords).
cd apps/feeds && cp .env.example .env && go run .
cd apps/posts && cp .env.example .env && go run .
cd apps/sipp && go run . server --port 3000Each app has its own README with detailed setup, environment variables, and deployment instructions.
