SkillAgentSearch skills...

Einsen

🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.

Install / Use

/learn @Spikeysanju/Einsen

README

GitHub Cards Preview

Build (Android) GitHub license ktlint

GitHub stars GitHub stars GitHub stars GitHub follow Twitter Follow

🎯 Einsen

Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.<br />

Try latest Einsen app apk from below πŸ‘‡

Einsen

<br />

🎨 UI Design

Click to View Einsen app Design from below πŸ‘‡

Einsen Figma Design Einsen FigJam Design

<br />

🌞 Day Mode

| Dashboard | All Tasks | Task Details
|--- |--- |--- | | |

| Add Task | Emoji | Empty State | |--- |--- |--- | | | |

<br />

🌚 We Support Dark Mode Too

| Dashboard | All Tasks | Task Details
|--- |--- |--- | | |

| Add Task | Emoji | Empty State | |--- |--- |--- | | | |

<br />

πŸ›  Built With

  • Kotlin - First class and official programming language for Android development.
  • Jetpack Compose - Jetpack Compose is Android’s modern toolkit for building native UI.
  • Coroutines - A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
  • Flow - A flow is an asynchronous version of a Sequence, a type of collection whose values are lazily produced.
  • Jetpack DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • Stateflow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
    • Flow - A flow is an asynchronous version of a Sequence, a type of collection whose values are lazily produced.
    • ViewModel - Stores UI-related data that isn"t destroyed on UI changes.
    • Jetpack Compose Navigation - The Navigation component provides support for Jetpack Compose applications.
    • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Material Components for Android
    • Modular and customizable Material Design UI components for Android.
  • Accompanist
    • A collection of extension libraries for Jetpack Compose.
  • Figma - Figma is a vector graphics editor and prototyping tool which is primarily web-based.
<br />

πŸ“¦ Package Structure

dev.spikeysanju.einsen
β”œβ”€β”€ app                   # Application class
β”œβ”€β”€ components            # All resuable components for this app
β”œβ”€β”€ data                  # For data handling
β”‚   β”œβ”€β”€ local               # Local Persistence Database. Room (SQLite) database
β”‚   β”‚   β”œβ”€β”€ Dao               # Data Access Object for Room
β”‚   β”‚   └── Database          # Database Instance
β”‚   └── datastore
β”‚       └── ThemePref         # Datastore Theme Preference 
β”œβ”€β”€ di                        # Hilt DI Modules
β”œβ”€β”€ model                     # Model class for [Task] & [Emoji]
β”œβ”€β”€ navigation                # For navigation handling
β”‚   β”œβ”€β”€ Routes                # All unique navigation routes of this app
β”‚   └── NavGraph              # Single source for Navigation Routes of this app
β”œβ”€β”€ repository                # Used to handle all data operations
β”œβ”€β”€ ui.theme                  # Theme setup for this app
β”œβ”€β”€ utils                     # Extension functions
β”œβ”€β”€ view                      # All composables screens root folder
β”‚   β”œβ”€β”€ add                   # Add Task Screen
β”‚   β”œβ”€β”€ edit_task             # Edit Task Screen
β”‚   β”œβ”€β”€ dashboard             # Dashboard Screen
β”‚   β”œβ”€β”€ all_task              # All Task Screen
β”‚   β”œβ”€β”€ task_details          # Task Details Screen
β”‚   β”œβ”€β”€ emoji                 # Choose Emoji Screen
β”‚   β”œβ”€β”€ webview               # WebView Screen
β”‚   β”œβ”€β”€ animation             # Animation Placeholders for State handling(Loading, Error, Empty etc.)
β”‚   β”œβ”€β”€ about                 # About Screen
β”‚   └── viewmodel             # ViewModel 
└── MainActivity.kt           # MainActivity 

<br />

πŸ—Ό Architecture

This app uses MVVM (Model View View-Model) architecture.

🧰 Build-tool

You need to have Android Studio Beta 3 (BumbleBee) or above to build this project. <br>

<img src="./beta_android.png" height="200" alt="Beta-studio"/> <br>

πŸ’¬ Frequently Asked Questions

<details open> <summary> When was project Einsen started? </summary>

🎯 I started working on this idea 6 months before founding Einsen app (April 2021). The idea was exploring mental models + productivity tips to achieve your goals. I tried to test the idea with Productivity & Time Management Trackers . So I built initial MVP..

</details> <details> <summary> Where can I find the research process for Einsen app?</summary>

πŸ“ The biggest lesson I learned while designing this was that, I need to be focused & working relentlessly on the same project, to get the right flow of thought & complete it. Each iteration led to more insights on improving the design, solving problems for users. You can find the link for πŸ“ Design Process here & 🎨 Figma Designs here

</details> <details> <summary> What is the future goals of this project Einsen? </summary>

πŸ¦„ For each week I will be implementing some new cool features for this application. Here are some of the amazing features you will come to expect from this platform :point_down:

  • Due Date for each task
  • Recurring task
  • Pomodoro timer for each task
  • Task Template as per user preference
  • Calendar based task management
  • Project management
  • Statistics for completed task
  • Introducing new mental model templates like Eisenhower
</details> <br />

🀝 Contribute

If you want to contribute to this app, you're always welcome! See Contributing Guidelines.

<br>

πŸ“© Contact

I know that first and foremost you are looking for a tool to solve your problems, but if you enjoy it that much, why not tell us? We would love to hear from you πŸ˜‰

DM me at πŸ‘‡

  • Twitter: <a href="https://twitter.com/sanjay_spikey" target="_blank">@spikeysanju</a>
  • Email: spikeysanju98@gmail.com
<br>

❀️ Show your Support

I love it when people use my tool

Related Skills

View on GitHub
GitHub Stars922
CategoryDevelopment
Updated4d ago
Forks80

Languages

Kotlin

Security Score

100/100

Audited on Mar 20, 2026

No findings