Skip to content
archive

hermiesvault-mvp-spec-2026-05-07

Tech · · 2 min read

HermiesVault MVP Specification

Project Context

  • App Name: HermiesVault (working title)
  • Type: iOS second brain / note-taking with AI assistance
  • Tech Stack: SwiftUI, Swift on Server (Hummingbird), Docker VPS, Hermes, Postgres, PGVector
  • Design Principles: Simplicity, Privacy, Offline-first, Sci-fi/Futurism UI

Core Value Proposition

"Obsidian for iPhone with an AI that learns from your notes"

MVP Features (Minimal Viable Product)

1. Note-Taking Core

  • Create notes with Obsidian-flavored markdown
  • Edit notes with basic formatting (headers, lists, bold, italic)
  • Organize notes with folders/tags
  • Search notes (local only)
  • Offline-first - all notes stored locally with CoreData/SQLite

2. AI Assistance (The "Smart" Part)

  • AI summarization - Summarize long notes
  • AI expansion - Help elaborate on ideas
  • Question answering - Ask questions about your notes (RAG-based)
  • All AI processing happens locally (using Hermes/local LLM) for privacy

3. Sync & Backup (Optional MVP, maybe v1)

  • Manual export to JSON/Markdown
  • iCloud sync (if feasible within MVP)
  • Local backup to computer via file sharing

UI/UX Design (Sci-Fi/Futurism)

  • Dark mode default with neon accents (cyan/magenta)
  • Clean typography - Inter or SF Compact fonts
  • Smooth animations - spring physics, transitions
  • HUD-like elements - subtle borders, glowing effects on active elements
  • Custom transitions between notes and AI interface

Architecture

Client (iOS)

├── SwiftUI App (App + Scene)
├── CoreData Stack (Local storage)
│   ├── Note entity
│   ├── Tag entity
│   └── Relationship management
├── AI Service (Local)
│   ├── Embedding generation (Hermes/local model)
│   ├── RAG pipeline (PGVector locally)
│   └── Text generation (Hermes/local model)
├── Network Service (Optional)
│   ├── Sync API (if implementing sync)
│   └── Backup API
└── UI Components
    ├── Note editor (Markdown)
    ├── Note list (Searchable)
    ├── AI Assistant panel
    └── Dashboard (Recent/Starred notes)

Server (Swift on Server - Hummingbird)

Note: Server may be optional for MVP if keeping everything local

├── API Server (Hummingbird)
│   ├── Authentication (optional)
│   ├── Sync endpoints (if needed)
│   └── Backup endpoints
├── Database (Postgres + PGVector)
│   ├── Notes table
│   ├── Embeddings table
│   └── Metadata tables
└── Background Workers
    ├── Embedding generation
    └── Cleanup tasks

Technology Decisions

LLM Choice

  • Primary: Hermes (local model) for privacy
  • Fallback: Smaller quantized model for faster inference
  • Why local? Privacy is a core principle - user data never leaves device

Vector Database

  • PGVector embedded in Postgres
  • Embeddings generated on-device, stored locally
  • Optional: sync vectors to server if sync is implemented

UI Framework

  • SwiftUI for modern, declarative UI
  • Hummingbird for Swift on Server if needed
  • Swift Concurrency for async operations

Privacy & Security

  • No data collection - all notes stay on device
  • Optional sync - user chooses to backup/export
  • On-device AI - no cloud API calls for processing
  • Local encryption - optional passcode/biometric protection

Success Metrics (MVP)

  • User can create and save a note
  • User can ask AI a question about their notes and get relevant answer
  • App works offline
  • Smooth, responsive UI (60fps)

Stretch Goals (Post-MVP)

  • Voice input for notes
  • Image uploads with OCR
  • Cross-device sync (with end-to-end encryption)
  • Plugin system (like Obsidian)
  • Web version

Risks & Mitigations

  • LLM performance on device: Use quantized models, optimize inference
  • Storage limits: CoreData with SQLite, implement cleanup policies
  • User acquisition: Position as privacy-focused alternative to Notion/Obsidian
  • Complexity: Start with MVP scope, resist feature creep

Document created: 2026-05-07 Next: Project timeline and resource allocation