Additional work

Collaborative product project · May 2026 — Present

One habit system across web, desktop, and Android

A cross-platform habit system that keeps recurrence, streaks, authentication, offline work, and release delivery consistent across web, Tauri desktop, and Android clients.

Role
Full-stack & Platform Engineer — collaborative team
Organization
Collaborative product project
Period
May 2026 — Present

Team

  • Omar AbduhFull-stack, platform, and mobile engineering
  • Kamel Ahmed Full-stack engineering

Context

The environment

Isle is an active beta built by a two-person team to provide one dependable habit model across browser, native desktop, and Android experiences. The product supports positive, negative, and composite habits while keeping schedule, completion, streak, and account behavior aligned between clients.

Problem

What needed to change

Deliver one cross-platform system without allowing recurrence rules, local dates, offline actions, authentication, or release behavior to drift between three client runtimes.

Constraints

  • Daily, weekly, and monthly RRULE recurrence must remain exact across local dates and time zones.
  • Web, Tauri, and Android share product behavior but require different token-storage and platform integration boundaries.
  • Offline completions must queue and synchronize without silently changing habit history.
  • A beta release process must test and package TypeScript, Java, Rust, Docker, desktop, and Android surfaces.
  • Product planning and implementation decisions are collaborative across the two-person team.

Contribution

My responsibility

  • Recurrence, completion, and timezone-aware streak implementation
  • Shared-package extraction and cross-client integration
  • Android delivery and native-platform integration
  • OAuth, session, and deployment reliability fixes
  • Docker health checks and delivery hardening
  • CI gates, semantic-release, and native artifact automation

Approach

How I structured the work

Keep recurrence and streak rules explicit

Model positive, negative, and composite habits around RRULE schedules, local-date completion, and timezone-aware streak calculations so every client receives the same domain answer.

Share behavior without hiding platform boundaries

Extract common TypeScript contracts and client behavior into a pnpm monorepo package while retaining platform-specific storage, navigation, and lifecycle integrations for web, Tauri, and Android.

Bound authentication by runtime

Use Google OAuth 2.0 PKCE with short-lived JWT access and refresh flows, including Tauri Stronghold storage for desktop refresh tokens and rate limiting at the service boundary.

Make delivery part of the product

Combine backend unit and integration checks with web, desktop, Rust, Docker, and Android CI gates, then use semantic-release for Docker publication and native release artifacts.

Evidence

A safe view of the system

Shared behavior with platform-specific authentication and storage boundaries. This diagram is intentionally abstract and contains no operational identifiers.

Outcome

What the work established

  • Established one domain model for recurrence, completion, and streak behavior across three client platforms.
  • Reduced duplicated client logic through a shared package while preserving platform-specific security boundaries.
  • Connected test, build, container, desktop, and Android checks to an automated release workflow.
  • Built offline, authentication, timezone, and delivery concerns into the beta foundation rather than treating them as later add-ons.