243 applications
mCaptcha screenshot thumbnail

mCaptcha

The CAPTCHA bargain - annoy your users and feed their behavior to Google - gets replaced with economics by mCaptcha. Instead of image puzzles, it uses SHA256 proof-of-work: every visitor's browser silently solves a small computational challenge (via a WebAssembly library) before submitting a form. Humans never notice the milliseconds; bots hammering your site must burn more compute sending requests than your server spends answering them, which makes attacks more expensive than defense - the property that also makes mCaptcha genuine DoS protection, not just bot filtering. Written in Rust, the system is fully automated: difficulty scales with traffic, so challenges stay trivial in normal conditions and harden under attack. The privacy and accessibility wins are structural rather than promised: no tracking, no profiling, no user-pattern data collection, and no visual puzzles that exclude users with visual or cognitive impairments - the design was published in Communications of the ACM. Rate limiting is IP-independent, so users behind NATs, VPNs, or Tor get the same experience instead of endless challenge loops, and proofs resist replay attacks, neutering captcha farms. Migration is deliberately easy: the API is compatible with reCAPTCHA and hCaptcha, making it a drop-in replacement. AGPL-licensed core with proprietary-friendly client libraries.

Deploy
Grav screenshot thumbnail

Grav

No database anywhere in the stack: Grav, the leading flat-file CMS, builds every page from a folder of Markdown and YAML on PHP, Symfony components, Twig templating, and Doctrine caching. That architecture is the whole argument: content is Git-versionable, rsync-able, and lock-in-free; pages render in well under 100ms without database round-trips; and backup means copying a directory. Content authors write Markdown (or plain HTML), configure with readable YAML, and define custom page structures via blueprint files that generate editing forms automatically. The optional Admin panel adds a polished editing layer: dashboard with site activity, page management with a syntax-highlighted editor and live preview, drag-and-drop media uploads, one-click plugin/theme updates, and normal/expert modes for form-based or raw YAML editing. The ecosystem runs deep - hundreds of open-source plugins and themes installed through the GPM package manager, with an event-hook architecture that gives plugins full control over the request lifecycle, and downloadable skeletons providing entire pre-built sites. Grav 2.0 modernizes the stack (PHP 8.3+, Symfony 7, Twig 3) and adds a first-party REST API, an MCP server for AI agents, and a SvelteKit single-page admin with real-time collaborative editing. Ideal for docs, blogs, and marketing sites. MIT-licensed.

Deploy
Mealie screenshot thumbnail

Mealie

A recipe manager that feels like a consumer product rather than a homelab experiment: Mealie pairs a FastAPI backend with a reactive Vue frontend for the most polished self-hosted meal planning around. The killer feature is the recipe scraper: paste a URL from hundreds of supported cooking sites and Mealie imports the ingredients, steps, times, and photos automatically. Structured HTML/JSON paste, a Markdown-capable manual editor, and imports from other recipe apps (like Tandoor) cover everything else. Meal planning uses a drag-and-drop calendar with breakfast, lunch, dinner, and snack slots, plus rule-based random recipe insertion - constrain the pool by tags or categories per meal type or weekday. Shopping lists link recipes so all ingredients land in one place, organized into supermarket sections, and update in real time for everyone in the household. The multi-tenancy model is genuinely thought through: isolated Groups can host multiple tenants, and Households within a group share recipes and organizers while keeping meal plans and shopping lists private. Cookbooks group recipes by your own criteria, a cooking mode stays readable on a phone propped against the backsplash, and 35+ language translations ship built-in. A fully documented REST API and scheduled webhooks (e.g., today's meal plan to Home Assistant) make it automatable, with SQLite or PostgreSQL storage and automatic backups.

Deploy
Keeper screenshot thumbnail

Keeper

Work, personal, business, and school calendars at different providers double-book because no one system sees your real availability - Keeper solves that multi-calendar collision problem. Its pull-compare-push sync engine aggregates events from Google Calendar, Outlook/Office 365, iCloud, FastMail, any CalDAV server, or read-only iCal/ICS feeds, and pushes blocking events to one or many destination calendars so time slots align everywhere. The design is deliberately content-agnostic - it syncs timeslots, not titles or descriptions, so a personal appointment shows as busy time on your work calendar without leaking details. Sync logic is clean: events Keeper creates carry a traceable UID suffix, deletions propagate, and orphaned entries are purged automatically. A token-authenticated aggregated iCal feed combines selected calendars into one subscribable URL for Apple Calendar or Thunderbird. An optional MCP server gives AI agents read-only calendar access over OAuth 2.1 - list calendars and query events by date range, with no write capability. Built with Next.js and Bun under AGPL-3.0, the standalone Docker image bundles web, API, cron, worker, Redis, and PostgreSQL in one container, and self-hosting unlocks every Pro feature - unlimited calendars and one-minute sync intervals - for free.

Deploy
Peppermint screenshot thumbnail

Peppermint

A deliberately simple ticketing system standing in for both Zendesk and Jira: Peppermint handles internal staff requests and external customer support alike. The stack is modern full-stack TypeScript: Next.js and React over Prisma and PostgreSQL, which makes it light to run and approachable for developers extending it. Ticket creation is straightforward - a markdown editor with file uploads, assignment, status tracking, and a logical workflow that new agents grasp without a manual. Mailbox integration converts email into tickets automatically: configure SMTP/IMAP per mailbox and incoming messages become trackable tickets. Each client accumulates an interaction history, giving agents context on every past request before replying. Two touches distinguish it from bare-bones ticketing: a built-in markdown notebook with todo lists for internal documentation and knowledge sharing, and OIDC authentication so agents sign in through your existing identity provider - Keycloak, Okta, Authentik, or Azure AD. Configurable webhooks and email notifications push ticket events to third-party services. The UI is responsive from mobile to 4K, and everything works fully offline in air-gapped environments. Docker-native and scalable via Kubernetes, with an active community of 3,000+ GitHub stargazers.

Deploy
Label Studio screenshot thumbnail

Label Studio

Images, text, audio, video, HTML, PDFs, and time series, labeled in one tool with a standardized output format: Label Studio is the open-source data labeling platform for building training datasets. Computer vision tasks cover classification, object detection (boxes, polygons, ellipses, keypoints), and semantic segmentation; audio work spans transcription, speaker diarization, and emotion recognition; NLP handles named entity recognition and document classification with taxonomies up to 10,000 classes; and GenAI workflows support LLM fine-tuning data and RLHF response ranking. Labeling interfaces are fully configurable with an XML-like templating language, so the UI matches the task instead of the reverse. The ML backend SDK turns any model into a connected web server for pre-annotation (model predicts, humans verify), interactive labeling (real-time predictions as annotators draw regions or highlight text), and model evaluation - cutting annotation time dramatically on large datasets. Data imports from S3, GCS, or file uploads; the Data Manager filters and explores tasks; exports convert to the format your ML library expects via label-studio-converter. Multi-user accounts tie every annotation to its author, and webhooks, a Python SDK, and REST API embed labeling into any pipeline. Self-hosting keeps proprietary training data - often a company's most sensitive asset - entirely on your infrastructure.

Deploy
Etherpad screenshot thumbnail

Etherpad

In continuous open-source development since 2009, Etherpad is the original really-real-time collaborative editor - used by Wikimedia, governments, EU public-sector institutions, and tens of thousands of self-hosters. Its core idea is visible authorship: every keystroke is attributed with author colors, every revision preserved, and the timeslider lets you scrub through a document's entire history character by character. Multiple people type into the same pad and see each other's changes instantly - it scales to thousands of simultaneous editors per pad. The base install is deliberately lightweight; capability comes from roughly 290 plugins installable from the admin web UI: comments, images, tables, drawing, video chat via WebRTC, math rendering, code highlighting, and authentication via OAuth, LDAP, or OpenID. AI is pointedly a plugin, not a default - you choose the model and infrastructure, or never turn it on. There is no telemetry. For integrators, an HTTP API (with OpenAPI definitions at /api/openapi.json) manages pads, users, and groups for embedding in your own applications, and the ueberDB abstraction layer supports PostgreSQL, MySQL, Redis, MongoDB, and SQLite backends. Full data export is built in, the format is open, it is translated into 105 languages, and it runs on anything from a Raspberry Pi to a server farm. Apache 2.0 licensed, Node.js based.

Deploy
Gotenberg screenshot thumbnail

Gotenberg

Send a document, receive a PDF: Gotenberg is a Docker-based, stateless HTTP conversion API trusted in production by thousands of companies and adopted by notable open-source projects. Send files as multipart/form-data, get a PDF back; Chromium, LibreOffice, and fonts are the container's problem, not yours. Headless Chromium handles URLs, HTML templates, and Markdown with pixel-perfect browser rendering: it executes JavaScript, loads web fonts, waits for network idle, a JS expression, or a DOM selector before rendering SPAs, and accepts injected cookies and HTTP headers for authenticated pages. LibreOffice converts 100+ office formats - .docx, .xlsx, .pptx, and legacy formats - with page-range extraction and PDF/A archival conformance. Built-in PDF engines round out the pipeline in every image variant: merge, split, rotate, flatten, encrypt, watermark, stamp, read/write metadata and bookmarks, plus Factur-X/ZUGFeRD e-invoicing and PDF/UA accessibility compliance. Screenshots of URLs and HTML come from the same endpoints. Zero-transfer pipelines stream files directly between S3, MinIO, or GCS presigned URLs and Gotenberg, bypassing your application entirely, and webhooks enable async processing. Statelessness means horizontal scaling is trivial - run as many replicas as your conversion volume demands. Three image variants (full, Chromium-only, LibreOffice-only) trim the footprint to what you actually use.

Deploy
Element screenshot thumbnail

Element

Matrix's flagship client, built by the protocol's creators: Element brings the decentralized open standard for real-time communication to web, desktop, iOS, and Android. Paired with a Matrix homeserver, it delivers Slack-quality team messaging where you own every message, file, encryption key, and byte of metadata. End-to-end encryption is on by default, built on Olm and Megolm - the Double Ratchet algorithm family Signal popularized, extended for large-room scalability and publicly audited by NCC Group. Messages encrypt per-device with cross-signed device verification, so even a compromised server yields nothing readable. Federation is the defining capability: like email, users on different homeservers converse seamlessly, and 30+ bridges connect Matrix rooms to Slack, Discord, WhatsApp, and Telegram, so moving to sovereign infrastructure doesn't sever contact with anyone. Rooms support threads, reactions, file sharing, and voice and video calls via Element Call. The result is digital sovereignty chosen by governments and enterprises across Europe: your data sits on your server in your jurisdiction, portable to any other Matrix host because the protocol is an open standard. Apache-2.0 licensed, with no per-user fees at any scale.

Deploy
Rallly screenshot thumbnail

Rallly

What Doodle did before ads and paywalls took over: Rallly (three L's) lets you propose a few dates, share a link, and watch an availability grid fill in - no email threads, no forced accounts, no "$6.95/month to remove ads." The availability grid makes the winning slot obvious at a glance, comments on each poll keep the "I can do Tuesday if we start late" discussion attached to the decision instead of buried in chat, and email notifications fire as votes and comments arrive. When consensus lands, finalize the winning option and everyone gets notified. The stack is modern TypeScript - Next.js, tRPC, Prisma over PostgreSQL, Tailwind - with a clean, genuinely mobile-friendly UI, dark mode, and community translations in 10+ languages. Self-hosting means unlimited polls and unlimited participants with meeting data on your server rather than a scheduling SaaS. It pairs naturally with Cal.com: Rallly answers "which time works for everyone?", Cal.com handles "book a slot on my calendar." AGPL-licensed.

Deploy
BeaverHabits screenshot thumbnail

BeaverHabits

No targets, no gamification spiral, no motivational nagging: Beaver Habit Tracker is a self-hosted habit tracker deliberately built without "Goals". The core loop is honest: add habits, check them off each day, watch streaks accumulate on a calendar view. Its design follows behavioral-science basics - make it obvious (visual streak cues), make it attractive (progress is the motivator), make it satisfying (tracking becomes its own reward). Beyond the daily checklist it supports per-day notes intelligently grouped per habit, periodic habits, habit categories and tags, drag-to-reorder (manual or automatic), dark mode, and detailed streak and frequency views. Data lives where you choose: a single SQLite database or flat JSON files on a mounted volume, with JSON export and import for full portability. A REST API opens automation - community integrations already cover Stream Deck buttons, Home Assistant triggers, and CalDAV. The Python app ships as one Docker container with no external dependencies; environment variables tune everything from first day of week and index-page columns to iOS standalone PWA mode, and single-user setups can bypass the login entirely with TRUSTED_LOCAL_EMAIL. BSD-3-Clause licensed with no commercial restrictions - a well-executed single-purpose tool whose mobile PWA works anywhere a browser does.

Deploy
Open-Meteo screenshot thumbnail

Open-Meteo

High-resolution weather forecasts became a free commodity because of Open-Meteo - and this deployment puts the whole open-source engine on your own infrastructure. The public open-meteo.com service aggregates national weather models (NOAA GFS, DWD ICON, ECMWF, Meteo-France, and others) into one consistent JSON interface; self-hosting gives you that same API without rate limits, third-party dependency, or usage metering. The architecture is two cooperating services: the API server exposes forecast endpoints fully compatible with Open-Meteo query parameters - latitude, longitude, hourly and daily variables like temperature, precipitation, wind, and radiation - while a background sync worker downloads fresh weather model data on a configurable interval into a shared persistent volume at /app/data, so forecasts stay current and survive restarts without re-downloading. You control which weather models to mirror, which variables to store, how much historical depth to keep, and how often to refresh - meaning a lean deployment can sync only the model and region you actually query. Responses are plain HTTP/JSON, so integration with dashboards, Home Assistant-style automations, agricultural monitoring, IoT fleets, or any application takes minutes. For anyone making thousands of forecast calls a day, replacing a metered weather API with your own instance turns a recurring bill into a flat infrastructure cost.

Deploy
Octobox screenshot thumbnail

Octobox

What Gmail did for email, Octobox does for GitHub notifications: an ephemeral, unmanageable stream becomes an inbox you can actually triage. GitHub marks notifications read the moment you glance at them and lets old ones vanish days later; heavy maintainers end up building elaborate Gmail filter systems just to cope. Octobox - a Ruby on Rails app over PostgreSQL - syncs your notifications into a persistent inbox with an explicit archived state: mark a thread done, and if the issue or PR sees new activity, it pops back automatically, so nothing silently falls through. Triage is keyboard-driven with Gmail-style shortcuts (j/k to navigate, e to archive, m to mute, s to star), and multi-select clears noisy repositories in bulk. Filtering is where it earns its keep: slice by repository, organization, type, action, state, reason, CI status, labels, author, assignee, or bot origin, combine prefix search filters, and pin favorite searches to the sidebar. The optional GitHub App enriches entries with live PR/CI status and labels so you can decide without clicking through. Auto-archive rules clear merged PRs and closed issues; muting and snoozing silence the rest. A REST API supports integrations. Self-hosting keeps your notification metadata - a map of everything you work on - on your own server.

Deploy
Cusdis screenshot thumbnail

Cusdis

Comments for small sites without Disqus's baggage: Cusdis is a lightweight, privacy-first, open-source comment system for embedding under blog posts and articles. The embedded JavaScript SDK is about 5 KB gzipped (Disqus is roughly 24 KB), sets no cookies, runs no tracking, and does not require readers to create an account or sign in before commenting. Integration is two lines: a container div with your app ID and an async script tag, with ready-made adapters for common frameworks and static site generators. Moderation is approval-based - new comments stay hidden until you approve them from the dashboard, and email notifications include a Quick Approve link that approves or replies to a comment from your phone without logging in. A webhook fires on every new comment for integrations like Telegram notifications. The widget ships with built-in i18n and dark mode. The stack is TypeScript and Next.js with a Prisma data layer, deployable via Docker with PostgreSQL. Deliberately minimalist: no ads, no reader profiling, and your comment data lives in your own database.

Deploy
Wakapi screenshot thumbnail

Wakapi

Its author, a student and WakaTime fan, didn't want to pay $9/month for data about his own keystrokes - so Wakapi was born, a self-hosted, WakaTime-compatible backend for coding statistics. The compatibility is the killer design decision: the official WakaTime plugins for VS Code, JetBrains IDEs, Vim, and dozens of other editors work unmodified - just point the plugin's API URL at your Wakapi instance with your personal key, and heartbeats flow to your server instead of a third party's. Duration inference matches WakaTime's own algorithm, with a configurable timeout (10 minutes by default). From that stream Wakapi builds statistics and plots across projects, languages, editors, hosts, and operating systems, plus the fun extras: public leaderboards (optionally login-gated, with configurable aggregation windows), badges for GitHub readmes, and weekly email reports. A REST API serves your data programmatically, Prometheus export feeds your existing Grafana, and a WakaTime relay mode can mirror heartbeats to both services during migration - with one-click import of historical WakaTime data. Written in Go, it is lightning fast and light enough for the smallest instance, storing to SQLite, PostgreSQL, or MySQL, with configurable data retention for GDPR peace of mind. Deliberately smaller than WakaTime, deliberately yours.

Deploy
Corteza screenshot thumbnail

Corteza

Salesforce's platform model, 100% open-source (Apache 2.0): Corteza is a Go/Vue.js low-code platform developed under a foundation, so there is no open-core bait to grow out of. The heart is Corteza Compose: namespaces contain applications, modules define record structures the way Salesforce objects do, and a drag-and-drop page builder assembles record pages, list pages, dashboards, and charts from configurable blocks. Automation comes from a visual, BPMN-style workflow engine plus JavaScript automation scripts, so cross-application business logic - approval chains, field updates, notifications - is configured rather than programmed. Granular role-based permissions reach down to individual modules, fields, and records, mirroring real organizational hierarchies. Corteza CRM ships as the flagship application built entirely on Compose: leads, accounts, opportunities, campaigns, and cases with a 360-degree customer view, covering most Salesforce standard objects - and because it is just a Compose app, adding or reshaping modules is configuration, not a fork. Everything is reachable over REST APIs, deliberately familiar tooling eases Salesforce admin migration, and a CLI can even generate synthetic records for load-testing what you build.

Deploy
WBO screenshot thumbnail

WBO

A Node.js server, a large shared canvas, and a URL - WBO (Whiteboard Ophir) is collaborative whiteboarding reduced to its essence. There are no accounts and no setup - to collaborate, you send someone the board's link, and every stroke appears for all connected users in real time over WebSockets, with cursor positions shared so you can see where collaborators are working. Board state persists automatically and continuously, so a diagram drawn in today's lesson is still there next week at the same URL. Boards come in three flavors: a public free-for-all, private boards with random unguessable names, and named boards with custom URLs shared by anyone who knows the name. The tools cover teaching and brainstorming needs - pencil, straight lines, rectangles, ellipses, text annotations, eraser, a full color palette with brush sizes - and boards export as SVG or PNG. Despite the simplicity, the server is production-minded: JWT authentication gates board access with granular capabilities (open, edit, and clear as separate permissions), rate limiting caps per-client message volume, reverse-proxy and subpath deployment are supported, and OpenTelemetry provides metrics, logs, and traces. It works on tablets and touch devices, speaks multiple languages, and consumes minimal resources. AGPL-licensed.

Deploy
Quant-UX screenshot thumbnail

Quant-UX

Most design tools stop at prototyping; Quant-UX also measures how real users actually perform with the prototype. The visual editor creates prototypes that behave like real apps - functional input widgets, animations, form validation, data binding across screens, and business logic modeled with REST requests and decision elements. Design systems are first-class, with components, design tokens, and master screens; if you design elsewhere, drop in image files or import from Figma. Testing is a shared link or QR code - no installs on the tester's side. Define user tasks up front, and Quant-UX records every session: click heatmaps show where users found (or missed) actionable elements, user journey graphs expose lost users, drop-off charts reveal where tasks stall, and success rates and task KPIs are extracted automatically into a dashboard. An A/B test operator wires two design variants into one prototype and compares task duration, success rate, and interaction counts. In-prototype surveys collect qualitative feedback alongside the numbers, and an AI assistant generates prototype fragments like styled forms on request. The RepoCloud deployment runs the full stack - frontend, backend, and WebSocket server containers over MongoDB - so all test recordings and research data stay on your infrastructure.

Deploy