Skip to main content

Overview

EV Sum 2 is a feature-rich Android mobile application built with Kotlin and Jetpack Compose. The app demonstrates advanced cloud integration with Firebase services and leverages device sensors for voice input and geolocation functionality. It follows the Service-Repository pattern for clear separation of concerns and easy maintenance.
This app is designed to run on physical Android devices (API 24+) for optimal performance with voice recognition and sensor features.

Key features

The app provides a comprehensive set of capabilities organized into distinct functional areas:

Voice-powered authentication

Dictate your email and password using advanced speech-to-text with intelligent normalization that converts spoken words like “arroba” to ”@” and “punto” to ”.”

Firebase authentication

Complete user management with sign-in, registration, password recovery, and persistent session handling via AuthStateListener

Cloud phrase storage

Full CRUD operations for quick phrases stored in Cloud Firestore with automatic timestamp-based ordering

Advanced geolocation

Precise location tracking using FusedLocationProviderClient with reverse geocoding to convert coordinates into readable addresses

Text-to-speech

Built-in accessibility feature that reads stored phrases aloud using Android’s TTS engine configured for Spanish (Chile)

Material Design 3

Modern UI built with Jetpack Compose and Material Design 3 components with dark/light theme support

Architecture highlights

The project follows a clean, layered architecture that ensures low coupling and high maintainability:
  • data: Contains repositories (AuthRepository, PhraseRepository, LocationRepository) that interact asynchronously with Firebase and Google Cloud services
  • domain: Pure business models (AppUser, Phrase, DeviceLocation) and framework-agnostic validation logic
  • services: Hardware abstraction layer with controllers for LocationService, SpeechController, and TextToSpeechController
  • ui: Complete visual layer built with Jetpack Compose, organized by feature areas (auth, home, location) with navigation in AppNavGraph.kt

Technology stack

Core framework

  • Kotlin 1.9+
  • Jetpack Compose
  • Material Design 3
  • Android SDK 24-36

Backend services

  • Firebase Authentication
  • Cloud Firestore
  • Google Play Services Location

Architecture

  • Jetpack Navigation Compose
  • Kotlinx Coroutines & Flow
  • Service-Repository pattern

Testing

  • JUnit for unit tests
  • 100% coverage on speech normalization

Get started

Quickstart

Get the app running in minutes with our quick setup guide

Detailed setup

Complete setup instructions including Firebase configuration and permissions

Architecture

Learn about the app’s structure and design patterns

Features

Explore authentication, voice input, location services, and more

Download

You can download the latest APK release from the GitHub releases page.

Build docs developers (and LLMs) love