A private, self-hosted personal AI assistant and life management system. Voice-driven, always-on, and distributed across all devices. No cloud dependency, no external API costs, no data leaving your infrastructure.
- Local-first — every node operates fully offline, sync is additive
- Zero-knowledge — encryption keys never leave the user's session, infrastructure cannot read profile data
- Capability-based — nodes declare what they can do, tasks route to whoever can handle them
- Modular — services and capabilities can be enabled/disabled per device
- Self-hosted — everything runs on owned infrastructure
Calendar — Event scheduling, reminders, daily briefing generation, Work/Play/Family context tagging, and routine pattern detection.
Project Management — Active, paused, and archived projects. Idea backlog, knowledge base, learning goals, travel planning, and studio management. Staleness detection surfaces neglected items proactively.
Life Dashboard — Financial awareness, health and habit tracking, and work/life/family balance monitoring. Pattern analysis with proactive insights across all three domains.
| Layer | Technology |
|---|---|
| Language | C# / .NET |
| UI | .NET MAUI (Desktop, iOS, iPadOS) |
| Backend | ASP.NET Core |
| Database | SQLite via SQLCipher (encrypted per-profile) |
| Sync Bus | Redis (pub/sub, capability registry, task queue) |
| STT | Whisper small/base |
| LLM | Ollama — quantized 7B (Q4) |
| TTS | Style-TTS2 + RVC, streamed |
| Speaker ID | Pyannote |
| Networking | WireGuard mesh, Caddy reverse proxy |
| Auth | JWT (mobile), biometrics (MAUI), voice recognition (Pi) |
Wake Word → STT → Intent Classification
├── Known command → Execute → Cached TTS confirm
├── Chained commands → Queue → Execute sequentially
├── Ambiguous → LLM disambiguation → Confirm → Execute
└── Conversational → LLM response → Streaming TTS
Each node registers its capabilities with Redis on startup and sends a heartbeat. Dead nodes drop their capabilities automatically.
| Node | Capabilities |
|---|---|
| OVH Dedi | llm tts_synthesis stt_heavy sync_hub api_gateway archive app_resign |
| Raspberry Pi 5 | wake_word stt_light tts_playback local_hub always_on |
| Desktop | ui_full stt_light tts_playback |
| iPad | ui_review quick_capture |
| iPhone | ui_minimal notifications quick_capture |
| Node | Role |
|---|---|
| OVH Dedi (Xeon E-2136, 64GB) | Primary hub — LLM, TTS, sync, API gateway, AltServer |
| Raspberry Pi 5 16GB + 1TB NVMe | Local sensory node — wake word, always-on daemon, fallback hub |
| Desktop | Full management UI, WireGuard peer |
| iPad | Planning and review, daily briefing, quick capture |
| iPhone | Quick interaction, notifications, minimal state |
Mobile devices connect via public HTTPS API gateway — no VPN required. Dedi, Pi, and Desktop form a WireGuard mesh.
Juniper/
Juniper.Core/ # Shared models, schema, task system, capability interfaces,
# auth contracts, command chaining, context tagging
Juniper.Auth/ # Profile management, key derivation, SQLCipher,
# voice key validation, JWT token management
Juniper.Sync/ # Redis pub/sub, mesh event queue, delta sync,
# offline queue and flush logic
Juniper.Server/ # ASP.NET Core API gateway, LLM orchestration,
# TTS pipeline, AltServer Linux, archive management
Juniper.App/ # .NET MAUI — Desktop, iOS, iPadOS
# Shared UI codebase, platform-specific layouts
Juniper.Daemon/ # Headless Pi service — wake word, STT, TTS playback,
# local hub fallback, always-on sync queue
-
Juniper.Core— models, DB schema, task system, capability interfaces, context tags -
Juniper.Auth— key derivation, SQLCipher integration, profile management
- Local SQLite working copy
- Basic MAUI desktop app — Calendar and Projects only
-
Juniper.Sync— Redis sync between desktop and dedi
-
Juniper.Daemon— Pi wake word detection and STT pipeline - TTS pipeline on dedi — Style-TTS2 + RVC, chunked streaming
- LLM integration on dedi via Ollama
- Intent classification — known commands, chaining, disambiguation, conversational
- MAUI iPad layout — planning and review
- MAUI iPhone layout — quick interaction and notifications
- Financial awareness — spending tracking, budget alerts, decision support
- Health and habit tracking — routines, streaks, rest awareness
- Work/life/family balance monitoring and pattern analysis
- Voice recognition auth via Pyannote — confidence threshold, fallback PIN
- Multi-profile support — per-profile encrypted SQLite, auto context switching
- AltServer Linux integration on dedi for iOS app resigning and sideloading
Infrastructure is being built with these in mind, not yet scheduled:
- Computer vision via Pi camera, iPhone/iPad camera
- Hailo-8L hardware acceleration for vision tasks on Pi
- Speaker diarization expansion for additional profiles
- RTSP/WebRTC Pi camera remote access
- PWA fallback client
This project is source-available under a custom license. You may view and self-host it for personal use. Redistribution, commercial use, modification, and incorporation into other projects are not permitted. See LICENSE for full terms.