← back to @david

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.

tags: agents · codex · claude-code · workflow

All entries

  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
  4. 25 MAY 2026 David decided: Dispatched four parallel agents for the Kerra course-rename bug
  5. 25 MAY 2026 David decided: Suspected model-routing degradation, with a PE pitch on Monday at stake
  6. 25 MAY 2026 David's problem: Granular Connect hooks must self-install, not require Claude Code /hooks review
  7. 25 MAY 2026 David decided: Scheduling agents must be conversational, not a discrete settings UI
  8. 25 MAY 2026 David decided: Remote 24/7 agents must run in the cloud with Slack, AgentMail, and full Claude-Code parity
  9. 25 MAY 2026 David decided: David commissioned the bullet-proof execution plan via an 8-agent team
  10. 25 MAY 2026 David decided: Ordered a 10-agent investigation into Windows/Mac Connect parity
  11. 25 MAY 2026 David decided: Delegation rule: cross heaven and earth before asking the user to do anything
  12. 16 MAY 2026 David decided: Framed Granular's paid plans as removing ads from your profile, not as a feature list
  13. 14 MAY 2026 David decided: Switched Kerra model defaults: gemini-2.5-flash as default, monitor moved to gemini-flash-lite
  14. 13 MAY 2026 David debugged: Investigated calendar event duplication on completion toggle
  15. 12 MAY 2026 David debugged: Extension detection taking 30 seconds on signup completion
  16. 12 MAY 2026 David's problem: Kerra was sending blank morning/evening SMS messages to users
  17. 11 MAY 2026 David made: Commissioned gift notification email redesigned from scratch for Kiss Me with Compute
  18. 11 MAY 2026 David debugged: Fixed Codex WSL update loop that persisted on every launch
  19. 10 MAY 2026 David decided: Separated assignment planner from lecture notes pipeline with a feature flag
  20. 09 MAY 2026 David decided: Commissioned personalised outreach emails based on inferred course schedules
  21. 09 MAY 2026 David's problem: Activity heatmap was oriented with future on the right, past on left
  22. 08 MAY 2026 David decided: Hid granular's search feature from production so it's invisible even to engineers in DevTools
  23. 08 MAY 2026 David decided: Rejected agent prompt injection into lecture notes to handle document failures
  24. 06 MAY 2026 David debugged: Found dual concurrent agent runs corrupting the same workspace document
  25. 05 MAY 2026 David decided: Gated 'agents with own computer' workspace model to pro plan only
  26. 05 MAY 2026 David decided: Launched Create New Lecture modal replacing the Start Kerra button
  27. 04 MAY 2026 David debugged: Investigated new Notre Dame signup with empty home page despite successful calendar runs
  28. 03 MAY 2026 David's problem: Profile showing mock data instead of real computed analytics
  29. 02 MAY 2026 David's problem: Calendar agents failing silently for multiple new signups
  30. 02 MAY 2026 David debugged: Investigated why tool usage analytics showed mock data instead of real counts
  31. 01 MAY 2026 David debugged: Investigated activity grid position conflict across two visual panels
  32. 30 APR 2026 David debugged: Pushed back on 'AI model laziness' as root cause for lecture notes failures
  33. 29 APR 2026 David decided: Decided to ingest 6 months of transcripts with 8 partitioned agents
  34. 28 APR 2026 David asks: How do we measure retention signal cleanly when users span the cohort boundary?
  35. 28 APR 2026 David debugged: Investigated why a lecture workspace showed premature semi-complete tabs
  36. 27 APR 2026 David debugged: OTP rate-limit firing after just two requests on signup
  37. 27 APR 2026 David decided: Commissioned growth referral system with 51 state-scoped ambassador links
  38. 25 APR 2026 David debugged: Lecture notes generated from Google Slides links with no actual slide content
  39. 24 APR 2026 David decided: Decided Snitch beta subscription language should replace 'join the beta' CTA
  40. 23 APR 2026 David asks: Cost-benefit of sending Canvas DMs through users' extensions
  41. 22 APR 2026 David debugged: Investigated canvas file metadata sync gap causing unlinked lecture source files
  42. 22 APR 2026 David decided: Directed end-to-end build of Snitch MCP connector for Claude in a single day
  43. 21 APR 2026 David's approach: read the plan file, then audit reality
  44. 21 APR 2026 David decided: Hid Therapa button from Kerra university app header
  45. 20 APR 2026 David shipped: Added search box to granular homepage for profile discovery
  46. 19 APR 2026 David decided: Decided kissmewithcompute should let users pay others in compute credits
  47. 19 APR 2026 David debugged: Post-signup onboarding failure on production
  48. 18 APR 2026 David debugged: OpenAI API usage spiking to $300 in a single day on Granular
  49. 18 APR 2026 David's problem: Workspace AI chat has jarring shell command flash and broken scroll
  50. 17 APR 2026 David decided: Designed granular installer agents as four parallel specialists for different platforms
  51. 16 APR 2026 David debugged: Lecture workspace documents opened as empty during live generation
  52. 15 APR 2026 David asks: Challenged whether tool and thread belong in the public kind taxonomy
  53. 14 APR 2026 David debugged: Investigated why Lesedi's prefetch showed permanently failed after clicking candidate
  54. 13 APR 2026 David decided: Commissioned security and data-architecture audit of Kerra before sharing with users
  55. 13 APR 2026 David decided: Disabled auto-prewarming of lecture notes workspaces
  56. 12 APR 2026 David's problem: Kerra workspace hanging with empty response after apparently successful greeting
  57. 11 APR 2026 David debugged: Investigated kerra.work domain going down mid-lecture generation
  58. 10 APR 2026 David debugged: Investigated phone OTP rate-limiting during new user signup on Kerra
  59. 10 APR 2026 David debugged: Investigated class group chat missing from university app header
  60. 09 APR 2026 David decided: Granular early-access flow should match Kerra firms application
  61. 08 APR 2026 David decided: Rejected phased rollout wording in the Canvas file metadata heal plan
  62. 08 APR 2026 David debugged: Investigated Giancarlo Allio's stuck OTP 900-second timeout on Kerra signup
  63. 07 APR 2026 David decided: Removed Telegram banner and signup step from Kerra
  64. 07 APR 2026 David's problem: agent runtime must be taught its tools
  65. 05 APR 2026 David debugged: Caught demo profile photo rendering poorly at unzoomed scale
  66. 05 APR 2026 David debugged: Lecture notes prefetch state contradiction on failed run
  67. 04 APR 2026 David shipped: Shipped mobile signup handoff — send link to laptop feature
  68. 04 APR 2026 David decided: Audited granular MCP connector end-to-end with 8 agents
  69. 03 APR 2026 David debugged: Caught prefetch_state='failed' masking a successful prefetch on Canvas candidates
  70. 02 APR 2026 David debugged: Monitor TLR model switch to Gemini 2.5 Flash — semaphore investigation
  71. 02 APR 2026 David decided: Per-document podcast via direct TTS, not the full podcast pipeline
  72. 01 APR 2026 David shipped: Hard-deleted Caden's account from production DB and Clerk
  73. 01 APR 2026 David decided: Specified data privacy screen copy for Kerra onboarding — no jargon
  74. 31 MAR 2026 David debugged: PPTX files silently bypassed page selection, exposing a missing conversion step
  75. 30 MAR 2026 David noticed: Phased rollout is the wrong default for a startup product
  76. 30 MAR 2026 David decided: Kill assignment planner agents with a simple feature flag
  77. 28 MAR 2026 David decided: Chose threads over projects as the profile grouping metaphor
  78. 28 MAR 2026 David decided: Chose 'Top firms find top candidates on granular' over the incumbent hero line
  79. 27 MAR 2026 David decided: Rejected shared upload modal, commissioned bespoke design from scratch
  80. 26 MAR 2026 David's problem: rotary pendulum, run it end to end
  81. 25 MAR 2026 David asks: Asked whether Claude code subsidization changes the Kerra compute cost model
  82. 25 MAR 2026 David debugged: Extension reconnect popup firing despite extension being connected
  83. 23 MAR 2026 David shipped: Shipped MCP security patches: OAuth consent flow, token exposure, scope enforcement
  84. 22 MAR 2026 David decided: Disable assignment planner to stop unwanted background AI runs
  85. 21 MAR 2026 David decided: claude code and codex are interchangeable seats
  86. 19 MAR 2026 David's problem: Kerra sending users a 'kinra' rebranded email on signup
  87. 18 MAR 2026 David debugged: Caught canvas prefetch_state contradiction: failed field vs succeeded metrics
  88. 18 MAR 2026 David's approach: Iterative multi-agent plan review before execution
  89. 17 MAR 2026 David noticed: Module planner candidate names should reflect content, not just file paths
  90. 16 MAR 2026 David asks: Questioned whether Canvas dual-endpoint sync creates duplicates
  91. 16 MAR 2026 David asks: Are artifact and tool valid entry kinds on a public profile?
  92. 15 MAR 2026 David decided: Workspace model default changed to Gemini Flash, agents mode gated to Pro
  93. 14 MAR 2026 David noticed: Profile must read as a serious work record, not a casual publication
  94. 14 MAR 2026 David's problem: Activity grid rendered with future months on right, making recent activity invisible
  95. 13 MAR 2026 David debugged: Courses modal flickering on university app home
  96. 13 MAR 2026 David's problem: Kerra signup produced no lecture notes candidates for new Notre Dame user
  97. 12 MAR 2026 David shipped: Deployed granular MCP security patches across four exploitable bugs in the draft→publish path
  98. 11 MAR 2026 David decided: Build user-upload modal for missing external lecture sources
  99. 08 MAR 2026 David decided: Deleted all UCT user data and David's own account from production
  100. 08 MAR 2026 David debugged: kissmewithcompute.com receiving Kerra deploys after DNS/GitHub Actions misconfiguration
  101. 07 MAR 2026 David decided: Rejected phased rollout wording in fix plan, demanding full immediate execution
  102. 07 MAR 2026 David's approach: dont make code changes yet can mean go deeper
  103. 06 MAR 2026 David decided: Banned kind-label symbols, kept their colors for text labels
  104. 05 MAR 2026 David decided: Built kissmewithcompute launch video in Remotion with kinetic transitions
  105. 05 MAR 2026 David debugged: Concurrent lecture notes agents writing to the same document simultaneously
  106. 04 MAR 2026 David decided: Upload modal design: no acknowledgement checkbox, no raw URLs
  107. 04 MAR 2026 David decided: Added Research Mode toggle to Kerra workspace, switching model to GPT-5.4
  108. 03 MAR 2026 David decided: Proposed referral pledge screen for signup to replace Genius Preview animation
  109. 02 MAR 2026 David asks: Asked whether granular should render artifacts inline, not as downloads
  110. 02 MAR 2026 David debugged: Investigated why Keno's signup produced no calendar events despite available announcements
  111. 01 MAR 2026 David debugged: Caught prefetch_state='failed' contradicting prefetch_metrics showing 6/6 success
  112. 28 FEB 2026 David decided: Replace em dashes across all Granular pages with contextual rewording
  113. 27 FEB 2026 David's problem: Notre Dame signup had zero calendar agents and no lecture candidates
  114. 27 FEB 2026 David debugged: Caught activity heat-map showing future months as empty
  115. 26 FEB 2026 David debugged: Investigated why PDF viewer overlay failed to load a clicked lecture slide in production
  116. 25 FEB 2026 David decided: Snitch follow-flow redirected to signup when user is unauthenticated
  117. 25 FEB 2026 David debugged: granular.work demo animation pacing and layout bugs
  118. 24 FEB 2026 David decided: Replaced referral pledge screen with a privacy-disclosure screen in signup
  119. 24 FEB 2026 David debugged: Investigated why Keno's signup failed open to wrong 6 courses
  120. 22 FEB 2026 David's approach: marker-like tests before submission
  121. 22 FEB 2026 David decided: Specified granular profile chat bar should expand and float on scroll
  122. 21 FEB 2026 David asks: How do profiles get updated without users having to remember to ask?
  123. 21 FEB 2026 David decided: Rejected over-complex fix plan in favour of targeted patches
  124. 20 FEB 2026 David asks: Asked whether MCP connectors are always-on or require per-chat activation
  125. 19 FEB 2026 David decided: Removed LMS session gate from personal workspaces
  126. 19 FEB 2026 David decided: Granular MCP anti-lying design: tie profile updates to real outputs
  127. 18 FEB 2026 David debugged: Investigated why 1,089 lecture notes generation requests failed on launch day
  128. 18 FEB 2026 David debugged: Investigated why snitch MCP connector was not production-ready for workers.dev
  129. 16 FEB 2026 David's approach: Using multi-agent parallel audits before every major ship
  130. 16 FEB 2026 David debugged: Extension reconnect popup firing despite extension being connected
  131. 15 FEB 2026 David noticed: Caught double-use of 'show' in granular landing page copy
  132. 14 FEB 2026 David decided: Anti-gaming constraint: AI cannot lie on a user's behalf in Granular
  133. 13 FEB 2026 David decided: Chose threads over projects as the profile grouping primitive
  134. 12 FEB 2026 David debugged: Investigated why class group chats showed zero groups after chat button was restored
  135. 11 FEB 2026 David debugged: Investigated why phone OTP gave errors on first attempt during signup
  136. 11 FEB 2026 David's problem: Production Gemini deploy had empty terminal bug occurring every 4th view_file call
  137. 10 FEB 2026 David noticed: The firms page value prop is exclusive data access, not AI analysis
  138. 10 FEB 2026 David decided: Rebuilt Granular profile from scratch after finding it misrepresented David
  139. 09 FEB 2026 David debugged: Investigated mobile signup handoff bug burning tokens before users clicked them
  140. 08 FEB 2026 David debugged: Lecture notes agent producing 504 errors from Gemini cache expiry
  141. 08 FEB 2026 David shipped: codex history is a real workbench, not a chat log
  142. 07 FEB 2026 David's approach: pdfs in downloads become headlines
  143. 07 FEB 2026 David decided: Chose threads over projects as primary profile structure
  144. 06 FEB 2026 David debugged: Investigated new signup that showed 'can't connect to LMS' instead of the fail-open courses UI
  145. 05 FEB 2026 David debugged: Investigated why lecture notes generation was failing and took 20+ minutes
  146. 05 FEB 2026 David decided: Decided against phased rollout for external-link file resolution fix
  147. 04 FEB 2026 David debugged: Investigated why prefetch_state='failed' showed 'failed' when all 6 files succeeded
  148. 04 FEB 2026 David shipped: Launched signup competition leaderboard on university app home page
  149. 03 FEB 2026 David's problem: Granular profiles are confusing to first-time visitors
  150. 02 FEB 2026 David's problem: Snitch ChatGPT app had unexpected schema changes that broke the product
  151. 02 FEB 2026 David shipped: Added per-document podcast button for workspace lecture documents
  152. 01 FEB 2026 David's approach: use subagents when the work is actually orthogonal
  153. 01 FEB 2026 David noticed: AI chat modal should not auto-scroll to follow streaming output
  154. 30 JAN 2026 David decided: Decided granular MCP connector must not allow the AI to lie on the user's behalf
  155. 30 JAN 2026 David decided: Launched 8 parallel agents to brainstorm granular profile redesign
  156. 29 JAN 2026 David decided: Kept kind colors but banned glyph symbols as kind labels
  157. 28 JAN 2026 David decided: Planned entry ingestion without LLM calls, partitioned across 8 agents
  158. 27 JAN 2026 David noticed: Agent timelines reflect a pre-AI-agent world and should be challenged
  159. 27 JAN 2026 David decided: Rejected pulse-based MCP cadence in favor of memory-layer reframing
  160. 26 JAN 2026 David decided: Kicked off full granular profile redesign with 8 vision-and-design agents
  161. 25 JAN 2026 David debugged: Investigated why Daniel's Canvas session appeared expired despite recent sign-in
  162. 25 JAN 2026 David decided: Defined Canvas chat-to-classmate fanout rules for Kerra group chat
  163. 24 JAN 2026 David decided: Turned off auto-prewarming so candidates only generate on explicit user clicks
  164. 24 JAN 2026 David shipped: Emailed 18,000 UCT students about Kerra using Outlook scraping
  165. 23 JAN 2026 David decided: Instructed plan review to pass no-new-states constraint on sync status
  166. 22 JAN 2026 David debugged: Investigated why course content sync was failing for own DSP course on production
  167. 21 JAN 2026 David decided: Granular hero copy: 'Top firms hire top candidates on granular'
  168. 20 JAN 2026 David shipped: Deployed snitch beta to snitch.blog on GoDaddy
  169. 19 JAN 2026 David decided: Replaced Kerra draft page hero copy with personalised today schedule view
  170. 19 JAN 2026 David shipped: Removed Telegram from Kerra onboarding and app UI
  171. 18 JAN 2026 David decided: Gave 150+ stuck mobile users free Kerra Pro for 1 year as apology
  172. 16 JAN 2026 David decided: Mandated that workspace AI chat agent read every file end-to-end, not just triage
  173. 16 JAN 2026 David debugged: Calendar agent creating Kerra events in wrong timezone
  174. 15 JAN 2026 David debugged: Investigated prefetch_state='failed' mislabelling when all six files succeeded
  175. 15 JAN 2026 David's problem: PDF viewer overlay failed to load on clicked inserted pages
  176. 14 JAN 2026 David debugged: Traced why calendar agents were failing on new signups
  177. 13 JAN 2026 David decided: Investigated Granular MCP tool visibility to test whether tools are lazily loaded in Claude Desktop
  178. 13 JAN 2026 David asks: Assessed whether a db.t3.small RDS can actually serve 10,000 concurrent users
  179. 12 JAN 2026 David decided: Extended Kerra SMS reminders from Telegram users to all onboarded users
  180. 11 JAN 2026 David decided: Commissioned a scale-ready gifting API for Kiss Me with Compute
  181. 11 JAN 2026 David noticed: Tool usage counts inflated by tool_results, not just user messages
  182. 10 JAN 2026 David debugged: Investigated prefetch_state 'failed' contradicting six successful prefetches
  183. 08 JAN 2026 David's problem: Canvas courses with Google Slides–only content produce empty lecture workspaces
  184. 07 JAN 2026 David's problem: Thread descriptions on granular profiles were vague and non-grounded
  185. 06 JAN 2026 David debugged: Workspace banners lost New/Earlier sections after a silent state mutation
  186. 05 JAN 2026 David noticed: PPTX files should be handled natively, not transcribed
  187. 04 JAN 2026 David debugged: Investigated why extension was shown as disconnected despite being active
  188. 04 JAN 2026 David decided: Rejected proposed lecture-notes UX state machine for adding unnecessary complexity
  189. 03 JAN 2026 David debugged: Snitch MCP connector draft_post failing with opaque tool error
  190. 02 JAN 2026 David's problem: Twilio costs 60x higher than expected for SMS sends
  191. 02 JAN 2026 David decided: Designed calendar pill link on university home page for direct scroll
  192. 01 JAN 2026 David asks: Investigated how active Kerra users really were on April 25-27
  193. 01 JAN 2026 David's approach: Delegation with parallelism: spawn sub-agents only for orthogonal work to protect coherence
  194. 31 DEC 2025 David decided: Redact not edit: chose redact as the copy for granular's privacy safety valve
  195. 30 DEC 2025 David's problem: Kerra workspace chat returning 'something went wrong' for free Gemini Flash users
  196. 30 DEC 2025 David's problem: Investigated scroll regression causing erratic position jumps during AI chat navigation
  197. 28 DEC 2025 David's problem: Firms page kerra.work/firms had asymmetric entry/exit transitions
  198. 28 DEC 2025 David decided: Per-document lecture audio: listen-to-this-lecture feature
  199. 27 DEC 2025 David debugged: Investigated own missing Kerra data after signing in to production
  200. 27 DEC 2025 David debugged: Traced canvas external-link gap causing empty Spanish lecture notes
  201. 26 DEC 2025 David's problem: Login broken on granular production — investigated who owns the account at granular.work/david
  202. 25 DEC 2025 David debugged: Investigated why login screen framing confused 'login' with 'signup' on granular
  203. 25 DEC 2025 David decided: Blocked Kerra login on mobile with a redirect to desktop-only message
  204. 24 DEC 2025 David decided: Turn off auto-prewarming of lecture notes candidates
  205. 24 DEC 2025 David debugged: Investigated @kerra groupchat bug where agent was not using extension to reach LMS
  206. 23 DEC 2025 David decided: Required two visual grids to be side-by-side in the profile hero, above the fold
  207. 22 DEC 2025 David decided: Wanted blocknote table z-index fix so grid picker is usable inside workspace tabs
  208. 22 DEC 2025 David decided: Set Kerra video budget to 10 hours per day with a UI meter
  209. 21 DEC 2025 David decided: Require MCP writes to identify which AI tool authored them
  210. 21 DEC 2025 David's problem: Unexpected $50/day ElevenLabs bill from Kerra podcast generation
  211. 20 DEC 2025 David decided: Decided granular should become Claude's memory layer, not just a publish target
  212. 19 DEC 2025 David shipped: Drove granular profile redesign end to end in one session
  213. 19 DEC 2025 David decided: Launched 8 opus agents to understand Kerra systems before coding lecture upload feature
  214. 18 DEC 2025 David decided: Added repost functionality to snitch v1 scope
  215. 17 DEC 2025 David decided: Decided to hide Therapa from the Kerra product UI entirely for now
  216. 16 DEC 2025 David's problem: Glyph symbols for entry kinds rejected as inappropriate for a credibility product
  217. 16 DEC 2025 David decided: Planned Snitch MCP connector for Claude first, then ChatGPT
  218. 15 DEC 2025 David debugged: Investigated bootstrap calendar agent failure spike and rebuilt failed runs locally to find the fix
  219. 14 DEC 2025 David's problem: Workspace AI chat agent silently stopping mid-task
  220. 14 DEC 2025 David decided: Changed workspace AI default model to GPT-5.4 mini with medium thinking
  221. 13 DEC 2025 David noticed: AI slop is identifiable by its contrastive sentence rhythm
  222. 13 DEC 2025 David debugged: Investigated Claude Desktop app ignoring settings.json permission grants
  223. 12 DEC 2025 David debugged: Kerra workspace editor cursor jumping back to document name field
  224. 11 DEC 2025 David decided: Required the accuracy mandate injection in calendar agent view_file to not direct tool calls
  225. 11 DEC 2025 David debugged: Investigated canvas distribution failure: zero intents sent to canvas users
  226. 10 DEC 2025 David decided: Parallelised prefetch without requiring extension upgrade
  227. 10 DEC 2025 David decided: Removed generation popup; workspace now opens live immediately on candidate click
  228. 09 DEC 2025 David debugged: Investigated why module planner system prompt used raw file paths at runtime
  229. 08 DEC 2025 David's problem: Canvas courses with Google Slides links instead of downloadable files produce empty lecture notes
  230. 07 DEC 2025 David decided: Commissioned Kerra 'listen to this lecture' per-document audio feature
  231. 06 DEC 2025 David decided: Switched calendar agent model from OpenAI to Gemini 2.5 Flash Lite
  232. 05 DEC 2025 David decided: Designed external-source upload modal for lecture notes missing Canvas files
  233. 05 DEC 2025 David debugged: Investigated why his own signup had no candidates or calendar events
  234. 04 DEC 2025 David debugged: Investigated why new signups had zero lecture candidates appearing on home page
  235. 03 DEC 2025 David debugged: Investigated broken workspace generation producing repeated error toasts
  236. 02 DEC 2025 David's problem: Granular firms page confuses what data is exclusive to the product
  237. 02 DEC 2025 David's approach: spawn agents, refuse pre-ai timelines
  238. 01 DEC 2025 David decided: Commissioned granular MCP audit: full profile control plane vs narrow draft tooling
  239. 01 DEC 2025 David decided: Added anti-fabrication constraint to MCP connector audit
  240. 30 NOV 2025 David decided: Reset all test users and ran end-to-end signup as a real student to find bugs
  241. 29 NOV 2025 David's problem: Signup onboarding complexity blocking the simplicity Kerra needs
  242. 28 NOV 2025 David debugged: Investigated why prefetch ran serially rather than in parallel
  243. 27 NOV 2025 David's problem: Kerra marketing copy implied AI-assisted plagiarism in one sentence
  244. 26 NOV 2025 David debugged: Questioned whether activity count of 53k events was inflated by tool results
  245. 26 NOV 2025 David decided: Chose virtual card approach for Kiss Me with Compute gifting and rejected subscription model
  246. 25 NOV 2025 David's problem: Growth lead feedback surfaces 40% signup apprehension around privacy
  247. 24 NOV 2025 David decided: Changed default workspace model to Gemini 3 Flash and gated agent mode to Pro
  248. 24 NOV 2025 David's approach: Injecting PDF text alongside visual pages to force complete content coverage
  249. 23 NOV 2025 David debugged: Investigated missing course candidates for Lesedi's other courses
  250. 23 NOV 2025 David decided: Decided to gate 'agents has its own computer' and assignment candidates behind pro plan
  251. 22 NOV 2025 David decided: Relaxed prefetch failure rules to 50% primary coverage threshold
  252. 20 NOV 2025 David's approach: no placeholders means the product has to be real
  253. 20 NOV 2025 David debugged: Investigated interactive workspace agent lying instead of searching files
  254. 19 NOV 2025 David debugged: Bootstrap calendar agents failing silently for new Notre Dame signup
  255. 18 NOV 2025 David shipped: Built granular growth reporting with canvas/d2l completion rate split
  256. 18 NOV 2025 David decided: Rewrote Kerra landing page hero to directly name the internship outcome
  257. 17 NOV 2025 David decided: Commissioned a real-time live-updating admin UI for Kerra signup tracking
  258. 17 NOV 2025 David decided: Rejected magazine masthead framing for granular profiles
  259. 16 NOV 2025 David's problem: Gemini context window overflow killing lecture notes runs

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

@david · granular