Skip to content

CarsonPogue/AppTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Adult CRM - Personal Operating System

A privacy-first, local-first mobile app for managing your life like a CRM: habits, relationships, schedule, home automation, subscriptions, and maintenance reminders.

🎯 MVP Features

  • Today Dashboard: Unified daily view of all modules
  • Habits: Track daily/weekly habits with streaks and flexible schedules
  • People: Relationship touchpoint reminders with interaction logging
  • Schedule: Calendar, tasks, and booking links with approval workflow
  • Home: Smart home control (demo), maintenance tracking, subscription management

πŸ—οΈ Tech Stack

  • Frontend: React Native + Expo SDK 50
  • Language: TypeScript (strict mode)
  • Styling: NativeWind (Tailwind for React Native)
  • Animations: React Native Reanimated 3
  • Navigation: Expo Router (file-based)
  • State: Zustand
  • Data: TanStack Query
  • Database: SQLite (expo-sqlite) + Drizzle ORM
  • Local-first: All data stored locally, offline-capable

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm
  • iOS: Xcode 15+ and CocoaPods
  • Android: Android Studio and SDK
  • Expo Go app (for quick testing)

Installation

  1. Clone and install dependencies:

    npm install
  2. Start the development server:

    npm start
  3. Run on iOS:

    npm run ios
  4. Run on Android:

    npm run android
  5. Run on Web (experimental):

    npm run web

First Launch

The app will automatically seed demo data on first launch:

  • 5 sample habits (meditation, exercise, reading, journaling, calling family)
  • 4 contacts with touchpoint reminders
  • Sample calendar events
  • Mock subscriptions
  • Vehicle maintenance tracker
  • Smart home demo rooms and devices

Demo User: demo@adultcrm.app

πŸ“ Project Structure

adult-crm/
β”œβ”€β”€ app/                      # Expo Router screens
β”‚   β”œβ”€β”€ _layout.tsx          # Root layout with providers
β”‚   └── (tabs)/              # Bottom tab navigation
β”‚       β”œβ”€β”€ index.tsx        # Today dashboard
β”‚       β”œβ”€β”€ habits.tsx       # Habit tracker
β”‚       β”œβ”€β”€ people.tsx       # Relationship manager
β”‚       β”œβ”€β”€ schedule.tsx     # Calendar & tasks
β”‚       └── home.tsx         # Smart home & more
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   └── ui/              # Reusable UI components
β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ schema.ts        # Database schema
β”‚   β”‚   β”œβ”€β”€ client.ts        # Drizzle client
β”‚   β”‚   └── seed.ts          # Seed data
β”‚   β”œβ”€β”€ stores/              # Zustand stores
β”‚   └── utils/               # Helper functions
β”œβ”€β”€ package.json
β”œβ”€β”€ app.json                 # Expo config
β”œβ”€β”€ tailwind.config.js       # Tailwind config
└── tsconfig.json            # TypeScript config

🎨 Design System

Colors

Light Theme:

  • Primary: #3B82F6 (Blue)
  • Success: #10B981 (Green)
  • Warning: #F59E0B (Amber)
  • Error: #EF4444 (Red)

Dark Theme:

  • Primary: #60A5FA (Lighter Blue)
  • Success: #34D399 (Lighter Green)
  • Automatic system preference detection

Typography

  • Font: Inter (system fallback: SF Pro / Roboto)
  • Sizes: xs (11px) β†’ 4xl (36px)
  • Weights: 400 (regular), 500 (medium), 600 (semibold), 700 (bold)

Components

  • Button: Primary, secondary, ghost variants with spring animation
  • Card: Base and elevated variants with press feedback
  • Checkbox: Animated checkmark with haptic feedback

Animations

  • Habit completion: 400ms spring animation with checkmark draw
  • Card press: Scale feedback (0.98x)
  • Screen transitions: 250ms slide
  • All animations respect prefers-reduced-motion

πŸ“± Key Screens

Today Dashboard

Aggregates data from all modules:

  • Greeting with date
  • Habits due today (interactive checklist)
  • Upcoming events (next 3)
  • People due for touchpoint (top 2)
  • Action items (pending bookings, overdue tasks, maintenance due)

Habits

  • List of active habits with streak and completion rate
  • Tap to view details and log completion
  • Automatic streak calculation
  • Skip with optional reason

People

  • Contact cards sorted by touchpoint status
  • Color-coded: Green (recent), Yellow (due soon), Red (overdue)
  • Log interactions: call, text, meeting, other
  • Configurable touchpoint frequency

Schedule (Placeholder)

  • Calendar views: Day, Week, Month
  • Tasks with due dates
  • Booking links with availability rules and approval workflow

Home

  • Rooms Tab: Smart home control (demo mode)
  • Maintenance Tab: Asset tracking (vehicle, home, appliances)
  • Subscriptions Tab: Renewal reminders and cost tracking

πŸ” Privacy & Security

  • Local-first: All data stored on device (SQLite)
  • No tracking: No analytics or telemetry
  • Offline-capable: Full functionality without internet
  • Data export: JSON export for backup
  • Future: SQLCipher encryption, biometric lock

πŸ› οΈ Development

Database Migrations

Drizzle automatically handles migrations. Schema is in src/db/schema.ts.

To reset database:

# iOS
xcrun simctl get_app_container booted com.adultcrm.app data
# Delete adult-crm.db and restart app

# Android
adb shell
run-as com.adultcrm.app
rm databases/adult-crm.db

Testing

# Run tests
npm test

# Type checking
npm run type-check

# Linting
npm run lint

Building for Production

# Development build
eas build --profile development --platform ios

# Production build
eas build --profile production --platform all

πŸ—ΊοΈ Roadmap

MVP (4-8 weeks) βœ…

  • Core modules: Habits, People, Schedule, Home
  • Today dashboard
  • Local database with seed data
  • UI/UX design system
  • Animations and haptics

V2 (Post-MVP)

  • Real HomeKit/Google Home integration
  • External calendar sync (Google Calendar, Apple Calendar)
  • Contact import from phone
  • Push notifications
  • Cloud sync (Supabase)
  • Data encryption
  • Booking link public pages

V3 (Future)

  • Family/household sharing
  • Automation workflows (IFTTT-style)
  • Voice commands
  • Wearable integration
  • AI-powered touchpoint suggestions
  • Budget analytics

🀝 Contributing

This is an MVP starter project. Key areas for contribution:

  • Real HomeKit integration
  • Calendar sync implementation
  • Advanced streak calculations
  • Booking link public page UI
  • E2E tests

πŸ“„ License

MIT License - see LICENSE file for details

πŸ’‘ Inspiration

Built with inspiration from:

  • Things 3: Clean, calm UI
  • Linear: Fast, purposeful animations
  • Arc Browser: Thoughtful design details

πŸ› Known Limitations (MVP)

  • Smart home is demo-only (mock devices)
  • No calendar sync yet (local only)
  • No cloud backup (export/import via JSON)
  • Streak calculation is simplified
  • Schedule screen is placeholder
  • No push notifications (local only)

πŸ“ž Support

For issues or feature requests, please file an issue on GitHub.


Built with ❀️ for better life management

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors