Startup BuildFlagship

Recallink · Core & Docs

Not a contacts app but a personal relationship CRM that remembers "what happened with this person." Web, app, and local DB all share the same model.

PersonalDuration 4wContribution 100%2026-032026-04
Key Metric: Web, Android, and iOS share one 6-table model
Engineering Role
FullstackEnd-to-EndMobile
Recallink · Core & Docs project interface preview
Startup Build
Recallink · Core & Docs
WEB
#Product#Mobile#Web#Personal

Overview

A personal network CRM that remembers conversations, meetings, follow-up actions, and relationship context. The web PWA, Android/iOS apps, local DB, and optional Supabase sync share one 6-table domain model with per-row LWW merge and a 30-day soft-delete purge.

My Work

  • Documented the SSoT: PRD, architecture ADRs, Supabase DDL/RLS, E2E scenarios
  • Implemented the 6-table schema consistently across web, Android, and iOS
  • Local-first design with full offline support
  • Designed the sync engine with per-row LWW merge and cursor pagination
  • Designed the business model: premium subscription, 14-day trial, local-only fallback

Features

  • 6-table domain: Contact, ContactChannel, Log, Event, Attachment
  • Triple storage: SQLite (mobile), IndexedDB (web), Supabase (optional cloud)
  • Stripe subscription at $9.99/month or $79/year, 14-day trial
  • Android Glance widgets / Share Sheet / system contacts sync
  • iOS Quick Log, Feed, Upcoming, Settings

Highlights

  • Local-first plus optional cloud sync
  • Per-row LWW merge plus cursor pagination
  • 30-day soft-delete purge
  • Phase 1: full web routes, Stripe subscription, 100+ tests
  • Android 8 Screen + Glance widgets (3 types)

Timeline

2026-032026-04
Role: Architect, solo developer
Contribution: 100%
Collaboration: Personal

Tech Stack

</>Local-first, KMP, optional Supabase sync

Markdown (SSoT)Kotlin MultiplatformNext.jsSupabaseStripe