Skip to content

EldestGruff/PersonalAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

348 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STASH

A context-aware thought capture and intelligent organization system for iOS.

Free and open source under the MIT license.

TestFlight Ko-Fi

Overview

STASH helps you capture thoughts, ideas, tasks, and reminders while automatically gathering context from your device — location, time of day, energy levels, calendar availability — to provide intelligent classification and organization. The app learns from your feedback to continuously improve its understanding of your workflow.

Features

  • Thought Capture: Voice and text input with real-time transcription
  • AI Classification: Automatic categorization (task, note, idea, reminder, event)
  • Sentiment Analysis: Emotional tone detection
  • Context Awareness: Location, HealthKit (sleep/activity/HRV), calendar availability, energy level
  • Smart Actions: Create tasks, reminders, and calendar events directly from thoughts
  • Squirrelsona Companions: AI personas (Supportive Listener, Brainstorm Partner, Socratic Questioner, Journal Guide, Devil's Advocate)
  • Apple Watch: Complications, quick capture, haptic feedback
  • Offline-first: Full functionality without network access

Getting Started

Prerequisites

  • Xcode 26.0+
  • iOS 26.0+ device or simulator
  • Apple Developer account (for device testing with HealthKit/Contacts)

Setup

  1. Clone the repository
  2. Open PersonalAI.xcodeproj in Xcode
  3. Select a simulator or connected device
  4. Build and run (⌘R)

You'll need a Claude API key to use the AI features. Add it in Settings after first launch.

Permissions

The app requests permissions for:

  • Microphone / Speech Recognition: Voice input
  • Location: Context gathering (when in use)
  • HealthKit: Sleep, activity, and HRV data
  • Contacts: Mention detection in thoughts
  • Calendars / Reminders: Read availability and create entries

All features degrade gracefully if permissions are denied.

Project Structure

STASH/
├── Sources/
│   ├── Models/              # Data models (Thought, Classification, Context, etc.)
│   ├── Services/            # Business logic
│   │   ├── AI/              # Claude API integration, classification, sentiment
│   │   ├── Context/         # Location, HealthKit, Calendar, Contacts services
│   │   ├── Intelligence/    # Smart resurfacing, pattern learning
│   │   ├── Monetization/    # (removed — app is free)
│   │   ├── Orchestration/   # Service coordination
│   │   ├── Speech/          # Voice transcription
│   │   └── Theme/           # ThemeEngine
│   ├── UI/
│   │   ├── Screens/         # Main app screens
│   │   ├── Components/      # Reusable UI components
│   │   └── ViewModels/      # Screen view models
│   └── STASHApp.swift       # App entry point
├── STASH Watch App/         # watchOS companion
├── STASH Watch Complications/ # WidgetKit complications
├── Tests/                   # Unit tests
├── docs/                    # Architecture and development docs
└── web/                     # Privacy policy and terms of service

Documentation

Contributing

Contributions are welcome. A few guidelines:

  1. Follow existing architecture patterns (see docs/development/)
  2. New Swift files for the main iOS target require manual project.pbxproj entries — see CLAUDE.md for details
  3. Keep UI theme-aware via ThemeEngine.shared.getCurrentTheme()
  4. Test with VoiceOver enabled — accessibility is not optional

Bug reports and feature requests via GitHub Issues are appreciated.

Support Development

STASH is free and open source. If it's useful to you, consider buying me a coffee.

License

MIT License — see LICENSE.

About

Context-aware thought capture and intelligent organization system for iOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages