Echo is a modern Android application that continuously records audio in the background, allowing you to go back in time and save moments that have already happened. Whether it's a brilliant idea, a funny quote, or an important note, Echo ensures you never miss it.
- Continuous Background Recording: Records audio silently in the background with a rolling buffer
- Time-Travel Audio: Save clips from moments that already happened
- Auto-Save: Never lose important audio when memory buffer fills
- Modern Interface: Clean Material You design
- Customizable: Adjust audio quality and memory usage
- Install the app on your Android device (minimum API 30)
- Grant audio recording permissions when prompted
- The app starts recording automatically in the background
- Use the interface to save clips from recent audio
- Access saved recordings through the app's library
- Android Studio (Latest stable version recommended)
- JDK 17 (Required for this project)
- Android SDK with API level 30+
- Git for version control
# Clone the repository
git clone https://github.com/your-username/echo.git
cd echo
# Create local.properties file (replace with your SDK path)
echo "sdk.dir=/path/to/your/android/sdk" > local.properties
# Build the project
./gradlew clean build
# Install on connected device
./gradlew installDebug- Build Status: π’ Fully working (100% success rate - full build completes successfully)
- Architecture: Currently undergoing refactoring from monolithic to modular design
- Active Development: Focus on improving test coverage and runtime stability
- Recent Success: RecordingViewModelTest fixed, compilation errors resolved
- Remote-first TIER 1: Check GitHub CI/CD workflows; if failing, fix remote first
- Local TIER 1: Only after remote is green, run local build/tests and fix critical errors
- Small, incremental changes; test immediately after each change
- Use manual git commands for commits/pushes; never push via GitHub MCP
- Research with MCP before complex changes; document significant changes via templates
Essential Reading (5 minutes):
- Core Principles - The 5 non-negotiable rules
- Current Status - Project state and priorities
- Session Checklist - Simple workflow
Key Rules:
- Fix build/test errors FIRST (TIER 1) before any improvements
- Make small changes, test immediately
- Use manual git commands:
git add . && git commit -m "..." && git push - Research with MCP tools before coding complex fixes
- Document significant changes using templates in
docs/templates/
Quick Start:
cd echo && ./gradlew clean # Check build health
# Read docs/agent-workflow/core-principles.md
# Pick smallest goal from docs/project-state/priorities.md
# Make one small change, test, commitecho/
βββ SaidIt/ # Main app module
βββ domain/ # Domain layer (business logic)
βββ features/recorder/ # Recording feature module
βββ docs/ # π Unified Documentation System
β βββ README.md # Documentation navigation
β βββ agent-workflow/ # π€ Agent development guides
β βββ project-state/ # π Current status and priorities
β βββ frameworks/ # ποΈ Development frameworks
β βββ mcp-integration/ # π MCP server optimization
β βββ templates/ # π Standardized templates
β βββ automation/ # βοΈ Documentation automation
βββ build.gradle.kts # Project build configuration
βββ README.md # Main project README
- β Build system now 100% functional (was 70% success rate)
- β RecordingViewModelTest fixed (was failing with IllegalStateException)
- π‘ Some other unit tests may still need investigation
- π‘ Threading violations in SaidItService (next priority)
- π‘ File locking issues in CI/CD
- π‘ Gradle warnings about deprecated APIs
- Monolithic service design needs refactoring
- Tight coupling between components
- Missing proper dependency injection
- Incomplete Jetpack Compose integration
π See documentation/echo-critical-fixes.md for detailed fixes
- Follow Android development best practices
- Use MVVM architecture pattern
- Implement proper testing at all levels
- Follow Material Design guidelines
- Read core-principles.md first - The 5 essential rules
- Use manual git commands only - Never use GitHub MCP for commits
- Small incremental changes only - One file, one issue at a time
- Test immediately after each change
- Follow session-checklist.md for consistent workflow
- Core Principles - Essential workflow rules
- Session Checklist - Simple workflow
- Current Status - Project state
- Documentation Overview - Full navigation
- Research Framework - Research-driven development methodology
- ML Strategy Framework - ML research and implementation
- Performance Framework - Performance optimization research
- UI/UX Framework - Professional UI development
- Kotlin Migration Framework - Java-to-Kotlin conversion
- Framework Integration - How frameworks work together
- Current Status - Live project state and critical issues
- Change Log - Historical changes and research findings
- Priorities - Current development priorities
- Research Findings - Technical insights and discoveries
- MCP Optimization - Overall MCP server usage strategy
- Context7 Guide - Android documentation access
- Brave Search Guide - Technical research methodology
- GitHub MCP Guide - CI/CD and repository management
- Playwright Guide - Web research and extraction
- Browserbase/Stagehand Guide - Single-session cloud browser workflow
- Change Log Template - Standardized change documentation
- MCP Usage Template - MCP server usage tracking
- Session Report Template - Session documentation
- Research Template - Research documentation
- Testing Template - Testing documentation
- Documentation Config - Documentation automation configuration
- Read the documentation in
documentation/folder - Focus on small, testable improvements
- Follow Android development best practices
- Submit PRs with comprehensive descriptions
- Read
docs/agent-workflow/core-principles.mdFIRST - The 5 essential rules - Use manual git commands only for commits (GitHub MCP causes sync conflicts)
- Follow the workflow in
docs/agent-workflow/session-checklist.md - Focus on small improvements, not large refactors
- Document significant changes using templates in
docs/templates/
[Add your license information here]
β Use these exact commands in your development environment:
# First time setup - verify environment
cd echo && ./gradlew --version && ./gradlew clean
# Check current build status
./gradlew build --continue
# Run specific tests
./gradlew :features:recorder:test
./gradlew test
# Find files
find . -name "*.kt" -o -name "*.java" | head -20π₯ CRITICAL FOR AI AGENTS:
- Remote-first: Check remote CI/CD (GitHub) and fix failures before local TIER 1
- READ
docs/agent-workflow/core-principles.mdbefore making ANY changes - NEVER USE GitHub MCP for commits - use manual git commands only
- FOLLOW the incremental change methodology - small steps only
- DOCUMENT significant changes using templates in
docs/templates/
This project uses a unified documentation system for efficient knowledge management:
- Documentation Hub - Central navigation and overview
- Agent Quick Start - 15-minute agent onboarding
- Current Status - Live project state
- Development Frameworks - Technical frameworks and methodologies
- MCP Integration - MCP server optimization guides
- π New to the project? Start with Core Principles
- π Current project state? Check Current Status
- π§ Development workflow? See Session Checklist
- π€ MCP optimization? Review MCP Integration