managarten/apps-archived/memoro/apps/mobile
Till-JS 61d181fbc2 chore: archive inactive projects to apps-archived/
Move inactive projects out of active workspace:
- bauntown (community website)
- maerchenzauber (AI story generation)
- memoro (voice memo app)
- news (news aggregation)
- nutriphi (nutrition tracking)
- reader (reading app)
- uload (URL shortener)
- wisekeep (AI wisdom extraction)

Update CLAUDE.md documentation:
- Add presi to active projects
- Document archived projects section
- Update workspace configuration

Archived apps can be re-activated by moving back to apps/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 07:03:59 +01:00
..
__tests__ chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
app chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
assets chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
components chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
config chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
content chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
context chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
docs chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
features chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
hooks chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
scripts chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
sql chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
store chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
types chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
utils chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
web chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
worklets-stub chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.env.dev chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.env.dev.example chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.env.example chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.env.prod chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.env.prod.example chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.gitattributes chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.gitignore chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
.mcp.json chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
app-env.d.ts chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
app.json chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
babel.config.js chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
cesconfig.json chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
CLEANUP_ACTIONS_TAKEN.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
CLEANUP_REPORT.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
cloudflare-env.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
config.ts chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
eas-build-pre-install.sh chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
eas.json chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
eslint.config.js chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
ESLINT_SETUP.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
EXPO_54_AUDIO_RECORDING_MIGRATION.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
EXPO_AUDIO_MIGRATION.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
global.css chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
LOADING_ANIMATIONS_UPDATE.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
MANUAL_REVIEW_REQUIRED.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
metro.config.js chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
MIGRATION_COMPLETE.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
MIGRATION_README.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
MIGRATION_SUMMARY.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
MIGRATION_TODO.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
nativewind-env.d.ts chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
netlify.toml chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
package.json chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
POSTHOG_REMOVAL.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
prettier.config.js chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
README.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
SENTRY_SDK54_WORKAROUND.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
tailwind.config.js chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
TECHNICAL_DOCUMENTATION.md chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
translation-report.json chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
tsconfig.json chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00

Memoro App

AI-powered voice recording and memo management application built with React Native and Expo. Memoro transforms audio recordings into structured, searchable content using artificial intelligence and provides collaborative workspace features.

🎯 What It Does

  • Audio Recording: High-quality recording with background support and real-time transcription
  • AI Processing: Transform recordings into structured content using customizable Blueprints and Prompts
  • Collaborative Spaces: Share and organize memos within team workspaces
  • Multi-Language Support: 32 languages with automatic device detection
  • Credit System: Mana-based pricing for AI operations with transparent costs
  • Cross-Platform: Native iOS, Android, and responsive Web support

📱 Current Version

  • App Version: 2.0.3
  • iOS Build: 417
  • Android Build: 416
  • Bundle ID: com.memo.beta

🛠 Technology Stack

Core Framework

  • React Native: 0.79.2
  • Expo SDK: 53.0.6
  • React: 19.0.0
  • TypeScript: Latest

Navigation & UI

  • Expo Router: 5.0.4 (file-based routing)
  • NativeWind: 4.1.23 (Tailwind CSS for React Native)
  • React Native Reanimated: 3.17.4

State Management

  • Zustand: 5.0.4 (global state)
  • React Context: Feature-specific state management

Backend Integration

  • Supabase: 2.49.4 (database, storage, real-time)
  • Custom JWT Middleware: Authentication bridge
  • Azure Speech Services: Audio transcription

Platform Features

  • Audio: expo-audio 1.0.13 (migrated from expo-av)
  • Maps: react-native-maps 1.20.1
  • Subscriptions: react-native-purchases 8.10.1 (RevenueCat)
  • Analytics: posthog-react-native 3.16.1
  • Notifications: @notifee/react-native 9.1.8
  • Markdown: react-native-markdown-display 7.0.2

📁 Project Structure

memoro_app/
├── app/                     # Expo Router navigation
│   ├── (public)/           # Unauthenticated routes
│   │   ├── login.tsx       # Multi-provider authentication
│   │   └── register.tsx    # User registration
│   ├── (protected)/        # Authenticated routes
│   │   ├── (tabs)/         # Main navigation tabs
│   │   │   ├── index.tsx   # Recording screen
│   │   │   ├── memos.tsx   # Memo management
│   │   │   └── spaces.tsx  # Space collaboration
│   │   ├── (memo)/[id].tsx # Dynamic memo details
│   │   ├── (space)/[id].tsx # Space details
│   │   └── settings.tsx    # App configuration
│   └── modal.tsx           # Modal presentations
├── components/             # Atomic design system
│   ├── atoms/             # Basic UI components (16 components)
│   ├── molecules/         # Composite components (21 components)
│   ├── organisms/         # Complex components (9 components)
│   └── statistics/        # Analytics components (14 components)
├── features/              # Feature-based architecture
│   ├── auth/             # Authentication system
│   ├── audioRecording/   # Recording functionality
│   ├── spaces/           # Collaboration features
│   ├── credits/          # Mana credit system
│   ├── i18n/             # Internationalization
│   ├── subscription/     # RevenueCat integration
│   └── theme/            # Theme system & Markdown styles
├── content/              # Dynamic content system
│   ├── blueprints/       # AI analysis patterns
│   ├── categories/       # Content organization (8 categories)
│   └── prompts/          # AI task templates
└── docs/                 # Documentation

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • Expo CLI
  • iOS Simulator / Android Emulator
  • Xcode (for iOS development)
  • Android Studio (for Android development)

Installation

# Clone the repository
git clone <repository-url>
cd memoro_app

# Install dependencies
npm install

# Install iOS dependencies (macOS only)
cd ios && pod install && cd ..

# Start development server
npm start

Development Commands

# Start Expo development server
npm start

# iOS development
npm run ios

# Android development
npm run android

# Web development
npm run web

# Type checking
npm run type-check

# Linting
npm run lint

🏗 Build & Deployment

EAS Build Configuration

# Development build
eas build --profile development

# Preview build
eas build --profile preview

# Production build
eas build --profile production

Build Profiles

  • Development: Development client with debugging enabled
  • Preview: Internal distribution with app bundle (Android)
  • Production: Auto-increment version, store-ready builds

Platform Support

  • iOS: App Store deployment with proper entitlements
  • Android: Google Play with adaptive icons
  • Web: Netlify deployment with static export

🎨 Design System

Atomic Design Architecture

  • Atoms: Button, Text, Icon, Input, Toggle (16 components)
  • Molecules: MemoPreview, RecordingBar, TagSelector (21 components)
  • Organisms: AudioRecorder, Memory, TranscriptDisplay (9 components)
  • Statistics: Specialized analytics components (14 components)

Theme System

  • Multiple Variants: Light, dark, and custom themes
  • Dynamic Switching: Real-time theme changes
  • System Detection: Automatic dark/light mode
  • Color System: Comprehensive Tailwind-based palette

Markdown Support

  • Rich Text Display: Full Markdown rendering in memos
  • Hybrid Rendering: Automatic detection of Markdown syntax
  • Theme Integration: Markdown styles adapt to dark/light mode
  • Supported Features: Headers, bold, italic, links, code blocks, lists, quotes, tables
  • Centralized Styles: Configurable through features/theme/markdownStyles.ts

🌍 Internationalization

Supported Languages (32)

Arabic, Bengali, Bulgarian, Chinese, Czech, Danish, Dutch, English, Estonian, Finnish, French, Gaelic, German, Greek, Hindi, Croatian, Hungarian, Indonesian, Italian, Japanese, Korean, Lithuanian, Latvian, Maltese, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Turkish, Ukrainian, Urdu, Vietnamese

Features

  • Automatic Detection: Device language detection with fallback
  • Persistent Preferences: User language choice storage
  • RTL Support: Right-to-left languages (Arabic, Hebrew)
  • Complete Translations: All UI elements localized

🎙 Audio Features

Recording Capabilities

  • High-Quality Recording: M4A format with AAC encoding
  • Background Recording: Proper iOS/Android permissions
  • Pause/Resume: Seamless recording control
  • Real-Time Monitoring: Audio level metering
  • Crash Recovery: Automatic segmentation prevents data loss

Processing Pipeline

  • Cloud Storage: Supabase Storage integration
  • Azure Transcription: Speaker labeling and timestamps
  • AI Analysis: Custom backend processing
  • Real-Time Updates: Live processing status
  • Error Recovery: Comprehensive retry mechanisms

🤖 AI Processing System

Blueprints

Reusable AI analysis patterns for different use cases:

  • Text Analysis: Content structure and insights
  • Creative Writing: Literary analysis and suggestions
  • Meeting Notes: Action items and summaries
  • Research: Citation and reference extraction

Prompts

Specific AI tasks for content transformation:

  • Summary: Concise content overview
  • To-Do: Action item extraction
  • Translation: Multi-language support
  • Question Answering: Interactive content exploration

Categories (8)

  • Coaching, Crafts, Healthcare, Journal, Journalism, Office, Sales, University

💰 Subscription & Credits

Mana Credit System

  • Transparent Pricing: Backend-driven cost calculation
  • Real-Time Validation: Pre-operation credit checks
  • Usage Tracking: Comprehensive consumption analytics
  • Credit Sharing: Team-based credit pools

Subscription Tiers

  • Free: 150 Mana, 5 daily Mana
  • Individual Plans: Stream (€5.99), River (€14.99), Lake (€29.99), Ocean (€49.99)
  • Team Plans: Collaborative features with shared credits
  • Enterprise: Advanced features and support

RevenueCat Integration

  • Cross-Platform: iOS, Android, Web support
  • Purchase Management: Subscription lifecycle handling
  • User Identification: Authentication system integration
  • Restoration: Cross-device purchase recovery

🏢 Collaborative Spaces

Team Features

  • Space Creation: Unlimited collaborative workspaces
  • Member Management: Role-based permissions
  • Memo Sharing: Seamless content collaboration
  • Invitation System: Email-based team invites
  • Access Control: Row-level security policies

Integration

  • Backend API: RESTful space management
  • Real-Time Sync: Live collaboration updates
  • Credit Pools: Shared team resources
  • Analytics: Team usage insights

🔐 Security & Authentication

Multi-Provider Authentication

  • Email/Password: Traditional authentication
  • Google Sign-In: OAuth integration
  • Apple Sign-In: iOS native authentication
  • JWT Tokens: Custom middleware integration

Data Security

  • Row Level Security: Database-level access control
  • Token Rotation: Automatic refresh mechanisms
  • Secure Storage: Platform-specific secure storage
  • Permission System: Granular access controls

📊 Analytics & Monitoring

User Analytics

  • PostHog Integration: Comprehensive event tracking
  • User Identification: Authentication-linked analytics
  • Feature Usage: Detailed interaction metrics
  • Performance Monitoring: App performance insights

Error Handling

  • Graceful Degradation: Offline functionality
  • Retry Mechanisms: Network failure recovery
  • User Feedback: Comprehensive error messaging
  • Crash Reporting: Production error tracking

🔧 Development & Testing

Code Quality

  • TypeScript Strict: Type safety enforcement
  • ESLint & Prettier: Code quality standards
  • Atomic Design: Consistent component architecture
  • Documentation: Comprehensive README files

Development Tools

  • Expo Development Build: Native debugging
  • Metro Bundler: Asset optimization
  • Hot Reload: Fast development iteration
  • Platform Testing: iOS/Android/Web testing

📚 Additional Documentation

For more detailed information, see:

  • CLAUDE.md: Development notes and context
  • docs/: Feature-specific documentation
  • ReadMe/: Legacy documentation archive
  • features/*/README.md: Feature-specific guides

🌟 Key Features Summary

  1. Enterprise-Ready: Production-scale architecture with comprehensive error handling
  2. International: 32-language support with RTL compatibility
  3. Modern Stack: Latest React Native patterns with Expo Router
  4. AI-Powered: Sophisticated content processing and analysis
  5. Collaborative: Team-based workspaces with real-time sync
  6. Cross-Platform: Native iOS, Android, and responsive web
  7. Subscription-Ready: Complete RevenueCat integration
  8. Secure: Multi-provider auth with JWT tokens
  9. Rich Content: Markdown support with theme-aware styling

Memoro represents a sophisticated, production-ready application that successfully combines audio recording, AI processing, and collaborative productivity tools while maintaining high code quality and user experience standards across multiple platforms.