Skip to content

Jwinter89/voice_first

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Voice-First Shared Reminders App

A voice-first reminder app for iPhone that lets users create reminders fast, attach notes or lists, share them with another person, and receive acknowledgment when the other person accepts.

Architecture

voice_first/
├── backend/          # Python FastAPI backend
│   ├── app/
│   │   ├── models/       # SQLAlchemy data models
│   │   ├── schemas/      # Pydantic request/response schemas
│   │   ├── routers/      # API route handlers
│   │   ├── services/     # Business logic (NLP, notifications, state machine)
│   │   └── main.py       # FastAPI application entry point
│   ├── alembic/          # Database migrations
│   ├── Dockerfile
│   └── docker-compose.yml
├── ios/
│   └── VoiceReminders/   # SwiftUI iOS app
│       └── Sources/
│           ├── App/          # App entry point
│           ├── Models/       # Data models
│           ├── Networking/   # API client and services
│           ├── Services/     # Auth, voice input, notifications, local NLP
│           ├── ViewModels/   # ObservableObject view models
│           ├── Views/        # SwiftUI views (Capture, Today, Shared, etc.)
│           ├── Intents/      # Siri App Intents
│           └── Theme/        # Colors, typography, spacing
└── docs/                 # Documentation

Core Features

  • Instant Capture: Create reminders in under 5 seconds via text, voice, or Siri
  • Attached Context: Notes, checklists, grocery lists, photos, contact cards, voice memos
  • Shared Accountability: Send reminders to others with accept/decline/snooze acknowledgment loop
  • Voice-First: In-app voice capture + Siri App Intents integration
  • Templates: 5 built-in templates + custom template creation

Tech Stack

Layer Technology
iOS Client SwiftUI (iOS 17+)
Voice Integration Speech framework + App Intents (Siri)
Backend Python FastAPI + SQLAlchemy (async)
Database PostgreSQL
Push Notifications APNs
File Storage S3-compatible

Getting Started

Backend

cd backend
cp .env.example .env
docker-compose up -d

The API will be available at http://localhost:8000. API docs at http://localhost:8000/docs.

iOS

Open ios/VoiceReminders/ in Xcode. Update the API base URL in APIClient.swift and run on simulator or device.

Data Model

Core entities: User, Reminder, Attachment, ChecklistItem, Recipient, AcknowledgmentEvent, ContactCard, Template, Note, NotificationRule.

Every reminder supports multiple attachments and multiple recipients from day one. The acknowledgment state machine tracks: draft → scheduled → sent → viewed → accepted/declined/snoozed → completed/expired.

Reminder States

State Description
Draft Created but not yet scheduled
Scheduled Has future trigger time, queued
Sent Delivered to recipient via push
Viewed Recipient opened in app
Accepted Recipient explicitly accepted
Snoozed Recipient deferred to later
Completed Marked as done
Expired Passed trigger time without action

Built-in Templates

  1. Take to Work - Checklist of items to carry
  2. Grocery Run - Grocery list with common categories
  3. School Pickup - Contact card + pickup instructions
  4. Appointment Prep - Note + checklist of items to bring
  5. Daily Carry Checklist - Reusable checklist (keys, wallet, badge)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages