Happy is an excellent project. So why build HAPI? The short answer: Happy uses a centralized server that stores your encrypted data. HAPI is decentralized — each user runs their own hub, and the relay server only forwards encrypted traffic without storing anything. These different goals lead to fundamentally different architectures.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tiann/hapi/llms.txt
Use this file to discover all available pages before exploring further.
Quick Comparison
Happy
Centralized Cloud
- Multi-user shared server
- Encrypted data storage
- Complex deployment
- Managed service model
HAPI
Decentralized Self-Hosted
- Each user runs own hub
- Data stays on your machine
- Single binary deployment
- Data sovereignty
| Aspect | Happy | HAPI |
|---|---|---|
| Architecture | Centralized (cloud server stores encrypted data) | Decentralized (each user runs own hub) |
| Users | Multi-user on shared server | Any number (each runs own hub) |
| Data | Encrypted on server (server cannot read) | Stays on your machine |
| Encryption | Application-layer E2EE (client encrypts before sending) | WireGuard + TLS via relay; or none needed if self-hosted |
| Deployment | Multiple services (PostgreSQL, Redis, app server) | Single binary |
| Complexity | High (E2EE, key management, scaling) | Low (one command) |
Architecture Comparison
Happy: Centralized Cloud
Happy’s centralized design requires:- Application-layer E2EE — Clients encrypt before sending; the server stores encrypted blobs it cannot read
- Distributed database + cache — PostgreSQL + Redis for multi-user scaling
- Complex deployment — Docker, multiple services, config files
HAPI: Decentralized
Each user runs their own hub. HAPI offers two modes of remote access:Mode 1: Self-Hosted
You control the entire path. No encryption beyond standard HTTPS is needed.Mode 2: Public Relay (E2E encrypted)
The relay server only forwards encrypted packets — it cannot read your data.Self-hosted: Run on your own server or use Cloudflare Tunnel / Tailscale — no E2EE needed since you control the full pathPublic relay: Use
hapi hub --relay for E2E encrypted access via WireGuard + TLS — the relay only forwards opaque packetsKey Differences
Data Location
| Aspect | Happy | HAPI |
|---|---|---|
| Where data lives | Cloud server (encrypted blobs) | Your own machine |
| Who stores it | Central server holds encrypted data | Only your hub, locally |
| Data at rest | Encrypted (server cannot read) | Plaintext (protected by OS) |
| Server’s role | Stores encrypted data + syncs devices | Relay only forwards (or no server at all if self-hosted) |
Deployment Model
Happy: Distributed Services
HAPI: Single Binary
Security Approach
| Aspect | Happy | HAPI (self-hosted) | HAPI (relay) |
|---|---|---|---|
| Problem | Data on untrusted server | Remote access to local hub | Remote access via third-party relay |
| Solution | Application-layer E2EE | HTTPS (you control the path) | WireGuard + TLS (tunwg) |
| Key management | Client holds keys; server never sees plaintext | Not needed | Handled by tunwg automatically |
| Data at rest | Encrypted on server | Plaintext on your machine | Plaintext on your machine |
Why Different Architectures?
Happy: Centralized
HAPI: Decentralized
Feature Comparison
Happy Features
- Multi-user collaboration on shared infrastructure
- Zero-knowledge encryption (server cannot read your data)
- Managed cloud service
- Device synchronization across multiple clients
- Enterprise-grade scaling with PostgreSQL + Redis
HAPI Features
- Complete data sovereignty (never leaves your machine)
- Single binary deployment
- Embedded SQLite database
- Built-in E2E encrypted relay option
- Self-hosted with various tunnel options
- Runner daemon for remote session spawning
- Voice assistant integration
- Multiple AI agent support (Claude, Codex, Cursor, Gemini, OpenCode)
Use Cases
Choose Happy For
- Managed cloud service
- Multi-user teams
- Don’t want to manage infrastructure
- Need device sync across multiple clients
- Want zero-knowledge cloud storage
Choose HAPI For
- Complete data control
- Self-hosting preference
- Minimal setup and maintenance
- Single-user or small team
- Want everything local-first
- Need to run behind corporate firewall
Summary
| Dimension | Happy | HAPI |
|---|---|---|
| Architecture | Centralized cloud server | Decentralized (each user runs own hub) |
| Server’s role | Stores encrypted data | Relay only forwards (or none if self-hosted) |
| Data location | Server (encrypted, zero-knowledge) | Local (plaintext, your machine) |
| Deployment | Multiple services (PostgreSQL, Redis, Node.js) | Single binary (embedded SQLite) |
| Encryption | Application-layer E2EE (client-side) | WireGuard + TLS (relay) or HTTPS (self-hosted) |
| Scaling | Horizontal (multi-user on shared server) | Per-user (each runs own hub) |
| Target user | Managed cloud service users | Self-hosters who want data sovereignty |