AboutProjectsJournal
THE_ROBOSAPIEN
Contact
AboutProjectsJournalResumeContact

Ready to build and ship
something useful?

Initiate Contact
THEROBOSAPIEN

Full-stack developer building thoughtful interfaces, reliable backend flows, and web and native products shaped through iteration.

Directory

  • About
  • Projects
  • Journal
  • Resume
  • Contact

Profiles

  • GitHub
  • LinkedIn
  • Twitter / X
System Status: Online© 2026 The RoboSapien.
ROBOSAPIEN
ProjectsPulseHabit
01 / Project Details
Case StudyMobile offline-first habit + workout tracker

PulseHabit

PulseHabit is a polished mobile tracking app built to prove that a fitness product can feel lightweight for the user while still handling the hard parts behind the scenes. It combines habit tracking, workout logging, local reminders, optional cloud sync, and export tooling into one focused experience designed for consistency. The product is intentionally opinionated: it works fully offline by default, keeps the UI reactive through a local SQLite data layer, and only adds cloud complexity when the user signs in. That makes it practical for everyday use.

RoleFull-Stack Engineer
Duration6 Weeks
ClientPersonal Project
Year2025
Back to ProjectsLive Preview
PulseHabit Logo
Project Summary

PulseHabit is a Flutter habit tracker built for offline-first reliability — with reminders, streak tracking, workout logging, and optional Firebase sync.

02 / Snapshot

Core experience

100% offline-first

Primary tracking flows

Habits + Workouts

Reminder model

Weekly local scheduling with deep links, snooze, and quick actions

Sync model

Optional Firestore sync with last-write-wins conflict handling

03 / Overview

Building a tracking experience that stays reliable even when the network disappears.

PulseHabit targets a simple but important product gap: many habit and fitness apps become fragile the moment connectivity, authentication, or cloud configuration gets in the way. This project approaches the problem differently. The local database is the source of truth, the interface stays responsive through reactive queries, and cloud features are layered on as enhancements rather than dependencies.

Challenge

The challenge was to build an MVP that balanced product breadth with operational discipline. PulseHabit needed to support onboarding, authentication, habit scheduling, workout logging, notifications, sync, export, and settings without turning the app into a brittle stack of coupled features. The harder problem was not CRUD itself; it was making those flows feel dependable under real-world conditions like sign-out states, no network, local-only usage, and incremental sync.

Solution

The solution was a modular Flutter architecture centered on local persistence, provider-driven UI state, and best-effort service layers. Drift powers the local SQLite store, Riverpod wires repositories and app services, GoRouter structures navigation, and Firebase is treated as optional infrastructure for authentication and sync. The outcome is a product that feels simple on the surface but demonstrates thoughtful handling of reminders, deep links, reactive updates, conflict resolution, and graceful degradation.

04 / Stack & Scope

What shipped

Tech Stack
FlutterMaterial 3RiverpodGoRouterDrift / SQLiteFirebase AuthCloud FirestoreGoogle Sign-In
Team Context

Solo Full-Stack Engineer

Deliverables

  • Multi-step onboarding with notification education
  • Email/password authentication and Google sign-in for sync feature
  • Habit creation, editing, archiving, deletion, and completion tracking
  • Habit reminder scheduling by weekday and time
  • Workout logging with type, duration, notes, and date/time
  • Detail views for habits and workouts
  • Streak calculation with recent history visibility
  • Settings and profile screens with theme selection
  • Manual sync controls and sync status reporting
  • Testable, offline-capable architecture with Firebase optionality

Key Highlights

  • Offline-first by design: the UI reads from the local database, so core flows remain fast and available without internet.
  • Optional cloud, not required cloud: Firebase auth and Firestore sync enhance the product without blocking local use.
  • Reactive UX: local Drift streams update screens immediately after mutations.
  • Reliable reminders: timezone-aware local notifications schedule per selected weekday and open straight into the correct habit.
  • Actionable notifications: reminder interactions support snooze and quick navigation into completion flows.
  • Portable user data: exports include habits, entries, workouts, timestamps, and IDs in both human-readable and backup-friendly formats.
  • Scalable MVP structure: feature folders, repositories, providers, DAOs, and service boundaries keep the codebase easy to extend.
05 / Process

From product framing to final polish.

Step 01

Product Framing

Defined the MVP around a clear promise: help users build consistency with as little friction as possible. That meant focusing on fast onboarding, immediate usefulness, and a structure that supported both daily habits and one-off workout logs without overwhelming the interface.

Step 02

Local-First Architecture

Built the app around Drift and SQLite so the local database could act as the source of truth for the UI. Repositories handle persistence, Riverpod exposes application state cleanly, and reactive queries keep the experience responsive across list, form, and detail screens.

Step 03

Service Wiring

Layered in the features that make the MVP feel production-aware: local reminders, timezone configuration, notification deep links, optional Firebase authentication, Firestore sync, export services, and profile-level sync visibility. Each service was designed to fail gracefully so the core app remained usable even when cloud services were absent.

Step 04

Polish & Delivery

Rounded out the product with Material 3 theming, onboarding gates, profile and settings flows, month-based workout browsing, habit streak visibility, documented test commands, and release-oriented setup guidance. The result is a portfolio project that demonstrates both implementation depth and delivery discipline.

06 / Gallery

Selected product views

07 / Closing Notes

PulseHabit focuses on one core idea: a personal tracking product should remain useful even when everything around it is uncertain.

Product Judgment

The scope stays tight and useful, balancing habits, workouts, reminders, sync, and export without losing clarity.

Engineering Depth

Local persistence, providers, notifications, auth, and Firestore sync are integrated through clean service boundaries.

Reliability

Core functionality remains available offline, with graceful fallbacks when Firebase is unavailable.

08 / Next Project
Up Next

Decentra-Blog

Explore the next case study in the portfolio catalogue.

View Project