Experimental Phase: Expect rapid iteration and sweeping changes as we refine the core applications and infrastructure.
What is Ariata
Ariata is your personal AI agent that ingests your digital life—from calendar events and locations to health metrics and screen time—constructing a coherent, queryable timeline. Unlike cloud services that monetize your data, Ariata runs on your infrastructure, ensuring complete privacy and control. Your data is incredibly valuable—companies build trillion-dollar empires on it. Ariata lets you reclaim that value for yourself:- Train personal AI on YOUR data, not theirs
- Life logging and memory augmentation for perfect recall
- Health and productivity optimization through pattern recognition
- Build a queryable life archive of your entire digital existence
- Generate insights for self-improvement from your actual behavior
- See what data companies collect and take back control
Quick Start
Get Ariata running in under 2 minutes:1
Clone and setup
2
Access the dashboard
3
Configure data sources
Navigate to Settings → Sources in the web UI to connect your data sources.
- Initialize PostgreSQL with PostGIS and pgvector extensions
- Set up MinIO for object storage
- Start Redis for task queuing
- Launch the SvelteKit web application
- Spin up Celery workers for background processing
Your Data, Your Database
Unlike cloud services that lock away your data, Ariata gives you direct PostgreSQL access. Query your life with SQL, build custom analytics, or export everything—it’s your database./settings/database
in your Ariata UI—create read-only users for analysis or full access for integrations. Works with any PostgreSQL client: TablePlus, DBeaver, Jupyter notebooks, or your favorite BI tool.
Data Sources
Source | Stream | Description |
---|---|---|
Calendar | Calendar events and meetings | |
iOS | HealthKit | Health metrics (heart rate, steps, sleep, workouts, HRV) |
iOS | Location | GPS coordinates, speed, and altitude |
iOS | Microphone | Audio levels and transcription |
Mac | Applications | App usage and focus tracking |
Notion | Pages | Page and database content |
Strava | Activities | Workouts and performance data |
Self-Hosting & Networking
Recommended: Tailscale Setup (5 Minutes)
Tailscale creates a secure, private network between your devices. Your Ariata instance stays completely private while remaining accessible from all your devices.1
Install Tailscale on your server
2
Note your Tailscale IP
After login, note your IP (e.g.,
100.64.1.5
)3
Install Tailscale on your devices
- iOS: App Store → Tailscale
- macOS:
brew install --cask tailscale
- Windows/Linux: tailscale.com/download
4
Update your configuration
5
Access from any device
Why Tailscale?
- Zero exposed ports - servers aren’t on the public internet
- E2E encrypted WireGuard protocol
- Works behind firewalls, NAT, cellular networks
- Free tier includes 100 devices and 3 users
Architecture
Ariata follows a stream-based ELT (Extract, Load, Transform) architecture:Key Components
Sources
External services and devices that provide data (Google, iOS, Mac, etc.)
Streams
Time-series data tables with full fidelity storage
Processing
Celery workers that handle data ingestion and transformation
Storage
PostgreSQL for metadata, MinIO for raw data objects
Tech Stack
- Backend: Python, Celery, FastAPI, PostgreSQL (PostGIS/pgvector), Redis, MinIO
- Frontend: SvelteKit, TypeScript, TailwindCSS
- Mobile: Swift/SwiftUI (iOS/macOS)
- ML/AI: PELT change detection, HDBSCAN clustering, Vector embeddings
Development
Prerequisites
- Docker & Docker Compose (v2.0+)
- 8GB RAM minimum, 16GB recommended
- 20GB free disk space
Commands
Project Structure
Database Schema
The schema follows an ELT pipeline pattern:source_configs
: Global catalog of source typessources
: Active source instances (e.g., “My iPhone”)stream_configs
: Global catalog of stream typesstreams
: Active stream instances with settingsstream_*
: Time-series data tables (e.g.,stream_google_calendar
)
Development Tips
Running commands in Docker
Running commands in Docker
Database credentials
Database credentials
Updating the source registry
Updating the source registry
Example Queries
Contributing
We believe that only an open-source solution to personal data management can truly respect user privacy while covering the long tail of data sources. We welcome contributions in several areas:How to Contribute
- Code Contributions: Implement new data sources, improve existing ones, or enhance the core platform
- Architecture Reviews: Share expertise on iOS/Swift, distributed systems, or data processing
- Documentation: Help others understand and use Ariata effectively
- Bug Reports: Find something broken? Let us know!
1
Fork and clone
2
Create a feature branch
3
Make changes and test
4
Submit a pull request
Push your changes and open a PR on GitHub
License
Ariata uses a dual-license model:- MIT License: Core functionality and most components
- Elastic License 2.0 (ELv2): Certain enterprise components
Support
Discord Community
Join our Discord for discussions and support
GitHub Issues
Report bugs or request features
Your data should work for you, not against you.