Skip to content

Instantly share code, notes, and snippets.

@sam-saffron-jarvis
Created March 21, 2026 01:49
Show Gist options
  • Select an option

  • Save sam-saffron-jarvis/c70d63e85b8d16f597187a534b98425c to your computer and use it in GitHub Desktop.

Select an option

Save sam-saffron-jarvis/c70d63e85b8d16f597187a534b98425c to your computer and use it in GitHub Desktop.
term-llm Project Effort Analysis (Jan–Mar 2026)

term-llm Project Effort Analysis (Jan 21 – Mar 21, 2026)

Timeline

Start date Jan 21, 2026
Latest commit Mar 21, 2026
Duration ~61 calendar days
Days with commits 54 / 61 (89%)

Scale

Metric Value
Total commits 596
Go files 499
Current codebase ~165,000 lines
Go ~165,000 lines
JS / HTML ~22 files
Markdown (docs) 57 files
Total insertions 150,928
Total deletions 29,845
Net lines written ~121,000
Files touched 2,325

Contributors

Author Commits Share
Sam Saffron (human) 402 67%
Jarvis (AI agent) 194 33%

Sam committed under two git identities ("Sam" / "Sam Saffron") — combined above. Jarvis commits are substantive: feature implementations, PRs, config changes — not fmt/fixup noise.

AI Involvement

  • 33% of commits (194) are fully AI-authored by Jarvis — the AI agent that also runs the homelab.
  • An additional ~180 Sam-authored commits carry AI-assisted context (paired sessions, agent sub-tasks).
  • ~63% of total commits were AI-touched in some meaningful way.
  • This is a different pattern from the Fabro comparison: Jarvis here is a participant and co-author, not just a code generator invoked by a human. The agent writes, commits, and pushes directly.

Work Pattern

Daily velocity

  • Average: ~10 commits / day across 61 days; ~11 commits / active day
  • Peak day: Feb 21 (~67 combined commits across both Sam identities + Jarvis)

Weekly ramp (commits)

Week Commits Notes
W04 (Jan 21–26) 14 Slow start
W05 42 Ramping
W06 28 Slight dip
W07 14 Dip
W08 128 Peak week — major features
W09 91 Sustained high velocity
W10 101 Sustained
W11 94 Sustained
W12 (partial, to Mar 21) 84 Still going

W08–W12 averaged ~100 commits/week — essentially a different gear than the opening month.

Hours (AEST)

Block Commits
Morning (07–12) 188
Afternoon (12–18) 266
Evening (18–00) 142
Night (00–06) ~0

Normal human hours — no heroic all-nighters. The AI agent's commits are folded into this distribution (it runs during the same sessions).

Day of week

Day Commits
Saturday 138
Friday 101
Sunday 98
Monday 96
Wednesday 59
Thursday 59
Tuesday 45

Active 7 days a week. Weekends are heavy — Saturday is the busiest day overall.

Hottest Files

File Times changed
internal/tui/chat/chat.go 58
cmd/ask/ 57
internal/config/config.go 38
cmd/serve/ 36
internal/serveui/static/index.* 33

The TUI chat loop, CLI entrypoint, config system, HTTP server, and web UI are the core of the churn — which tracks with what term-llm actually is.

What term-llm Is

A full-featured AI assistant platform built in Go from scratch:

  • Multi-provider LLM client (Claude, OpenAI, Gemini, Venice, Ollama, and more)
  • TUI (interactive terminal chat with streaming)
  • Web UI (served from embedded assets, full chat interface)
  • Job runner (cron-scheduled AI jobs with persistent state)
  • Memory system (BM25 + vector search, fragment DB, mining pipeline)
  • Agent framework (sub-agents, skills, tool use, prompt injection)
  • Telegram bot (live conversational interface)
  • Docs site (Hugo, Pagefind full-text search, mobile-optimised)
  • Self-hosted, single binary — runit service, volume-mounted config

Effort Estimate

Human time

  • 61 days, 54 active — no week without commits.
  • Hour distribution suggests civilised working hours: mostly afternoons/mornings AEST, nothing after midnight.
  • Weekends are genuinely active, not token commits.
  • Estimated 200–300 hours of human time (~4–5 hrs / active day, elevated on weekends).
  • Equivalent to roughly 1.5–2 months of full-time work at 40 hrs / week — but spread across 2 calendar months due to part-time cadence.

What it would cost without AI

A Go CLI tool + TUI + web UI + job runner + memory system + agent framework, all integrated and production-deployed, is not a weekend project.

Scenario Estimate
Solo senior engineer (no AI) 6–10 months
Small team (2–3 engineers, no AI) 3–4 months
Equivalent contractor cost (no AI) $240k–$500k at $200–250 / hr
Equivalent team cost (no AI) $180k–$360k (salaries + overhead)

AI costs

  • ~374 AI-touched commits over 61 days.
  • Heavy use of Claude Opus/Sonnet for long context sessions (memory mining, architecture work, PRs).
  • Estimated $3,000–$10,000 in API costs over the period, depending on session lengths and model tier. The memory mining pipeline and long coding sessions are the expensive parts.

Total actual cost

Component Low estimate High estimate
Human time (200–300 hrs @ $200–250 / hr) $40,000 $75,000
AI API costs $3,000 $10,000
Total $43,000 $85,000

Compared to the $240k–$500k it would cost without AI, the actual cost represents a 75–85% reduction.

What Makes This Different from Fabro

The Fabro analysis is a human-with-AI-tools story. This one is messier and more interesting:

  • The AI agent (Jarvis) is also a contributor — it doesn't just write code Sam commits, it commits directly. 33% of commits are Jarvis-authored.
  • The AI is also a user of the thing being built. Jarvis runs on term-llm and uses term-llm's job system, memory system, and agent framework. The builder is eating its own cooking in real time.
  • Lower raw velocity than Fabro (596 vs 1,401 commits) but over twice the duration and with a different work cadence — this is a side project running alongside other work (Discourse), not a 30-day sprint.
  • No formatting/fixup bot noise. Jarvis's 194 commits are real work.

Takeaway

One developer, working part-time over two months with an AI agent as a genuine co-author, built a production-deployed multi-provider LLM platform that the AI itself now lives on. The 165,000-line Go codebase spans a TUI, web UI, job runner, memory system, agent framework, and Telegram bot — all running as a single self-hosted binary.

The productivity multiplier is real. The weirder story is that the tool being built is the AI's own operating environment — which changes the incentive structure in ways that have no good analogue in traditional software projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment