David Kariuki

@david · granular.work/david

co-founder of granular

Last active just now on codex

23,191 messages sent to AI agents

16.2B tokens used with AI agents

tools · last 26 weeks
novdecjanfebmaraprmay monwedfri

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

last 26 weeks
questionsdecisionsapproachesdebugsinsightsproblemsmilestonesartifactstoolsthreads novdecjanfebmaraprmay
color = kind · opacity = count peak 7 / wk

Traits · last 26 weeks

284 traited work signals

Across 284 recent work signals, David's work most often shows Product sense (110), Evidence checking (75), and Root-cause debugging (72).

  1. Product sense110 · 3d ago

    latest posted example in Framed Granular's paid plans as removing ads from your profile, not as a feature list

  2. Evidence checking75 · 5d ago

    latest posted example in Investigated calendar event duplication on completion toggle

  3. Root-cause debugging72 · 5d ago

    latest posted example in Investigated calendar event duplication on completion toggle

  4. UX clarity62 · 4d ago

    latest posted example in kerra university home is the core surface

  5. Production triage50 · 5d ago

    latest posted example in Switched Kerra model defaults: gemini-2.5-flash as default, monitor moved to gemini-flash-lite

Tools · last 26 weeks

23,191 messages sent

David types most into claude code — 61% of his messages — mostly while working on Claude Code. Codex accounts for 39%, also on Claude Code.

On a 130-day run.

Longest stretch 130 days.

Active 24 of last 26 weeks.

How often, week by week

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

Share & recency

  • claude code 61% 14,150 messages · last seen 23h ago
  • codex 39% 9,041 messages · last seen 22h 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

Currently

Active focus: kerra. 17 entries in the last fortnight, mostly decisions. Most recent: "Framed Granular's paid plans as removing ads from your profile, not as a feature list".

Threads

5 threads
active 189 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. 14 MAY 2026 David decided: kerra university home is the core surface
  2. 14 MAY 2026 David decided: Switched Kerra model defaults: gemini-2.5-flash as default, monitor moved to gemini-flash-lite
  3. 13 MAY 2026 David debugged: Investigated calendar event duplication on completion toggle

view all 189 →

active 55 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. 16 MAY 2026 David decided: Framed Granular's paid plans as removing ads from your profile, not as a feature list
  2. 11 MAY 2026 David made: Commissioned gift notification email redesigned from scratch for Kiss Me with Compute
  3. 07 MAY 2026 David made: the snitch voice rules

view all 55 →

active 79 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. 16 MAY 2026 David decided: Framed Granular's paid plans as removing ads from your profile, not as a feature list
  2. 11 MAY 2026 David debugged: Fixed Codex WSL update loop that persisted on every launch
  3. 09 MAY 2026 David's problem: Activity heatmap was oriented with future on the right, past on left

view all 79 →

active 248 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. 16 MAY 2026 David decided: Framed Granular's paid plans as removing ads from your profile, not as a feature list
  2. 14 MAY 2026 David decided: Switched Kerra model defaults: gemini-2.5-flash as default, monitor moved to gemini-flash-lite
  3. 13 MAY 2026 David debugged: Investigated calendar event duplication on completion toggle

view all 248 →

active 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

298 entries

  1. 16 MAY 2026 David decided: Framed Granular's paid plans as removing ads from your profile, not as a feature list granular
  2. 14 MAY 2026 David decided: kerra university home is the core surface kerra
  3. 14 MAY 2026 David decided: Switched Kerra model defaults: gemini-2.5-flash as default, monitor moved to gemini-flash-lite kerra
  4. 13 MAY 2026 David debugged: Investigated calendar event duplication on completion toggle kerra
  5. 12 MAY 2026 David debugged: Extension detection taking 30 seconds on signup completion kerra
  6. 12 MAY 2026 David's problem: Kerra was sending blank morning/evening SMS messages to users kerra
  7. 11 MAY 2026 David made: Commissioned gift notification email redesigned from scratch for Kiss Me with Compute snitch
  8. 11 MAY 2026 David debugged: Fixed Codex WSL update loop that persisted on every launch working with ai coding agents
  9. 10 MAY 2026 David decided: Separated assignment planner from lecture notes pipeline with a feature flag kerra
  10. 09 MAY 2026 David decided: Commissioned personalised outreach emails based on inferred course schedules kerra
  11. 09 MAY 2026 David's problem: Activity heatmap was oriented with future on the right, past on left granular
  12. 08 MAY 2026 David decided: Hid granular's search feature from production so it's invisible even to engineers in DevTools granular
  13. 08 MAY 2026 David decided: Rejected agent prompt injection into lecture notes to handle document failures kerra
  14. 07 MAY 2026 David made: the snitch voice rules snitch
  15. 06 MAY 2026 David debugged: Found dual concurrent agent runs corrupting the same workspace document kerra
  16. 06 MAY 2026 David's problem: PPTX is first-class course material kerra
  17. 05 MAY 2026 David decided: Gated 'agents with own computer' workspace model to pro plan only kerra
  18. 05 MAY 2026 David decided: Launched Create New Lecture modal replacing the Start Kerra button kerra
  19. 04 MAY 2026 David debugged: Investigated new Notre Dame signup with empty home page despite successful calendar runs kerra
  20. 03 MAY 2026 David's problem: Profile showing mock data instead of real computed analytics granular
  21. 03 MAY 2026 David noticed: writing in lowercase isnt a bit snitch
  22. 02 MAY 2026 David's problem: Calendar agents failing silently for multiple new signups kerra
  23. 02 MAY 2026 David debugged: Investigated why tool usage analytics showed mock data instead of real counts granular
  24. 01 MAY 2026 David debugged: Investigated activity grid position conflict across two visual panels granular
  25. 30 APR 2026 David debugged: Pushed back on 'AI model laziness' as root cause for lecture notes failures kerra

show all 298 entries → /feed

Activity · 12 months

MAY '25 JUN JUL AUG SEPT OCT NOV DEC JAN '26 FEB MAR APR MAY 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 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 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 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 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-05-26 · 0 entries week of 2025-06-02 · 0 entries week of 2025-06-09 · 0 entries week of 2025-06-16 · 0 entries 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 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