Files
gps-speedo/CLAUDE.md
T
Mikkeli Matlock 2c2267e5ae v2.1.0: Add floating window overlay functionality
Major Features:
- Floating overlay window with system-level persistence
- Split decimal display (main speed prominent, decimal smaller/faded)
- Optimized content sizing for maximum readability
- Navigation icon trigger for overlay activation
- Multiple close options (overlay button + long-press navigation)

Technical Implementation:
- Added flutter_overlay_window dependency
- Android SYSTEM_ALERT_WINDOW permissions
- Overlay service configuration in AndroidManifest
- Enhanced flex ratios for better space utilization
- BoxFit.contain for improved content scaling

UX Improvements:
- Streamlined overlay launch (removed permission prompts)
- Cleaner visual hierarchy with split speed display
- Responsive design for both portrait and landscape
- Professional overlay styling matching app theme

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 23:03:31 +09:00

3.7 KiB

GPS Speedometer - Claude Code Project Memory

Project Overview

A customizable Flutter GPS speedometer app targeting Android devices, emphasizing modularity and user customization.

Current Status: v2.1.0 Complete 

GPS speedometer with floating window overlay functionality and optimized visual design.

Architecture Implemented

  • State Management: Provider pattern
  • Structure: Modular widgets, providers, screens separation
  • Persistence: SharedPreferences for settings
  • GPS Service: Geolocator with permission handling
  • UI Patterns: Consumer widgets, responsive design

Core Features Completed

  •  Real-time GPS speed tracking with accuracy monitoring
  •  Customizable speed units (km/h � mph) with persistent storage
  •  Dual display styles: Digital speedometer + Analog gauge
  •  Dark/Light theme support with system integration
  •  Optional metrics panel: coordinates, distance, trip time, accuracy
  •  Trip reset functionality and comprehensive error handling
  •  Portrait orientation lock for mobile-first experience
  •  Android permissions configuration (FINE_LOCATION, COARSE_LOCATION)

Technical Stack

Dependencies: geolocator, permission_handler, provider, shared_preferences, flutter_material_color_picker
Platforms: Android (primary), iOS support included but untested
Architecture: Provider + Consumer pattern for reactive state management
Permissions: Location services with graceful degradation

Recent Updates (v2.1.0)

✅ Completed Features

  • Floating Window Overlay: System-level overlay window for persistent speed display
  • Split Decimal Display: Main speed prominent, decimal fraction smaller and faded
  • Optimized Content Sizing: Maximized readability with improved flex ratios
  • Navigation Icon Trigger: Tap compass area to launch floating window
  • Multiple Close Options: Overlay close button and long-press navigation area
  • Android Permissions: SYSTEM_ALERT_WINDOW and foreground service support

Previous Updates (v1.1)

  • Portrait/Landscape Support: Automatic orientation detection implemented
  • Interactive Gauge: Click gauge face to switch digital/analog modes
  • Extended Speed Units: Added knots support with quick selector buttons

TODO - Future Improvements

Critical Issues

  • Dependency Updates: Update 10 packages to latest compatible versions
  • Orientation Override: Fix auto-rotate to work regardless of system toggle status

UI/UX Enhancements

  • Background Customization: Custom background color selection
  • Interface Rearrangement: User-defined layout customization
  • Settings Menu Refurbishment: More intuitive interactions and better UX

Technical Improvements

  • Font Embedding: Consider custom fonts for better typography
  • Feature Removal: Identify and remove unused/redundant functionalities
  • Code Cleanup: Refactor deprecated warnings, optimize performance

Design Philosophy

  • Preserve modularity for easy future extensions
  • Prioritize user customization options
  • Maintain clean, extensible architecture
  • Focus on mobile-first, gesture-friendly interactions

Development Notes

  • Testing: Requires physical Android device for GPS functionality
  • Build System: Standard Flutter build process, first builds take time for Android SDK setup
  • Memory: Project uses automatic Claude Code memory - this file for major decisions only
  • Git: Active repository at https://github.com/mikkelimatlock/gps_speedo

Code Patterns to Maintain

  • Provider pattern for state management
  • Separate widgets for reusability
  • Settings persistence with SharedPreferences
  • Graceful error handling for GPS/permissions
  • Responsive design principles