Evidence Report · Software Valuation

Life Table

Longevity and personal-performance intelligence platform — multi-device biometric ingestion (Garmin, Intervals.icu, Zepp/Amazfit), proprietary Life Table Index scoring, sleep-debt modeling, task intelligence with AI chat, and a private authenticated web dashboard with daily Telegram digest delivery.

$115K – $217K Traditional build cost
·
1.2 person-years Engineering effort
·
Built in 2 weeks Calendar span (Jun 14 – Jun 25, 2026)

The Defensible Quartet

Traditional Build Cost

$115K – $217K

Low: $114,750  ·  Mid: $166,500  ·  High: $217,125
What a normal software shop would charge to design, build, and integrate a personal health intelligence platform of this depth.

Engineering Effort

1.2 person-years

Mid estimate across two independent models (productivity model + COCOMO II post-architecture). Represents the human capital delivered in a two-week build.

Team & Schedule Replaced

2 × 8 mo

2 engineers working 8 months — the conventional staffing to produce output of this scope on a normal delivery schedule.

Build Speed

~15.6× faster

Shipped in 2 calendar weeks vs the 8-month conventional schedule. No corners cut — 6 regression tests, 99 test runs, 15 defects tracked.

The Hard Evidence — no estimates, counts straight from git and the codebase

Source: git log, cloc, project console DB — reproducible on demand.
Code (LOC, non-blank, non-comment) 5,528
↳ Python 5,528
Files 28
Git commits 40
Distinct edit-days 6
Lines inserted / deleted 5,953 ins  /  425 del
Real calendar span 2026-06-14 → 2026-06-25  (2 weeks)
Contributors 1
Defects tracked / resolved 15 tracked  /  4 resolved
Regression tests 6 tests
Test runs (total) 99

What's Actually in It — feature enumeration from the source

Biometric Connectors

  • Garmin Connect integration — pulls resting HR, HRV, body battery, and raw activity records (garmin_connector.py)
  • Intervals.icu integration — wellness endpoint (sleep, HRV, resting HR, training load) plus activity summaries (intervals_connector.py)
  • Zepp / Amazfit integration — sleep stage data with geo-proxied OAuth (Canadian residential proxy via iProyal to bypass Zepp API region lock) (zepp_connector.py)
  • Background sync engine — orchestrates all three connectors, persists structured log and 21-day rolling cache, supports on-demand trigger (sync_engine.py)

Longevity & Health Scoring

  • Life Table Index (LTI) — proprietary composite vitality score, alpha-weighted (α=0.55) across the full daily wellness series (metrics.life_table_index)
  • Readiness scoring — daily score derived from sleep hours, HRV, resting HR, and recovery signal (readiness.py)
  • Recovery scoring — HRV-relative-to-baseline computation with body-battery fallback when wearable is not worn overnight (metrics._recovery)
  • Sleep debt modeling — rolling average windows at 3, 7, 14, 21, and 28 days; drives bedtime-debt display in dashboard (metrics.sleep_windows)
  • Nap credit system — daytime naps logged separately, added to recovery at half-weight, explicitly excluded from sleep-debt averages to prevent double-counting (naps.py)

Task & Priority Intelligence

  • Full task management API — create, complete, edit, remove, snooze, promote; 10 distinct endpoints (/api/tasks/*)
  • Recurring task support — set recurrence on any task, clear recurrence independently (/api/tasks/recur, /api/tasks/recur/clear)
  • AI task chat — natural-language task entry and update via LLM backend (/api/tasks/chat)
  • Priority queue with "one-thing" focus selector — ranks active tasks, surfaces the single highest-priority item (priorities.py)
  • Day plan checklist — structured daily plan items with toggle/add/remove, per-day JSON persistence (day_plan.py)

Productivity Metrics

  • Git commit counter — pulls commit count per calendar day as a productivity signal (metrics.commits_per_day)
  • AI prompt counter — tracks LLM prompts issued per day (metrics.prompts_per_day)
  • Task throughput tracker — tasks created vs. completed per day, charted over 30-day rolling window (metrics.tasks_done_per_day / tasks_created_per_day)
  • Composite productivity score /100 — weighted from commits, prompts, and task-completion ratio (metrics._productivity)

Digest & Alerts

  • Daily Telegram digest — structured health snapshot + ranked task list pushed via bot; items numbered for reply-based update (digest.py)
  • Telegram reply handler — parse inbound reply numbers to complete or update tasks without opening the dashboard (digest_reply.py)
  • Scheduled plan delivery — slot-based plan firing via Telegram with dry-run support (send_plan.py)
  • AI-synthesized daily narrative — strategic plan text generated from current wellness state, appended to digest (synthesis.py)

Web Dashboard

  • Session-authenticated private dashboard — login / logout with noindex enforcement; no public access (/login, /logout, /)
  • Multi-panel Chart.js visualizations — sleep, recovery, HRV / resting HR / body battery (dual y-axis), training load, and productivity history on a single scrollable page
  • Historical day navigation — browse any past day in the 21-day series via ◀ ▶ controls or left/right arrow keys
  • Inline metric overrides — tap any sensor tile to manually correct a reading; override persists to the series store
  • Training load panel — Intervals.icu icu_training_load charted alongside recovery to surface overtraining risk

How We Costed It — methodology

Model. The same model with the same constants is applied to every project in this portfolio — there are no per-project complexity multipliers and no schedule compression applied. The generator is console/backend/tools/evidence_merge.py.

Low bound. Productivity model — 5,528 lines of production code ÷ 25 finished LOC per developer-day ÷ 21.7 work-days per month = 10.2 person-months (0.8 person-years). The 25 LOC/day figure is the conservative industry baseline for finished, tested, reviewed code (McConnell, Code Complete); it excludes generated scaffolding and build artifacts.

High bound. COCOMO II post-architecture — PM = 2.94 × (5.53 KLOC)1.0997 = 19.3 person-months (1.6 person-years). Applied nominally, with no effort-adjustment multipliers, so the ceiling is not inflated.

Mid (reported). The arithmetic mean of the two models: 14.8 person-months = 1.2 person-years. This is the figure quoted throughout this report.

Rate assumption. $135,000/year fully-loaded blended developer (salary, benefits, overhead) = $11,250 per person-month. Applied uniformly to all three effort bounds: low $115K, mid $166K, high $217K.

Calendar. Git-verified: 2026-06-14 → 2026-06-25 = 0.5 months of real calendar. COCOMO's schedule equation gives the calendar a conventional team would need: TDEV = 3.67 × 14.80.28 = 7.8 months at a sustainable 1.9 engineers. Speed advantage = 7.8 ÷ 0.5 = 15.6×. Because the calendar is floored rather than measured, this speed multiple is a conservative figure — the raw span would produce a larger one.