Skip to Content
Tech debtRegister

Technical Debt & Improvements Register

The single, prioritized view of Oter’s technical debt and planned improvements. Each item links to the canonical source doc — this register indexes and prioritizes, it does not duplicate detail.

This folder replaces the previously scattered debt notes (Roadmap’s “Technical Debt” section, finance improvement notes, migration plans, design-token gaps, testing gaps) as the live entry point. The Roadmap remains the strategic product roadmap; it is dated 2026-04-01 and partly stale — trust this register for current debt state.

How to use this

  • Skim the Prioritized register below for the whole picture.
  • Severity: P0 = blocking / actively risky · P1 = high · P2 = medium · P3 = low / cleanup.
  • Effort: S ≤ 1 day · M ≈ days · L ≈ weeks.
  • Drill into the per-area files for context, current state, and target state:
    • migrations.md — the three in-flight migrations (the dominant active debt)
    • architecture.md — code structure, patterns, sync, offline
    • testing.md — coverage reality vs targets, test infrastructure
    • design-system.md — token parity & design-fidelity migration
    • infra.md — dependencies, build/CI, cloud cost, security, doc hygiene

Top risks right now

  1. Mobile consolidation is mid-flight (big-bang, branch design-system-foundation). Steps S1–S3 done; S4–S7 not done / not verified. The app boots-compiles but feature coverage on the shared UI is unverified, and the old Android UI/Hilt/Room layer was only partially removed. High blast radius. → migrations.md
  2. Client test coverage is near-zero. shared has 4 test files for 491 sources; composeApp 0/287; androidApp 0/2. Only server is meaningfully tested (53 files). This is far below the 70–90% targets claimed in Testing & QA. → testing.md
  3. Dependency bleeding edge. Several pins are pre-release: exposed = 1.0.0-rc-4, compose-lifecycle = 2.11.0-beta01. Stability/upgrade risk. → infra.md

Prioritized register

IDItemAreaSevEffortStatusSource
TD-01Finish mobile consolidation (S4 feature-gap closure, S5 delete remaining Android UI/Hilt, S6 run-verify, S7 responsive breakpoints)MigrationsP0LIn progress (S1–S3 done)migrations.md · plans/mobile-consolidation-koin.md
TD-02Rebuild client test coverage (shared/composeApp ≈ 0); replace deleted Hilt-based test-core with koin-testTestingP1LOpentesting.md
TD-03Remove dead Hilt/Room/compose-hilt-navigation version pins from libs.versions.toml after consolidationInfraP2SOpeninfra.md
TD-04Stabilize pre-release deps (Exposed RC, compose-lifecycle beta); define an upgrade cadenceInfraP2MOpeninfra.md
TD-05Complete web frontend migration (Kotlin/JS → TypeScript): remaining feature parity (realtime, uploads, notifications)MigrationsP2LIn progressmigrations.md · infra/web-migration-plan.md
TD-06Resolve the 5 open design-token DECISIONS and reach Figma↔code 1:1 token parityDesign systemP2MIn progress (guard baseline empty)design-system.md · design-system/tokens.md
TD-07Decompose god-files (FinanceService.kt 1015 LOC → 162 LOC facade + 8 sub-services; remaining: WorkoutViewModel.kt 814, RecipesViewModel.kt 778)ArchitectureP2MPartial (Finance done 2026-06)architecture.md
TD-08Finish the sync algorithm design (“Sync Data Model — to be defined”) and reconcile offline strategyArchitectureP2LOpenarchitecture.md · architecture/sync-algorithm-design.md
TD-09Finance: remove FinanceRepositoryImpl doRequest duplication; add custom exception types, input validation, KDocArchitectureP2MPartially donearchitecture.md
TD-10Standardize responsive breakpoints (replace ad-hoc 720/900/1100dp with a shared OterWindowSize)ArchitectureP2MOpen (S7)architecture.md
TD-11Wire Finance savings-goals & debts tabs (loadSavingsGoals, loadDebts); add paywall “coming soon” UX; resolve theme-aware icon TODOArchitectureP3MDone (2026-06)architecture.md
TD-12Author the plan-patterns-and-tradeoffs.md doc (the draft plan is unfinished)ArchitectureP3SDraftarchitecture/plan-patterns-and-tradeoffs.md
TD-13Refresh the stale Roadmap (dated 2026-04-01) and de-duplicate root-level docs that copy docs/ (WEB_MIGRATION_PLAN.md, RELEASE_CHECKLIST.md, DOCR_SETUP.md, FCM_TROUBLESHOOTING.md, STUDY_SYSTEM.md)InfraP3SOpeninfra.md
TD-14Infra hardening from Roadmap (caching/Redis, DB indexing/partitioning, observability, MFA/encryption)InfraP3LBackloginfra.md · Roadmap

Code-level TODO inventory

Live list of in-code debt markers in the active codebase (shared, composeApp, androidApp, core, server). As of 2026-06 the codebase is clean — no open TODO/FIXME/HACK markers (TD-11 stubs were resolved).

Refresh with: rg -n -g '!**/build/**' -g '*.kt' 'TODO|FIXME|HACK' shared composeApp androidApp core server (filter out WorkTicketStatus.TODO enum hits).