Mindful Day

A lovely timer for creative worker.

Why I build this?

First, it's my own problem, the idea was actually to combine bullet journaling and pomodoro technique, two techniques that significantly help increase my productivity, yet I couldn’t find any good app for this.

But my audience didn't seem click with "journaling", so I focus on building focus timer.

Second, there is competition, which means there is demand for this kind of tool.

Features
  • Miftahul Anwar
  • Topik Hidayat
  • Muhammad Azamuddin
  • Rinaldi
  • Bayu Ik
  • Focus Together

    Goodbye loneliness! even if you work from home, you'll feel you have friends around you working together with Leaderboard feature.

    2
    hours
    4 sessions
    5 planned
    3 worked on
    2 done
    ·
    6
    ·
    ·
    9
    ·
    ·
    12
    ·
    ·
    15
    ·
    ·
    Daily Recap

    See how you're going today, this will help you become more mindful by looking at how you spend your hours of the day.

    1 day
    streak
    Su
    Mo
    Tu
    We
    Th
    Fr
    Sa
    Streak

    With streak, you'll be more motivated to keep going everyday.

    Achievements

    Collect stamps by meeting specific criterias, for example working early in the morning will get you early riser stamp.

    Su
    Mo
    Tu
    We
    Th
    Fr
    Sa
    Weekly Review

    You can see how your week is going, see how you perform day to day, also you can see what tasks you spend the most during the week.

    Moved to today
    Task Migration

    Move all undone tasks from yesterday to focus on today. You can also pick individual task to move.

    Session Allocation

    Allocate how many sessions you want for each task. You will be able to see how many tasks you can handle for the day.

    Status

    Mindful Day is currently available to small group of users in Indonesia. I plan to launch in international market soon. For now, you can access it here https://bisakerjaremote.com/mindfulday/welcome

    Stacks
    Create T3 App

    Mindful Day is built using https://create.t3.gg, it provides good boilerplates to start with. Typescript, Trpc.io, Auth, Prisma, etc

    Kysely

    Instead of using Prisma, it uses kysely for interacting with database. Prisma is only used as dev tool to manage migrations.

    I pick kysely because it is resembles using raw SQL query which is more flexible than most ORM, but with the power of type safety.

    Dexie IndexedDB Wrapper

    To be performant, Mindful Day leverage local-first approach by storing user's data to IndexedDB and syncing it to MySQL database on the server. Any user's request to data will be first served by local data while checking if there is any latest changes from the server.

    Mobx

    In order to simplify all those synchronization, I built local-first sync system using OOP paradigm and using MobX since it is the most OOP-friendly state management in React ecosystem.

    Not only that, but also by using OOP and MobX allows the logic code to be separated from UI / component code. This result in a simple code to maintain and allow rapid feature development.

    UI related stacks
    TailwindCSS, framer-motion, shadcn-ui.
    Vitest
    Not all parts are tested, only the most critical ones, and it uses Vitest to test.
    © 2024 azamuddin.com