Diaensho is an intelligent, AI-powered audio diary designed to effortlessly capture your spoken thoughts, track digital habits, and transform your daily experiences into insightful, searchable summaries. This repository contains the native Android application built with the latest modern development practices.
-
Always-On Hotword Detection: Passively listens for the "Dear diary" hotword with minimal battery impact using a persistent Foreground Service.
-
Seamless Voice-to-Text: Instantly captures your spoken thoughts and saves them locally.
-
Automatic Screen Time Tracking: Gathers daily app usage statistics to provide a holistic view of your day.
-
Offline-First Architecture: Fully functional without a network connection. All entries are saved locally to a Room database and synced intelligently.
-
AI-Powered Summaries: Connects to the Diaensho backend to receive beautifully crafted daily summaries and highlights generated by AI.
-
Full-Text Global Search: Instantly find any thought or topic across your entire diary history.
-
Modern, Reactive UI: A beautiful and responsive user interface built entirely with Jetpack Compose.
This project showcases a modern, robust Android architecture designed for scalability and maintainability.
-
UI: Jetpack Compose for a fully declarative and modern UI.
-
Architecture: MVVM (Model-View-ViewModel) to separate UI logic from business logic.
-
Asynchronous Programming: Kotlin Coroutines & Flow for managing all background tasks and reactive data streams.
-
Dependency Injection: Hilt for managing dependencies and simplifying the app's structure.
-
Database: Room for robust, offline-first data persistence.
-
Networking: Retrofit & Moshi for type-safe communication with the backend REST API.
-
Background Processing:
-
Foreground Service for the persistent hotword listener.
-
WorkManager for reliable, scheduled tasks like screen time tracking and data synchronization.
-
To get the project up and running, follow these steps:
-
Android Studio Iguana | 2023.2.1 or later.
-
JDK 17 or later.
-
A running instance of the diaensho-backend.
-
Clone the repository:
git clone [https://github.com/your-username/diaensho-android.git](https://github.com/your-username/diaensho-android.git)