Skip to content

A colorful audio journaling app designed to help users quickly log their thoughts and mood throughout the day with voice memos.

Notifications You must be signed in to change notification settings

IronManYG/EchoJournal

Repository files navigation

EchoJournal

A colorful audio journaling app designed to help users quickly log their thoughts and mood throughout the day with voice memos.

Min SDK Target SDK Kotlin Version Jetpack Compose Version

Table of Contents

Overview

EchoJournal is an Android application that allows users to:

  • Record quick voice memos
  • Tag them with moods and topics
  • Organize logs in a filterable journal
  • Optionally enable extended features like AI transcription

This project is built primarily with Kotlin, Jetpack libraries, and Material Design to deliver a modern, intuitive user experience.

Features

Splash Screen

  • Simple branding screen displayed on app launch.

Journal History

  • Displays a list of audio entries grouped by day (Today, Yesterday, or date headers).
  • Filter audio logs by mood and topic.
  • Supports inline audio playback with visual audio-level indicators.

Quick Voice Recording

  • Start recording via a floating action button.
  • Pause/resume functionality.
  • Cancel ongoing recordings.

Create Record Screen

  • Add or edit details like mood, topic(s), title, and optional description.
  • Save the new log entry to the journal.

(Future) Settings Screen

  • Set default mood or topics for new log entries.

(Optional) AI Transcription

  • Button to transcribe recordings and insert text into the description field.

(Future) Home Screen Widget

  • Quickly open the app to a new recording state from the user’s home screen.

Screenshots

1. Splash-screen
Splash-screen
2. Entries - Empty
Entries - Empty
3. Entries
Entries
4. Entries - Mood Filter Active
Entries - Mood Filter Active
5. Entries - Topic Filter Active
Entries - Topic Filter Active
6. Entries - Record in Progress
Entries - Record in Progress
7. Create Record – Journal Entry Additional Details (Empty fields)
Create Record - Empty fields
8. Create Record – Journal Entry Additional Details
Create Record - Additional Details

Tech Stack & Libraries

  • Minimum SDK level 25
  • Modern Development
  • Architecture Components
    • Room for local database
    • Lifecycle components
    • Navigation Compose
  • UI Components
  • Material Design 3 components
  • Audio Recording & Playback:
  • Testing & Debugging
    • JUnit for unit testing
    • Timber for logging

Architecture

For the single-module MVP, EchoJournal follows these general guidelines:

  • MVI (Model-View-Intent) for a unidirectional data flow and clear separation of concerns.
  • Repository Pattern to manage data sources (local database or future remote services).
  • Jetpack Components (ViewModel, StateFlow, etc.) for state management and lifecycle awareness.

Why Single-Module?

  • Simpler Gradle configuration and fewer module boundaries.
  • Faster to set up for smaller teams or single developers.
  • Ideal for rapidly iterating on the MVP.

Getting Started

  1. Clone the repository
   git clone https://github.com/IronManYG/EchoJournal.git
  1. Open with Android Studio
  2. Sync project with Gradle files
  3. Run the app

Future Considerations

  • Multi-Module Refactor: As EchoJournal expands (e.g., larger teams, more complex AI features), break down the single module into domain, data, and individual feature modules for better scalability.
  • Advanced AI Transcription: Move AI logic into a dedicated module (e.g., feature_transcribe).
  • Dark Theme & Theming: Introduce dynamic theming or light/dark mode toggles once the MVP is solidified.
  • Network Synchronization: Add cloud sync or user authentication if needed for multi-device usage.

Acknowledgment

This project was built as part of the Pl Mobile Dev Campus community challenge.

Thank you for checking out EchoJournal!

If you have any questions or suggestions, feel free to open an issue or reach out to the maintainer. Happy coding!

About

A colorful audio journaling app designed to help users quickly log their thoughts and mood throughout the day with voice memos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages