Zusam
From the German "zusammen," together: Zusam is a private social space for a group of friends - a self-hosted alternative to the family WhatsApp group or the friends Facebook group, with no ads, algorithms, or data harvesting in between. The AGPLv3 project is deliberately modest in scope and stack: a Symfony PHP backend exposing a REST API over SQLite, with a lightweight Preact single-page frontend, designed for a low server footprint that runs comfortably on small hardware. Groups post messages into shared feeds that handle real life well: video and image uploads (with FFmpeg processing), photo albums for trips and events, and rich link previews with inline embeds for YouTube, Vimeo, Imgur, SoundCloud, Twitch, and Bandcamp - so sharing a song or a clip looks the way it should. When something needs to leave the circle, public link generation exposes a single message to non-members without opening the group. The interface is fully responsive and mobile-friendly, targeting Firefox ESR and recent Chrome. It is the small-web answer to a real question: where does a group chat's shared history live when you want it owned by the group instead of a platform?
Hiccup
"Get to your most important links, FAST" - Hiccup's README states its whole mission in that one line, and the static start page delivers it. It is a client-side React single-page app - no backend, no database, no accounts - driven entirely by a config.json that defines featured link cards, categorized sections, and search providers. The search bar is the power feature: it queries your own links by name, URL, and tag while simultaneously offering external providers like Google, DuckDuckGo, and Amazon (plus custom URL-template providers you define), with arrow-key navigation and Enter to launch, so muscle memory replaces mousing. Editing happens in the browser - drag and drop links and background images, tweak cards in edit mode - with changes persisting to localStorage; a built-in config manager exports the JSON for hosting, and remote profile loading pulls a shared config across every browser and device you use. Multiple profiles keep home-server, work, and dev-tool link sets separate. PWA support installs it on a phone home screen, caching strategies keep it fast offline, read-only mode suits kiosk displays, and Cmd/Ctrl+/ reveals the full hotkey reference. Serve it from any static host and point your new tab at it.
Ties
A federated bookmark manager written in Rust: Ties (formerly linkblocks) is your own small corner of the web for saving, organizing, and sharing good pages, connected to the fediverse over ActivityPub. Instead of rigid folders, bookmarks live in arbitrarily nested lists that link together into a knowledge graph. Saved pages are fetched, converted to a readable archived version, and stored in the database, so full-text search covers titles, URLs, and the actual page text - and the content survives if the original disappears. The federation model is deliberately anti-viral: there is no global timeline and no algorithmic feed. You publish public lists for anyone, follow users whose taste you trust, and mark trusted users whose bookmarks become part of your search range - extendable to trusted-users-of-trusted-users for a wider net. Public bookmarks post to Mastodon timelines, and WebFinger lookup makes your handle discoverable across fediverse platforms. Operationally it is about as light as web software gets: a single binary with all assets baked in, integrated TLS so it can run without a reverse proxy, PostgreSQL as the only dependency, OIDC single sign-on, and a bookmarklet for one-click saves. Note the project is alpha: single-user instances only, and all data should be considered public. AGPL-3.0 licensed, built with Rust and htmx.
Nanote
100% portability is Nanote's one non-negotiable principle as a self-hosted note-taking app. There is no database - notebooks are plain folders and notes are plain Markdown files on your filesystem, so the same notes remain fully manageable from a terminal, Notepad, or any other editor, and walking away from Nanote costs nothing because your data was never in a proprietary format to begin with. Built with Nuxt and TypeScript around the Milkdown editor, it layers modern conveniences on that plain-file foundation: fast content search across all notes using OS-optimized tooling (ugrep), native Markdown rendering, image and file attachments, and a mobile-friendly layout for reading and editing on a phone. Clever remark directives make plain text interactive - typing ::file inserts an inline upload picker, while ::today, ::now, and ::tomorrow expand to live dates and times. A fully typed REST API with validation covers automation, and access is protected by a configurable secret key. Deployment is one container with three env vars: paths for notes, uploads, and config, all bind-mountable so your Markdown lives wherever you want it - including inside an existing sync setup. AGPL-licensed and actively daily-driven by its author.
Oxigen
The social preview cards shown when links hit Twitter, LinkedIn, Slack, or Discord, generated on the fly: Oxigen is a small Go service for dynamic Open Graph images, no designer required per page. Instead of exporting static images per page, you compose a card once and drive it with parameters: title, author, website, logo, background image, and background dimming all arrive as URL query arguments, so your og:image meta tag simply points at the Oxigen endpoint with the page's own values substituted in. Every blog post, product page, and doc gets a branded, correctly sized preview generated on the fly. A built-in web UI covers interactive composition - tweak the text and imagery, watch the preview update, copy the resulting URL - while the same rendering path serves programmatic API use from static site generators, CMS templates, or build pipelines. Rendering is pure Go using the gg 2D graphics library, freetype fonts, and the imaging package, built on the kyoto framework by that project's author. Deployment is one stateless container on port 80 with no database and no external dependencies, so instances scale and restart freely.
Wally
Started as an ExpenseOwl-inspired project, Wally grew into a lightweight, self-hosted expense tracker more capable in every direction its author touched. The backend is Python FastAPI over SQLite, which means every deployment ships a full REST API with interactive documentation at /api/docs - automating imports or wiring in external tools requires no reverse engineering, and when the optional login page is enabled you can mint scoped API keys from the Settings page for token-based integrations. The transactions view is built on AG Grid, bringing real search, column sorting, and per-column filtering to your ledger, with a footer totaling rows, income, and expenses for whatever slice you have filtered. Dashboards go beyond the usual monthly doughnut: a Change button swaps in year-scale line graphs so you can track a single category - restaurants, say - across time. Recurring transactions edit intelligently, letting you apply changes to all instances or only future ones. CSV import and export use a simple six-column format handled from Settings, the refined dark theme is genuinely easy on the eyes, and the interface is translated into more than ten languages. The whole thing runs from one small container with a single data volume.
TavernAI
Character-based chat and storywriting with large language models: TavernAI is the open-source frontend that leaves model choice to you. It generates no text itself; it connects to the backend of your choice - OpenAI (including GPT-4), Anthropic Claude, KoboldAI and KoboldCpp, Oobabooga's Text Generation Web UI, NovelAI, Ollama, and the crowdsourced Horde - so cost, model quality, and content policy are decided by your backend, not the interface. Characters are defined by portable card files in PNG or JSON format with personality, scenario, and example dialogue, and tens of thousands of community-made cards from sites like Chub.ai import directly. Conversations support group chats with multiple characters, a story mode for long-form writing, message swiping to branch between alternative responses, and full editing of any message. World Info injects lore into context when keywords trigger, keeping long roleplays consistent. Themes, custom backgrounds, and configurable generation settings round out the interface. It runs on Node.js, and the SillyTavern project began as a fork of it.
Gray Duck Mail
Email discussion lists - the venerable listserv pattern where one address relays to a whole group - without the notorious setup pain of Mailman or Sympa: that is Gray Duck Mail. Its architectural trick is requiring no mail server of your own: the C#/ASP.NET Core app monitors a POP3 inbox at any external email host supporting POP3/SMTP and aliasing, relays each incoming message to all list members via SMTP, and archives it for browsing in the web interface. Replies route back to the entire group automatically. The tedious parts of list management are handled by convention: dedicated aliases process join requests, subscription confirmations, and unsubscribes, while a bounce alias in the return-path catches delivery failures so dead addresses get handled instead of silently rotting. The web administration interface creates and removes lists, manages contacts, browses message archives, and imports or exports the local database for backup. GPLv3-licensed, Docker-distributed, and fully code-documented, it targets exactly the groups email still serves best - neighborhoods, schools, congregations, workplaces, and families - where one message keeping everyone in the loop beats yet another app nobody wants to install.
GlitchTip
GlitchTip speaks Sentry's protocol without Sentry's operational weight - open-source error tracking that your existing SDKs already understand. The pitch is pragmatic: instrument your application with the official Sentry SDKs you already know - any language they cover - and point the DSN at your own GlitchTip instance instead. Errors, exceptions, log messages, and Content Security Policy violations flow into one place for triage, grouped into issues with stack traces, with alerts delivered by email or webhook the moment things break. Where self-hosted Sentry has ballooned into a docker-compose stack of twenty-plus containers, GlitchTip is a deliberately lean Django and PostgreSQL application a small team can actually run. Beyond errors, it bundles three more monitoring concerns: performance monitoring takes a works-out-of-the-box approach - no dashboard building, just your slowest web requests, database queries, and transactions surfaced automatically; uptime monitoring pings your sites and alerts on failures, or runs in reverse as a dead-man's-switch heartbeat for cron jobs that must check in on schedule; and log search puts application logs alongside errors for faster debugging. Unlimited projects and team members, MIT-licensed, built by Burke Software - your event volume is limited only by your own hardware.