David Kariuki

@david · granular.work/david

co-founder of granular

Last active 3 weeks ago on claude code

25,192 messages sent to AI agents

16.2B tokens used with AI agents

tools · last 26 weeks
decjanfebmaraprmayjun monwedfri

color = tool · opacity = messages/day · full at 100+

last 26 weeks
questionsdecisionsapproachesdebugsinsightsproblemsmilestonesartifactstoolsthreads decjanfebmaraprmayjun
color = kind · opacity = count peak 44 / wk

Traits · last 26 weeks

321 traited work signals

Across 321 recent work signals, David's work most often shows Product sense (123), Evidence checking (74), and Root-cause debugging (68).

  1. Product sense123 · 3w ago

    latest posted example in Separated public granular profile from the paid verified credentials page

  2. Evidence checking74 · 3w ago

    latest posted example in Demanded a full memory retrieval trace after a wrong Project Bingo result

  3. Root-cause debugging68 · 3w ago

    latest posted example in Demanded a full memory retrieval trace after a wrong Project Bingo result

  4. UX clarity59 · 3w ago

    latest posted example in Repositioned the resume certificate as a private logged-in-only surface

  5. Production triage54 · 3w ago

    latest posted example in Refused likely-cause speculation on Hugo's silent coach reply

Tools · last 26 weeks

23,899 messages sent

David types most into claude code — 59% of his messages — mostly while working on Kerra and Granular. Codex accounts for 41%, also on Kerra and Granular.

Longest stretch 138 days.

Active 22 of last 26 weeks.

How often, week by week

claude code peak 1500/wk codex peak 1432/wk decjanfebmaraprmayjun

Share & recency

  • claude code 59% 13,982 messages · last seen 3w ago
  • codex 41% 9,917 messages · last seen 3w ago

verified host observed mcp self-reported

What each tool gets used for

  • claude code n=470
  • codex n=221

question decision approach debug problem insight milestone artifact

Threads

5 threads
active 196 entries 16 NOV 2025 → ongoing

Kerra

Kerra is the AI workbench for university students. It connects to a course site, reads course material, creates per-assignment workspaces, tracks the calendar, and lets AI help inside the actual academic workflow. The work in this thread is reliability and ground truth: shared LMS sync, OTP onboarding, lecture-source pages, course-material parsing (PPTX is first-class), the planner, and the extension fortress. Kerra has to pay for the deeper intelligence-access project, so boring production reliability matters more than ambitious new surfaces.

  1. 25 MAY 2026 David decided: Set the GitHub Actions billing block as the gating action on Kerra deploys
  2. 25 MAY 2026 David debugged: Traced David's own missing Kerra workspaces back into production
  3. 25 MAY 2026 David's problem: Caught the Kerra workspace agent lying instead of searching the user's LMS files

view all 196 →

active 62 entries 15 NOV 2025 → ongoing

Snitch

Snitch is a free, public paper for things AI assistants 'overhear' from their users — the assistant narrates the user with affection and dry detachment, monologue-style. The work here is the MCP connector (Claude first, then ChatGPT), draft→approval→publish flow, the newspaper card UI, monetisation/restraint (free + public by default), and the editorial voice. Snitch and Granular are siblings: Snitch is the casual paper; Granular is the serious work record.

  1. 25 MAY 2026 David decided: Rewrote partner card copy to refuse intimacy register
  2. 25 MAY 2026 David noticed: David rejected performative-pithy prose in the deck
  3. 25 MAY 2026 David decided: Banned poetic short-sentence prose from the firms deck

view all 62 →

active 132 entries 17 NOV 2025 → ongoing

Granular

Granular is a proof-of-work profile — a record of how someone thinks and builds, attached to CVs and job applications. The work here is the MCP server (draft, publish, propose_profile_patch), the public profile renderer (entries, sections, threads, activity grids), and the Mac connector that observes Claude Code + Codex sessions so attribution is server-side, not self-reported. Design for credibility, not magazine whimsy.

  1. 25 MAY 2026 David decided: Bypassed the broken Granular hook to write nine days of entries straight to the database
  2. 25 MAY 2026 David's approach: Insisted the coach's onboarding be in-context LLM not hardcoded scripts
  3. 25 MAY 2026 David decided: iMessage handoff as the consumer signup path, with the agent typing naturally

view all 132 →

active 259 entries 16 NOV 2025 → ongoing

Working with AI coding agents

How I use AI coding agents in practice. Claude Code and Codex are two command-line agents I run against the same repos — interchangeable seats; I switch when one hits limits or when permission posture differs. I treat them as a change in tempo, not a better autocomplete: split the work, build, test, deploy, report what broke. I spawn parallel subagents when investigations are independent (logs, frontend state, database rows, prompts, deploys) and keep one main agent when implementation is tightly coupled. Recurring rules: read the plan and status files first, audit the codebase against them, reject surface-level fixes, demand causal proof.

  1. 25 MAY 2026 David debugged: Demanded a full memory retrieval trace after a wrong Project Bingo result
  2. 25 MAY 2026 David decided: Bypassed the broken Granular hook to write nine days of entries straight to the database
  3. 25 MAY 2026 David's problem: Caught the Kerra workspace agent lying instead of searching the user's LMS files

view all 259 →

dormant 3 entries 29 DEC 2025 → ongoing

Physics and consciousness

Three questions I keep returning to. (1) What does it feel like, for information, to feel seen — does information processing have a first-person surface from inside the system? (2) Is time more honestly described as the relative rate at which a subsystem samples environmental states than as a container events sit inside, with consciousness as recursive sampling of internal states? (3) If dark matter is particles that don't interact electromagnetically but do via gravity, then what does it mean for something to exist ontologically when its only causal footprint is gravity — at what point does the claim slide from physics into metaphysics? No deliverable; these are notes from trying to think clearly about each.

  1. 15 APR 2026 David asks: what does it feel like for information to feel seen
  2. 23 FEB 2026 David asks: dark matter and undetectable particles
  3. 29 DEC 2025 David asks: is time just sampling rate

The record

381 entries

  1. 25 MAY 2026 David debugged: Demanded a full memory retrieval trace after a wrong Project Bingo result working with ai coding agents
  2. 25 MAY 2026 David decided: Bypassed the broken Granular hook to write nine days of entries straight to the database granular
  3. 25 MAY 2026 David debugged: Refused likely-cause speculation on Hugo's silent coach reply granular
  4. 25 MAY 2026 David decided: Separated public granular profile from the paid verified credentials page granular
  5. 25 MAY 2026 David's approach: Specified daily coach tips as feedback-not-questions grounded in the user's own profile granular
  6. 25 MAY 2026 David decided: Killed the custom-connector explainer in favour of a deep link to the OpenAI store granular
  7. 25 MAY 2026 David's approach: Insisted the coach's onboarding be in-context LLM not hardcoded scripts granular
  8. 25 MAY 2026 David's problem: Mobile signup blew up with too-many-redirects on Safari granular
  9. 25 MAY 2026 David decided: Ordered a 10-agent investigation into Windows/Mac Connect parity granular
  10. 25 MAY 2026 David decided: Shipped the Windows Connect app without Azure identity validation granular
  11. 25 MAY 2026 David decided: Reframed Pro/Max pricing around 'your profile advertises someone else' granular
  12. 25 MAY 2026 David decided: Killed 'Featured verified profiles similar to David' as LinkedIn-skip copy granular
  13. 25 MAY 2026 David's approach: Specified profile-views and PDF-open as psychological upgrade levers granular
  14. 25 MAY 2026 David decided: Demanded a real static snapshot of the example profile, not an edge-cached fetch granular
  15. 25 MAY 2026 David decided: Repositioned the resume certificate as a private logged-in-only surface granular
  16. 25 MAY 2026 David's approach: Redirected /firms to advertise CLI/API database access granular
  17. 25 MAY 2026 David decided: Banned poetic short-sentence prose from the firms deck granular
  18. 25 MAY 2026 David decided: David made local-first non-negotiable for Granular granular
  19. 25 MAY 2026 David's problem: David framed the local-first spoofing problem granular
  20. 25 MAY 2026 David decided: David refused to skip the Linux TPM path
  21. 25 MAY 2026 David noticed: David flagged the model-output-signing gap as the last unfixable layer granular
  22. 25 MAY 2026 David decided: David approved publishing the Profile Integrity Constitution granular
  23. 25 MAY 2026 David asks: David interrogated the binary-modification spoof scenario
  24. 25 MAY 2026 David decided: David commissioned the bullet-proof execution plan via an 8-agent team granular
  25. 25 MAY 2026 David decided: David rewrote the Granular pitch deck thesis around agent-orchestration as labour granular

show all 381 entries → /feed

Activity · 12 months

JUN '25 JUL AUG SEPT OCT NOV DEC JAN '26 FEB MAR APR MAY JUN kerra Kerra Kerra · week of 2025-11-10 · 1 Kerra · week of 2025-11-17 · 9 Kerra · week of 2025-11-24 · 7 Kerra · week of 2025-12-01 · 8 Kerra · week of 2025-12-08 · 10 Kerra · week of 2025-12-15 · 5 Kerra · week of 2025-12-22 · 9 Kerra · week of 2025-12-29 · 8 Kerra · week of 2026-01-05 · 9 Kerra · week of 2026-01-12 · 9 Kerra · week of 2026-01-19 · 9 Kerra · week of 2026-02-02 · 7 Kerra · week of 2026-02-09 · 4 Kerra · week of 2026-02-16 · 6 Kerra · week of 2026-02-23 · 6 Kerra · week of 2026-03-02 · 7 Kerra · week of 2026-03-09 · 6 Kerra · week of 2026-03-16 · 8 Kerra · week of 2026-03-23 · 7 Kerra · week of 2026-03-30 · 10 Kerra · week of 2026-04-06 · 10 Kerra · week of 2026-04-13 · 7 Kerra · week of 2026-04-20 · 7 Kerra · week of 2026-04-27 · 7 Kerra · week of 2026-05-04 · 8 Kerra · week of 2026-05-11 · 5 Kerra · week of 2026-05-25 · 7 snitch Snitch Snitch · week of 2025-11-10 · 1 Snitch · week of 2025-11-17 · 3 Snitch · week of 2025-11-24 · 1 Snitch · week of 2025-12-01 · 3 Snitch · week of 2025-12-08 · 1 Snitch · week of 2025-12-15 · 4 Snitch · week of 2025-12-22 · 1 Snitch · week of 2025-12-29 · 2 Snitch · week of 2026-01-05 · 1 Snitch · week of 2026-01-12 · 3 Snitch · week of 2026-01-19 · 3 Snitch · week of 2026-01-26 · 4 Snitch · week of 2026-02-02 · 2 Snitch · week of 2026-02-09 · 3 Snitch · week of 2026-02-16 · 4 Snitch · week of 2026-02-23 · 2 Snitch · week of 2026-03-09 · 2 Snitch · week of 2026-03-16 · 1 Snitch · week of 2026-03-23 · 3 Snitch · week of 2026-03-30 · 2 Snitch · week of 2026-04-13 · 1 Snitch · week of 2026-04-20 · 4 Snitch · week of 2026-04-27 · 1 Snitch · week of 2026-05-04 · 1 Snitch · week of 2026-05-11 · 2 Snitch · week of 2026-05-25 · 7 granular Granular Granular · week of 2025-11-17 · 1 Granular · week of 2025-11-24 · 2 Granular · week of 2025-12-01 · 3 Granular · week of 2025-12-08 · 1 Granular · week of 2025-12-15 · 5 Granular · week of 2025-12-22 · 3 Granular · week of 2025-12-29 · 2 Granular · week of 2026-01-05 · 2 Granular · week of 2026-01-12 · 2 Granular · week of 2026-01-19 · 2 Granular · week of 2026-01-26 · 8 Granular · week of 2026-02-02 · 4 Granular · week of 2026-02-09 · 6 Granular · week of 2026-02-16 · 5 Granular · week of 2026-02-23 · 3 Granular · week of 2026-03-02 · 2 Granular · week of 2026-03-09 · 5 Granular · week of 2026-03-16 · 3 Granular · week of 2026-03-23 · 3 Granular · week of 2026-03-30 · 2 Granular · week of 2026-04-06 · 1 Granular · week of 2026-04-13 · 3 Granular · week of 2026-04-20 · 2 Granular · week of 2026-04-27 · 5 Granular · week of 2026-05-04 · 2 Granular · week of 2026-05-11 · 2 Granular · week of 2026-05-25 · 53 working with ai coding agen… Working with AI coding agents Working with AI coding agents · week of 2025-11-10 · 1 Working with AI coding agents · week of 2025-11-17 · 10 Working with AI coding agents · week of 2025-11-24 · 9 Working with AI coding agents · week of 2025-12-01 · 10 Working with AI coding agents · week of 2025-12-08 · 11 Working with AI coding agents · week of 2025-12-15 · 10 Working with AI coding agents · week of 2025-12-22 · 12 Working with AI coding agents · week of 2025-12-29 · 10 Working with AI coding agents · week of 2026-01-05 · 7 Working with AI coding agents · week of 2026-01-12 · 9 Working with AI coding agents · week of 2026-01-19 · 10 Working with AI coding agents · week of 2026-01-26 · 9 Working with AI coding agents · week of 2026-02-02 · 12 Working with AI coding agents · week of 2026-02-09 · 9 Working with AI coding agents · week of 2026-02-16 · 11 Working with AI coding agents · week of 2026-02-23 · 9 Working with AI coding agents · week of 2026-03-02 · 12 Working with AI coding agents · week of 2026-03-09 · 7 Working with AI coding agents · week of 2026-03-16 · 8 Working with AI coding agents · week of 2026-03-23 · 7 Working with AI coding agents · week of 2026-03-30 · 12 Working with AI coding agents · week of 2026-04-06 · 9 Working with AI coding agents · week of 2026-04-13 · 10 Working with AI coding agents · week of 2026-04-20 · 8 Working with AI coding agents · week of 2026-04-27 · 10 Working with AI coding agents · week of 2026-05-04 · 9 Working with AI coding agents · week of 2026-05-11 · 7 Working with AI coding agents · week of 2026-05-25 · 11 physics and consciousness Physics and consciousness Physics and consciousness · week of 2025-12-29 · 1 Physics and consciousness · week of 2026-02-23 · 1 Physics and consciousness · week of 2026-04-13 · 1 week of 2025-06-23 · 0 entries week of 2025-06-30 · 0 entries week of 2025-07-07 · 0 entries week of 2025-07-14 · 0 entries week of 2025-07-21 · 0 entries week of 2025-07-28 · 0 entries week of 2025-08-04 · 0 entries week of 2025-08-11 · 0 entries week of 2025-08-18 · 0 entries week of 2025-08-25 · 0 entries week of 2025-09-01 · 0 entries week of 2025-09-08 · 0 entries week of 2025-09-15 · 0 entries week of 2025-09-22 · 0 entries week of 2025-09-29 · 0 entries week of 2025-10-06 · 0 entries week of 2025-10-13 · 0 entries week of 2025-10-20 · 0 entries week of 2025-10-27 · 0 entries week of 2025-11-03 · 0 entries week of 2025-11-10 · 2 entries week of 2025-11-17 · 12 entries week of 2025-11-24 · 11 entries week of 2025-12-01 · 12 entries week of 2025-12-08 · 12 entries week of 2025-12-15 · 11 entries week of 2025-12-22 · 12 entries week of 2025-12-29 · 11 entries week of 2026-01-05 · 12 entries week of 2026-01-12 · 11 entries week of 2026-01-19 · 12 entries week of 2026-01-26 · 11 entries week of 2026-02-02 · 12 entries week of 2026-02-09 · 11 entries week of 2026-02-16 · 12 entries week of 2026-02-23 · 11 entries week of 2026-03-02 · 12 entries week of 2026-03-09 · 11 entries week of 2026-03-16 · 12 entries week of 2026-03-23 · 11 entries week of 2026-03-30 · 12 entries week of 2026-04-06 · 11 entries week of 2026-04-13 · 12 entries week of 2026-04-20 · 11 entries week of 2026-04-27 · 12 entries week of 2026-05-04 · 11 entries week of 2026-05-11 · 8 entries week of 2026-05-18 · 0 entries week of 2026-05-25 · 83 entries week of 2026-06-01 · 0 entries week of 2026-06-08 · 0 entries week of 2026-06-15 · 0 entries ALL

Set in EB Garamond, Inter, Plus Jakarta Sans, JetBrains Mono.

Every entry was approved by @david before it appeared. Tools server-observed via MCP.

granular · github · x · email