Skip to content

hei1sme/aura-app

Repository files navigation

Aura Logo

The Intelligent Wellness Companion for Developers

Version Rust Tauri SvelteKit Python TypeScript License

Focus Better Β· Hydrate Smarter Β· Work Healthier

Quick Start Β· Features Β· Architecture Β· FAQ


πŸ“Š Enterprise Analytics Β β€’Β  ⚑ Auto-Updates Β β€’Β  πŸ‘οΈ Smart Eye Care Β β€’Β  πŸ’§ Hydration Tracking Β β€’Β  🧘 Stretch Reminders


🎯 What's New

Aura is constantly improving! Check out our latest updates:

  • v1.5.6 - Visual Fix: Activity Intensity Heatmap data range
  • v1.5.6 - Visual Fix: Activity Intensity Heatmap data range
  • v1.5.5 - Rich Markdown Changelog integration in Update Dialog
  • v1.5.4 - Smart App Detection & Interactive Dashboard Tooltips
  • v1.5.3 - Critical Fixes: Break Notification Loop & Duplicate Sounds
  • v1.5.2 - Bug fixes for version display across all app entry points
  • v1.5.1 - Auto-update on startup, Skip Version feature, Update preferences
  • v1.5.0 - Seamless auto-update system with one-click updates

πŸ“‹ See all changelogs for complete release history.


✨ Key Features

πŸ‘οΈ Smart Break Reminders

Personalized break notifications based on your actual work patterns β€” not arbitrary timers.

  • 20-20-20 Rule: Eye rest reminders every 20 minutes
  • Stretch Breaks: Movement prompts every 45-60 minutes (customizable duration)
  • Wall Clock Mode: Consistent break reminders based on real time (default)
  • Immersive Mode Detection: Auto-suppresses breaks during fullscreen apps (gaming, presentations)

πŸ’§ Intelligent Hydration

Aura doesn't just nag you to drink water β€” it knows when you've had enough.

  • Goal Tracking: Logs intake against your daily goal (customizable, default: 2000ml)
  • Auto-Silence: Hydration reminders pause automatically once you hit your goal
  • Quick Logging: One-click buttons for common amounts (100ml, 250ml, 500ml)
  • Weekly Trends: Visualize your hydration patterns over time

πŸ“… Pro Scheduler

Flexible scheduling that adapts to your life, not the other way around.

  • 3 Scheduling Modes: "Same Every Day", "Weekdays vs. Weekends", or fully "Custom"
  • Automated Actions: Pause, Resume, Reset, Start, or End sessions at specific times
  • Smart Warnings: Get a gentle 1-minute heads-up before any schedule rule triggers
  • Cross-Restart Persistence: Your schedule rules survive app restarts

πŸ”” Premium Notifications

Beautiful, non-intrusive overlay notifications that respect your workflow.

  • Custom Overlay Window: Transparent, floating glassmorphism notifications
  • Enhanced Visual Design: Stronger backdrop blur, multi-layer shadows, refined borders
  • Theme-Matched: Color-coded by break type (green/orange/blue) with smooth animations
  • No Focus Stealing: Never interrupts your active typing or workflow

πŸ“Έ Screenshots

Session Hub
Your command center for work sessions

Analytics Dashboard
Enterprise-level wellness insights

Smart Overlay
Beautiful break notifications

Settings Interface
Powerful schedule management


πŸ—οΈ Architecture

Aura uses a hybrid Sidecar Pattern combining the best of three languages:

Layer Technology Responsibility
Core Rust (Tauri v2) System Tray, Window Management, OS Integration
UI SvelteKit 5 + TypeScript Reactive Interface, DaisyUI, Glassmorphism Effects
Brain Python 3.11 SQLite Database, Activity Monitoring, Scheduling Logic
graph TB
    subgraph "Frontend Layer"
        UI[Svelte 5 UI]
        Store[Analytics Store]
    end
    
    subgraph "Core Layer (Rust/Tauri)"
        Core[IPC Bridge]
        Tray[System Tray]
        Windows[Window Manager]
    end
    
    subgraph "Backend Layer (Python)"
        Engine[Aura Engine]
        Monitor[Activity Monitor]
        Scheduler[Break Scheduler]
        WorkSched[Work Schedule Manager]
        DB[(SQLite Database)]
    end
    
    UI <-->|IPC Commands| Core
    Core <-->|Stdio JSON| Engine
    Engine --> Monitor
    Engine --> Scheduler
    Engine --> WorkSched
    Monitor --> DB
    Scheduler --> DB
    WorkSched --> DB
    Core --> Tray
    Core --> Windows
    Store -.->|Analytics Data| UI
Loading

Technology Stack

Frontend
  • Framework: SvelteKit 2 with Svelte 5 (Runes API)
  • Language: TypeScript 5.6
  • Styling: Tailwind CSS 4.1 + DaisyUI 5.5
  • Build Tool: Vite 6
Backend
  • Runtime: Tauri 2.0 (Rust-based)
  • Engine: Python 3.11 (PyInstaller for distribution)
  • Database: SQLite 3
  • IPC: JSON over stdio
Key Features
  • Thread-safe state management with Rust mutex
  • Real-time activity monitoring (keyboard/mouse)
  • Persistent session state across restarts
  • Time-based automation with WorkScheduleManager
  • ML-ready data collection for future adaptive AI

πŸš€ Quick Start

Prerequisites

Required Software
Software Version Link
Node.js 18+ nodejs.org
Rust Latest rust-lang.org
Python 3.11 python.org

Installation

1. Clone the repository

git clone https://github.com/hei1sme/aura-app.git
cd aura-app

2. Install dependencies

npm install

3. Build Python sidecar (First time only)

./rebuild_sidecar.sh    # Git Bash / Linux / macOS
# or
./rebuild_sidecar.ps1   # PowerShell

4. Run in development mode

npm run tauri dev

πŸ“¦ Build for Production

We include robust build scripts that compile the Python engine into a standalone executable.

Windows (Git Bash)
./build_release.sh
Windows (PowerShell)
.\build_release.ps1

Output: src-tauri/target/release/bundle/nsis/Aura_1.5.4_x64-setup.exe


πŸ’Ž Advanced Features

Work Session States

Aura implements a proper finite state machine:

IDLE β†’ start_session() β†’ ACTIVE
ACTIVE β†’ pause_session() β†’ PAUSED
PAUSED β†’ resume_session() β†’ ACTIVE
ACTIVE/PAUSED β†’ end_session() β†’ IDLE

Each transition is thread-safe and persisted to disk.

Schedule Automation

Create time-based rules to automate your workflow:

// Example: Auto-pause for lunch at 12:00 PM
{
  time: "12:00",
  action: "pause",
  days: ["mon", "tue", "wed", "thu", "fri"],
  enabled: true
}

❓ FAQ

How does the break timer work?

Aura uses wall-clock mode by default β€” you get consistent break reminders at regular intervals regardless of activity. This ensures predictable, reliable wellness prompts throughout your workday.

Can I customize break intervals?

Yes! Go to Settings to adjust:

  • Eye rest interval (default: 20 min)
  • Stretch break interval (default: 45 min)
  • Hydration reminder interval (default: 30 min)
  • Daily hydration goal (default: 2000ml)
Does Aura run in the background?

Yes. When you close the main window, Aura minimizes to the system tray. Right-click the tray icon to access pause, resume, analytics, settings, or quit options.

What data does Aura collect?

All data stays local on your machine:

  • Break logs (completed/skipped/snoozed timestamps)
  • Hydration intake records
  • Keyboard/mouse activity metrics (for ML training)
  • Work session state

No data is sent to any server. Your privacy is paramount.

Can I use Aura offline?

Absolutely! Aura is 100% offline. No internet connection required.


🀝 Contributing

We welcome contributions! Please check the Issues page for open tasks.

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“‹ Changelog

See CHANGELOG_v1.5.6.md for the latest release notes.


⭐ Star this repo Β· πŸ› Report a bug Β· πŸ’¬ Discussions


This project is licensed under the MIT License.

✨ Designed for Peace of Mind. 🌿

Made with ❀️ using Tauri + SvelteKit + Python