Skip to content

ElliotBadinger/echo

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Echo - Never Miss a Moment

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.

πŸš€ Quick Start for Users

What Echo Does

  • 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

Installation & Usage

  1. Install the app on your Android device (minimum API 30)
  2. Grant audio recording permissions when prompted
  3. The app starts recording automatically in the background
  4. Use the interface to save clips from recent audio
  5. Access saved recordings through the app's library

πŸ› οΈ Development Setup

Prerequisites

  • Android Studio (Latest stable version recommended)
  • JDK 17 (Required for this project)
  • Android SDK with API level 30+
  • Git for version control

Building the Project

# 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

Project Status

  • 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

πŸ€– AI Agent Development

Default Agent Prompt (for new agents)

  • 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):

  1. Core Principles - The 5 non-negotiable rules
  2. Current Status - Project state and priorities
  3. 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, commit

πŸ“ Project Structure

echo/
β”œβ”€β”€ 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

🚨 Current Known Issues

Build & Test Issues βœ… MAJOR IMPROVEMENTS MADE

  • βœ… 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

Architecture Issues

  • 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

🎯 Development Principles

For Human Developers:

  • Follow Android development best practices
  • Use MVVM architecture pattern
  • Implement proper testing at all levels
  • Follow Material Design guidelines

For AI Agents:

  • 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

πŸ“š Additional Resources

πŸ“– Documentation System

πŸ—οΈ Development Frameworks

πŸ“Š Project State

πŸ”Œ MCP Integration

πŸ“ Templates

βš™οΈ Automation

🀝 Contributing

For Human Contributors:

  1. Read the documentation in documentation/ folder
  2. Focus on small, testable improvements
  3. Follow Android development best practices
  4. Submit PRs with comprehensive descriptions

For AI Assistant Contributors:

  1. Read docs/agent-workflow/core-principles.md FIRST - The 5 essential rules
  2. Use manual git commands only for commits (GitHub MCP causes sync conflicts)
  3. Follow the workflow in docs/agent-workflow/session-checklist.md
  4. Focus on small improvements, not large refactors
  5. Document significant changes using templates in docs/templates/

πŸ“„ License

[Add your license information here]



πŸ€– QUICK START COMMANDS FOR AI AGENTS

βœ… 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:

  1. Remote-first: Check remote CI/CD (GitHub) and fix failures before local TIER 1
  2. READ docs/agent-workflow/core-principles.md before making ANY changes
  3. NEVER USE GitHub MCP for commits - use manual git commands only
  4. FOLLOW the incremental change methodology - small steps only
  5. DOCUMENT significant changes using templates in docs/templates/

πŸ“š Documentation

This project uses a unified documentation system for efficient knowledge management:

Quick Navigation

About

Time travelling recorder for Android.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 91.6%
  • Shell 4.6%
  • Java 3.8%