All entries — David Kariuki
381 entries on record.
Kind
381 entries
- [debug]Demanded a full memory retrieval trace after a wrong Project Bingo result25 MAY 2026
- [decision]Bypassed the broken Granular hook to write nine days of entries straight to the database25 MAY 2026
- [approach]Insisted the coach's onboarding be in-context LLM not hardcoded scripts25 MAY 2026
- [decision]iMessage handoff as the consumer signup path, with the agent typing naturally25 MAY 2026
- [decision]Set the GitHub Actions billing block as the gating action on Kerra deploys25 MAY 2026
- [debug]Traced David's own missing Kerra workspaces back into production25 MAY 2026
- [problem]Caught the Kerra workspace agent lying instead of searching the user's LMS files25 MAY 2026
- [approach]Specified the Kerra groupchat-to-workspace bridge semantics for canvas users25 MAY 2026
- [decision]Dispatched four parallel agents for the Kerra course-rename bug25 MAY 2026
- [debug]Rejected Twilio Puerto Rico geofence as the OTP bug without proof25 MAY 2026
- [decision]Refused dramatising the Kocatepe dossier despite finding financial distress25 MAY 2026
- [approach]Used multi-hour deep OSINT as the input layer for each partner granular profile25 MAY 2026
- [decision]Rewrote partner card copy to refuse intimacy register25 MAY 2026
- [decision]Capped each partner gift profile at two pages for a single double-sided print25 MAY 2026
- [approach]Set the open-questions section as the directional payload of a partner's granular gift25 MAY 2026
- [debug]Tracked the macOS 'Application cannot be opened' failure to a missing embedded.provisionprofile25 MAY 2026
- [problem]Pushed back on the Granular Connect hook firing on every Stop instead of once per session25 MAY 2026
- [decision]Collapsed the /home dashboard into the user's public profile rather than maintaining two surfaces25 MAY 2026
- [debug]Forced the '22,908 messages' hero and 'tools last 26 weeks' band on his profile to agree25 MAY 2026
- [decision]Routed existing subscribers through Stripe's portal update flow to prevent duplicate Pro/Max subscriptions25 MAY 2026
- [milestone]Switched Granular's production Stripe wiring to a new live account with Pro $20 and Max $49 prices25 MAY 2026
- [decision]Gated the profile chat behind sign-up and capped daily AI queries per plan25 MAY 2026
- [milestone]Shipped Granular Connect 0.5.2 for Windows after fixing the WSL setup gap25 MAY 2026
- [debug]Investigated why Granular Connect was installed on Windows but registered no hooks inside WSL25 MAY 2026
- [milestone]Prepared a live ESP32 telemetry dashboard demo in 30 minutes after the integration with Nyakallo's STM32 failed25 MAY 2026
- [insight]Caught his report draft using draft-language like 'integration correction' in a final submission25 MAY 2026
- [approach]Fanned out six high-reasoning subagents to audit the telemetry report against the rubric and example reports25 MAY 2026
- [decision]Rejected the first telemetry report draft for overfitting to prior submissions and demanded a rebuild to A+ standard25 MAY 2026
- [debug]Diagnosed the STM32-to-ESP32 link failure as a pin/contact problem and texted his teammate the hypothesis25 MAY 2026
- [approach]Treated the AI as a lab partner and report co-author, asking to be babied through circuit work25 MAY 2026
- [decision]Refused to ship an STM32-coupled telemetry build that needed soldering, switched to an ESP32 bridge instead25 MAY 2026
- [decision]Hard-delete test users from Granular and Clerk so they can re-sign-up cleanly25 MAY 2026
- [decision]Default to frontier, never fall back to shitty alternatives25 MAY 2026
- [decision]Suspected model-routing degradation, with a PE pitch on Monday at stake25 MAY 2026
- [problem]Granular Connect hooks must self-install, not require Claude Code /hooks review25 MAY 2026
- [decision]Scheduling agents must be conversational, not a discrete settings UI25 MAY 2026
- [decision]Granular desktop opens to a proactive 24-hour overview, not an empty chat25 MAY 2026
- [decision]Remote 24/7 agents must run in the cloud with Slack, AgentMail, and full Claude-Code parity25 MAY 2026
- [question]Does Granular need Graphiti to become a true knowledge graph, not just vector search?25 MAY 2026
- [decision]Turbopuffer plus a real knowledge graph, not string matching, is the recall layer25 MAY 2026
- [insight]File-by-file copying does not scale; remote ingestion is the real architecture25 MAY 2026
- [decision]Mirror Dropbox read-only into Granular-owned storage for an always-fresh copy25 MAY 2026
- [decision]Goose chosen as the white-label runtime for the Granular desktop app25 MAY 2026
- [decision]Granular Brain is a company-wide brain, not a Dropbox-specific feature25 MAY 2026
- [insight]PE firms' real pain is unstructured, scattered data, not missing chat UI25 MAY 2026
- [decision]Granular's PE desktop must be religious-art quality, not an MVP25 MAY 2026
- [decision]David asked for a 21-day manual backfill of Granular entries after Connect broke25 MAY 2026
- [decision]David paused launching agents on Granular Firms to think with web Claude first25 MAY 2026
- [debug]David forced root-cause investigation of the May 8 Granular Connect macOS outage25 MAY 2026
- [insight]David reframed the Today page as a narrated daily briefing25 MAY 2026
- [decision]David rebuilt the Granular desktop chat surface around sessions and agent work25 MAY 2026
- [decision]David scoped a partnership deck for Stitch rather than another pitch25 MAY 2026
- [insight]David rejected performative-pithy prose in the deck25 MAY 2026
- [decision]David rewrote the Granular pitch deck thesis around agent-orchestration as labour25 MAY 2026
- [decision]David commissioned the bullet-proof execution plan via an 8-agent team25 MAY 2026
- [question]David interrogated the binary-modification spoof scenario25 MAY 2026
- [decision]David approved publishing the Profile Integrity Constitution25 MAY 2026
- [insight]David flagged the model-output-signing gap as the last unfixable layer25 MAY 2026
- [decision]David refused to skip the Linux TPM path25 MAY 2026
- [problem]David framed the local-first spoofing problem25 MAY 2026
- [decision]David made local-first non-negotiable for Granular25 MAY 2026
- [decision]Banned poetic short-sentence prose from the firms deck25 MAY 2026
- [approach]Redirected /firms to advertise CLI/API database access25 MAY 2026
- [decision]Repositioned the resume certificate as a private logged-in-only surface25 MAY 2026
- [debug]Refused likely-cause speculation on Hugo's silent coach reply25 MAY 2026
- [decision]Demanded a real static snapshot of the example profile, not an edge-cached fetch25 MAY 2026
- [decision]Separated public granular profile from the paid verified credentials page25 MAY 2026
- [approach]Specified profile-views and PDF-open as psychological upgrade levers25 MAY 2026
- [decision]Killed 'Featured verified profiles similar to David' as LinkedIn-skip copy25 MAY 2026
- [approach]Specified daily coach tips as feedback-not-questions grounded in the user's own profile25 MAY 2026
- [decision]Reframed Pro/Max pricing around 'your profile advertises someone else'25 MAY 2026
- [decision]Shipped the Windows Connect app without Azure identity validation25 MAY 2026
- [decision]Killed the custom-connector explainer in favour of a deep link to the OpenAI store25 MAY 2026
- [decision]Ordered a 10-agent investigation into Windows/Mac Connect parity25 MAY 2026
- [problem]Mobile signup blew up with too-many-redirects on Safari25 MAY 2026
- [problem]The user should never have to think about what an 'entry' is25 MAY 2026
- [decision]Delegation rule: cross heaven and earth before asking the user to do anything25 MAY 2026
- [debug]Cross-environment message count: 16.1B tokens, not 1.4B25 MAY 2026
- [insight]MCP calls don't count toward a user's Claude Code or Codex usage25 MAY 2026
- [approach]Granular Coach personality spec: a 20-something close friend, not a brand voice25 MAY 2026
- [decision]Proof-page metrics cannot be invented; every score needs a real computation25 MAY 2026
- [approach]Proof page should feel like a Treasury or JPM document, not a startup landing25 MAY 2026
- [decision]Phone-first sign-in must exist before iMessage handoff ships25 MAY 2026
- [decision]Framed Granular's paid plans as removing ads from your profile, not as a feature list16 MAY 2026
- [decision]kerra university home is the core surface14 MAY 2026
- [decision]Switched Kerra model defaults: gemini-2.5-flash as default, monitor moved to gemini-flash-lite14 MAY 2026
- [debug]Investigated calendar event duplication on completion toggle13 MAY 2026
- [debug]Extension detection taking 30 seconds on signup completion12 MAY 2026
- [problem]Kerra was sending blank morning/evening SMS messages to users12 MAY 2026
- [artifact]Commissioned gift notification email redesigned from scratch for Kiss Me with Compute11 MAY 2026
- [debug]Fixed Codex WSL update loop that persisted on every launch11 MAY 2026
- [decision]Separated assignment planner from lecture notes pipeline with a feature flag10 MAY 2026
- [decision]Commissioned personalised outreach emails based on inferred course schedules09 MAY 2026
- [problem]Activity heatmap was oriented with future on the right, past on left09 MAY 2026
- [decision]Hid granular's search feature from production so it's invisible even to engineers in DevTools08 MAY 2026
- [decision]Rejected agent prompt injection into lecture notes to handle document failures08 MAY 2026
- [artifact]the snitch voice rules07 MAY 2026
- [debug]Found dual concurrent agent runs corrupting the same workspace document06 MAY 2026
- [problem]PPTX is first-class course material06 MAY 2026
- [decision]Gated 'agents with own computer' workspace model to pro plan only05 MAY 2026
- [decision]Launched Create New Lecture modal replacing the Start Kerra button05 MAY 2026
- [debug]Investigated new Notre Dame signup with empty home page despite successful calendar runs04 MAY 2026
- [problem]Profile showing mock data instead of real computed analytics03 MAY 2026
- [insight]writing in lowercase isnt a bit03 MAY 2026
- [problem]Calendar agents failing silently for multiple new signups02 MAY 2026
- [debug]Investigated why tool usage analytics showed mock data instead of real counts02 MAY 2026
- [debug]Investigated activity grid position conflict across two visual panels01 MAY 2026
- [debug]Pushed back on 'AI model laziness' as root cause for lecture notes failures30 APR 2026
- [decision]user clicks must remain the generation path30 APR 2026
- [decision]Decided to ingest 6 months of transcripts with 8 partitioned agents29 APR 2026
- [question]How do we measure retention signal cleanly when users span the cohort boundary?28 APR 2026
- [debug]Investigated why a lecture workspace showed premature semi-complete tabs28 APR 2026
- [debug]OTP rate-limit firing after just two requests on signup27 APR 2026
- [decision]Commissioned growth referral system with 51 state-scoped ambassador links27 APR 2026
- [insight]copy should not sound AI-like26 APR 2026
- [problem]dont deploy snitch through kerra25 APR 2026
- [debug]Lecture notes generated from Google Slides links with no actual slide content25 APR 2026
- [problem]privacy and copyright anxiety are onboarding blockers24 APR 2026
- [decision]Decided Snitch beta subscription language should replace 'join the beta' CTA24 APR 2026
- [question]Cost-benefit of sending Canvas DMs through users' extensions23 APR 2026
- [debug]Investigated canvas file metadata sync gap causing unlinked lecture source files22 APR 2026
- [decision]Directed end-to-end build of Snitch MCP connector for Claude in a single day22 APR 2026
- [approach]read the plan file, then audit reality21 APR 2026
- [decision]Hid Therapa button from Kerra university app header21 APR 2026
- [milestone]Added search box to granular homepage for profile discovery20 APR 2026
- [decision]Decided kissmewithcompute should let users pay others in compute credits19 APR 2026
- [debug]Post-signup onboarding failure on production19 APR 2026
- [debug]OpenAI API usage spiking to $300 in a single day on Granular18 APR 2026
- [problem]Workspace AI chat has jarring shell command flash and broken scroll18 APR 2026
- [decision]Designed granular installer agents as four parallel specialists for different platforms17 APR 2026
- [debug]Lecture workspace documents opened as empty during live generation16 APR 2026
- [decision]canvas groupchat fanout rules16 APR 2026
- [question]Challenged whether tool and thread belong in the public kind taxonomy15 APR 2026
- [question]what does it feel like for information to feel seen15 APR 2026
- [debug]Investigated why Lesedi's prefetch showed permanently failed after clicking candidate14 APR 2026
- [decision]Commissioned security and data-architecture audit of Kerra before sharing with users13 APR 2026
- [decision]Disabled auto-prewarming of lecture notes workspaces13 APR 2026
- [problem]Kerra workspace hanging with empty response after apparently successful greeting12 APR 2026
- [debug]root cause, not plausible story11 APR 2026
- [debug]Investigated kerra.work domain going down mid-lecture generation11 APR 2026
- [debug]Investigated phone OTP rate-limiting during new user signup on Kerra10 APR 2026
- [debug]Investigated class group chat missing from university app header10 APR 2026
- [decision]Granular early-access flow should match Kerra firms application09 APR 2026
- [decision]Rejected phased rollout wording in the Canvas file metadata heal plan08 APR 2026
- [debug]Investigated Giancarlo Allio's stuck OTP 900-second timeout on Kerra signup08 APR 2026
- [decision]Removed Telegram banner and signup step from Kerra07 APR 2026
- [problem]agent runtime must be taught its tools07 APR 2026
- [debug]background compute must be accountable06 APR 2026
- [debug]Caught demo profile photo rendering poorly at unzoomed scale05 APR 2026
- [debug]Lecture notes prefetch state contradiction on failed run05 APR 2026
- [milestone]Shipped mobile signup handoff — send link to laptop feature04 APR 2026
- [decision]Audited granular MCP connector end-to-end with 8 agents04 APR 2026
- [debug]Caught prefetch_state='failed' masking a successful prefetch on Canvas candidates03 APR 2026
- [debug]Monitor TLR model switch to Gemini 2.5 Flash — semaphore investigation02 APR 2026
- [decision]Per-document podcast via direct TTS, not the full podcast pipeline02 APR 2026
- [milestone]Hard-deleted Caden's account from production DB and Clerk01 APR 2026
- [decision]Specified data privacy screen copy for Kerra onboarding — no jargon01 APR 2026
- [debug]PPTX files silently bypassed page selection, exposing a missing conversion step31 MAR 2026
- [insight]Phased rollout is the wrong default for a startup product30 MAR 2026
- [decision]Kill assignment planner agents with a simple feature flag30 MAR 2026
- [problem]canvas external sources need first-class modeling29 MAR 2026
- [decision]Chose threads over projects as the profile grouping metaphor28 MAR 2026
- [decision]Chose 'Top firms find top candidates on granular' over the incumbent hero line28 MAR 2026
- [decision]kerra pays for archimedes27 MAR 2026
- [decision]Rejected shared upload modal, commissioned bespoke design from scratch27 MAR 2026
- [problem]rotary pendulum, run it end to end26 MAR 2026
- [question]Asked whether Claude code subsidization changes the Kerra compute cost model25 MAR 2026
- [debug]Extension reconnect popup firing despite extension being connected25 MAR 2026
- [insight]active usage must mean meaningful work24 MAR 2026
- [insight]visible_at is a product timestamp, not a database timestamp24 MAR 2026
- [milestone]Shipped MCP security patches: OAuth consent flow, token exposure, scope enforcement23 MAR 2026
- [decision]Disable assignment planner to stop unwanted background AI runs22 MAR 2026
- [problem]each entry needs first-principles context22 MAR 2026
- [decision]claude code and codex are interchangeable seats21 MAR 2026
- [approach]relevant course files must be read completely21 MAR 2026
- [insight]every project is the same bet wearing costumes20 MAR 2026
- [problem]Kerra sending users a 'kinra' rebranded email on signup19 MAR 2026
- [debug]draft_post returned 200 but no card19 MAR 2026
- [debug]Caught canvas prefetch_state contradiction: failed field vs succeeded metrics18 MAR 2026
- [approach]Iterative multi-agent plan review before execution18 MAR 2026
- [insight]Module planner candidate names should reflect content, not just file paths17 MAR 2026
- [question]Questioned whether Canvas dual-endpoint sync creates duplicates16 MAR 2026
- [question]Are artifact and tool valid entry kinds on a public profile?16 MAR 2026
- [decision]Workspace model default changed to Gemini Flash, agents mode gated to Pro15 MAR 2026
- [insight]Profile must read as a serious work record, not a casual publication14 MAR 2026
- [problem]Activity grid rendered with future months on right, making recent activity invisible14 MAR 2026
- [debug]Courses modal flickering on university app home13 MAR 2026
- [problem]Kerra signup produced no lecture notes candidates for new Notre Dame user13 MAR 2026
- [milestone]Deployed granular MCP security patches across four exploitable bugs in the draft→publish path12 MAR 2026
- [problem]UI state must tell the truth11 MAR 2026
- [decision]Build user-upload modal for missing external lecture sources11 MAR 2026
- [decision]fail open, then reconcile10 MAR 2026
- [decision]granular is not a blog10 MAR 2026
- [decision]MCP first, claude before chatgpt09 MAR 2026
- [decision]Deleted all UCT user data and David's own account from production08 MAR 2026
- [debug]kissmewithcompute.com receiving Kerra deploys after DNS/GitHub Actions misconfiguration08 MAR 2026
- [decision]Rejected phased rollout wording in fix plan, demanding full immediate execution07 MAR 2026
- [approach]dont make code changes yet can mean go deeper07 MAR 2026
- [decision]Banned kind-label symbols, kept their colors for text labels06 MAR 2026
- [decision]Built kissmewithcompute launch video in Remotion with kinetic transitions05 MAR 2026
- [debug]Concurrent lecture notes agents writing to the same document simultaneously05 MAR 2026
- [decision]Upload modal design: no acknowledgement checkbox, no raw URLs04 MAR 2026
- [decision]Added Research Mode toggle to Kerra workspace, switching model to GPT-5.404 MAR 2026
- [decision]Proposed referral pledge screen for signup to replace Genius Preview animation03 MAR 2026
- [question]Asked whether granular should render artifacts inline, not as downloads02 MAR 2026
- [debug]Investigated why Keno's signup produced no calendar events despite available announcements02 MAR 2026
- [debug]Caught prefetch_state='failed' contradicting prefetch_metrics showing 6/6 success01 MAR 2026
- [decision]prompt changes must hit prod, seed, and fallback01 MAR 2026
- [decision]Replace em dashes across all Granular pages with contextual rewording28 FEB 2026
- [problem]Notre Dame signup had zero calendar agents and no lecture candidates27 FEB 2026
- [debug]Caught activity heat-map showing future months as empty27 FEB 2026
- [debug]Investigated why PDF viewer overlay failed to load a clicked lecture slide in production26 FEB 2026
- [decision]Snitch follow-flow redirected to signup when user is unauthenticated25 FEB 2026
- [debug]granular.work demo animation pacing and layout bugs25 FEB 2026
- [decision]Replaced referral pledge screen with a privacy-disclosure screen in signup24 FEB 2026
- [debug]Investigated why Keno's signup failed open to wrong 6 courses24 FEB 2026
- [question]dark matter and undetectable particles23 FEB 2026
- [approach]marker-like tests before submission22 FEB 2026
- [decision]Specified granular profile chat bar should expand and float on scroll22 FEB 2026
- [question]How do profiles get updated without users having to remember to ask?21 FEB 2026
- [decision]Rejected over-complex fix plan in favour of targeted patches21 FEB 2026
- [question]Asked whether MCP connectors are always-on or require per-chat activation20 FEB 2026
- [decision]Removed LMS session gate from personal workspaces19 FEB 2026
- [decision]Granular MCP anti-lying design: tie profile updates to real outputs19 FEB 2026
- [debug]Investigated why 1,089 lecture notes generation requests failed on launch day18 FEB 2026
- [debug]Investigated why snitch MCP connector was not production-ready for workers.dev18 FEB 2026
- [approach]deploy via github actions17 FEB 2026
- [approach]Using multi-agent parallel audits before every major ship16 FEB 2026
- [debug]Extension reconnect popup firing despite extension being connected16 FEB 2026
- [insight]Caught double-use of 'show' in granular landing page copy15 FEB 2026
- [decision]snitch should be free and public by default15 FEB 2026
- [decision]Anti-gaming constraint: AI cannot lie on a user's behalf in Granular14 FEB 2026
- [question]how fast does a profile become legible13 FEB 2026
- [decision]Chose threads over projects as the profile grouping primitive13 FEB 2026
- [debug]Investigated why class group chats showed zero groups after chat button was restored12 FEB 2026
- [debug]Investigated why phone OTP gave errors on first attempt during signup11 FEB 2026
- [problem]Production Gemini deploy had empty terminal bug occurring every 4th view_file call11 FEB 2026
- [insight]The firms page value prop is exclusive data access, not AI analysis10 FEB 2026
- [decision]Rebuilt Granular profile from scratch after finding it misrepresented David10 FEB 2026
- [debug]Investigated mobile signup handoff bug burning tokens before users clicked them09 FEB 2026
- [debug]Lecture notes agent producing 504 errors from Gemini cache expiry08 FEB 2026
- [milestone]codex history is a real workbench, not a chat log08 FEB 2026
- [approach]pdfs in downloads become headlines07 FEB 2026
- [decision]Chose threads over projects as primary profile structure07 FEB 2026
- [debug]Investigated new signup that showed 'can't connect to LMS' instead of the fail-open courses UI06 FEB 2026
- [debug]Investigated why lecture notes generation was failing and took 20+ minutes05 FEB 2026
- [decision]Decided against phased rollout for external-link file resolution fix05 FEB 2026
- [debug]Investigated why prefetch_state='failed' showed 'failed' when all 6 files succeeded04 FEB 2026
- [milestone]Launched signup competition leaderboard on university app home page04 FEB 2026
- [problem]Granular profiles are confusing to first-time visitors03 FEB 2026
- [problem]Snitch ChatGPT app had unexpected schema changes that broke the product02 FEB 2026
- [milestone]Added per-document podcast button for workspace lecture documents02 FEB 2026
- [approach]use subagents when the work is actually orthogonal01 FEB 2026
- [insight]AI chat modal should not auto-scroll to follow streaming output01 FEB 2026
- [approach]common compute wants outlier design31 JAN 2026
- [decision]Decided granular MCP connector must not allow the AI to lie on the user's behalf30 JAN 2026
- [decision]Launched 8 parallel agents to brainstorm granular profile redesign30 JAN 2026
- [decision]Kept kind colors but banned glyph symbols as kind labels29 JAN 2026
- [milestone]snitch shipped because the agent stopped asking28 JAN 2026
- [decision]Planned entry ingestion without LLM calls, partitioned across 8 agents28 JAN 2026
- [insight]Agent timelines reflect a pre-AI-agent world and should be challenged27 JAN 2026
- [decision]Rejected pulse-based MCP cadence in favor of memory-layer reframing27 JAN 2026
- [decision]Kicked off full granular profile redesign with 8 vision-and-design agents26 JAN 2026
- [debug]Investigated why Daniel's Canvas session appeared expired despite recent sign-in25 JAN 2026
- [decision]Defined Canvas chat-to-classmate fanout rules for Kerra group chat25 JAN 2026
- [decision]Turned off auto-prewarming so candidates only generate on explicit user clicks24 JAN 2026
- [milestone]Emailed 18,000 UCT students about Kerra using Outlook scraping24 JAN 2026
- [decision]Instructed plan review to pass no-new-states constraint on sync status23 JAN 2026
- [approach]the extension fortress22 JAN 2026
- [debug]Investigated why course content sync was failing for own DSP course on production22 JAN 2026
- [decision]Granular hero copy: 'Top firms hire top candidates on granular'21 JAN 2026
- [approach]show him dont tell him21 JAN 2026
- [milestone]Deployed snitch beta to snitch.blog on GoDaddy20 JAN 2026
- [decision]Replaced Kerra draft page hero copy with personalised today schedule view19 JAN 2026
- [milestone]Removed Telegram from Kerra onboarding and app UI19 JAN 2026
- [milestone]granular shipped from zero in three hours18 JAN 2026
- [decision]Gave 150+ stuck mobile users free Kerra Pro for 1 year as apology18 JAN 2026
- [decision]dont call it LMS to users17 JAN 2026
- [decision]Mandated that workspace AI chat agent read every file end-to-end, not just triage16 JAN 2026
- [debug]Calendar agent creating Kerra events in wrong timezone16 JAN 2026
- [debug]Investigated prefetch_state='failed' mislabelling when all six files succeeded15 JAN 2026
- [problem]PDF viewer overlay failed to load on clicked inserted pages15 JAN 2026
- [debug]Traced why calendar agents were failing on new signups14 JAN 2026
- [decision]Investigated Granular MCP tool visibility to test whether tools are lazily loaded in Claude Desktop13 JAN 2026
- [question]Assessed whether a db.t3.small RDS can actually serve 10,000 concurrent users13 JAN 2026
- [decision]Extended Kerra SMS reminders from Telegram users to all onboarded users12 JAN 2026
- [decision]Commissioned a scale-ready gifting API for Kiss Me with Compute11 JAN 2026
- [insight]Tool usage counts inflated by tool_results, not just user messages11 JAN 2026
- [artifact]kerrafin is a finance derivative of kerra10 JAN 2026
- [debug]Investigated prefetch_state 'failed' contradicting six successful prefetches10 JAN 2026
- [problem]OTP signup failures are growth-critical09 JAN 2026
- [decision]module planner outputs define lecture candidates08 JAN 2026
- [problem]Canvas courses with Google Slides–only content produce empty lecture workspaces08 JAN 2026
- [problem]Thread descriptions on granular profiles were vague and non-grounded07 JAN 2026
- [debug]bootstrap calendar failures need course-level names07 JAN 2026
- [debug]Workspace banners lost New/Earlier sections after a silent state mutation06 JAN 2026
- [insight]PPTX files should be handled natively, not transcribed05 JAN 2026
- [decision]simulation must use production machinery05 JAN 2026
- [debug]Investigated why extension was shown as disconnected despite being active04 JAN 2026
- [decision]Rejected proposed lecture-notes UX state machine for adding unnecessary complexity04 JAN 2026
- [debug]Snitch MCP connector draft_post failing with opaque tool error03 JAN 2026
- [problem]Twilio costs 60x higher than expected for SMS sends02 JAN 2026
- [decision]Designed calendar pill link on university home page for direct scroll02 JAN 2026
- [question]Investigated how active Kerra users really were on April 25-2701 JAN 2026
- [approach]Delegation with parallelism: spawn sub-agents only for orthogonal work to protect coherence01 JAN 2026
- [decision]Redact not edit: chose redact as the copy for granular's privacy safety valve31 DEC 2025
- [problem]Kerra workspace chat returning 'something went wrong' for free Gemini Flash users30 DEC 2025
- [problem]Investigated scroll regression causing erratic position jumps during AI chat navigation30 DEC 2025
- [question]is time just sampling rate29 DEC 2025
- [problem]Firms page kerra.work/firms had asymmetric entry/exit transitions28 DEC 2025
- [decision]Per-document lecture audio: listen-to-this-lecture feature28 DEC 2025
- [debug]Investigated own missing Kerra data after signing in to production27 DEC 2025
- [debug]Traced canvas external-link gap causing empty Spanish lecture notes27 DEC 2025
- [problem]Login broken on granular production — investigated who owns the account at granular.work/david26 DEC 2025
- [debug]Investigated why login screen framing confused 'login' with 'signup' on granular25 DEC 2025
- [decision]Blocked Kerra login on mobile with a redirect to desktop-only message25 DEC 2025
- [decision]Turn off auto-prewarming of lecture notes candidates24 DEC 2025
- [debug]Investigated @kerra groupchat bug where agent was not using extension to reach LMS24 DEC 2025
- [decision]Required two visual grids to be side-by-side in the profile hero, above the fold23 DEC 2025
- [decision]Wanted blocknote table z-index fix so grid picker is usable inside workspace tabs22 DEC 2025
- [decision]Set Kerra video budget to 10 hours per day with a UI meter22 DEC 2025
- [decision]Require MCP writes to identify which AI tool authored them21 DEC 2025
- [problem]Unexpected $50/day ElevenLabs bill from Kerra podcast generation21 DEC 2025
- [decision]Decided granular should become Claude's memory layer, not just a publish target20 DEC 2025
- [milestone]Drove granular profile redesign end to end in one session19 DEC 2025
- [decision]Launched 8 opus agents to understand Kerra systems before coding lecture upload feature19 DEC 2025
- [decision]Added repost functionality to snitch v1 scope18 DEC 2025
- [problem]workspace agents must search before saying missing18 DEC 2025
- [decision]Decided to hide Therapa from the Kerra product UI entirely for now17 DEC 2025
- [problem]Glyph symbols for entry kinds rejected as inappropriate for a credibility product16 DEC 2025
- [decision]Planned Snitch MCP connector for Claude first, then ChatGPT16 DEC 2025
- [debug]Investigated bootstrap calendar agent failure spike and rebuilt failed runs locally to find the fix15 DEC 2025
- [problem]Workspace AI chat agent silently stopping mid-task14 DEC 2025
- [decision]Changed workspace AI default model to GPT-5.4 mini with medium thinking14 DEC 2025
- [insight]AI slop is identifiable by its contrastive sentence rhythm13 DEC 2025
- [debug]Investigated Claude Desktop app ignoring settings.json permission grants13 DEC 2025
- [debug]Kerra workspace editor cursor jumping back to document name field12 DEC 2025
- [decision]Required the accuracy mandate injection in calendar agent view_file to not direct tool calls11 DEC 2025
- [debug]Investigated canvas distribution failure: zero intents sent to canvas users11 DEC 2025
- [decision]Parallelised prefetch without requiring extension upgrade10 DEC 2025
- [decision]Removed generation popup; workspace now opens live immediately on candidate click10 DEC 2025
- [debug]Investigated why module planner system prompt used raw file paths at runtime09 DEC 2025
- [problem]Canvas courses with Google Slides links instead of downloadable files produce empty lecture notes08 DEC 2025
- [question]does the system work like a fortress08 DEC 2025
- [problem]lecture notes must include the source pages07 DEC 2025
- [decision]Commissioned Kerra 'listen to this lecture' per-document audio feature07 DEC 2025
- [decision]Switched calendar agent model from OpenAI to Gemini 2.5 Flash Lite06 DEC 2025
- [decision]Designed external-source upload modal for lecture notes missing Canvas files05 DEC 2025
- [debug]Investigated why his own signup had no candidates or calendar events05 DEC 2025
- [decision]dont pre-gate every workspace on the course site04 DEC 2025
- [debug]Investigated why new signups had zero lecture candidates appearing on home page04 DEC 2025
- [debug]Investigated broken workspace generation producing repeated error toasts03 DEC 2025
- [problem]Granular firms page confuses what data is exclusive to the product02 DEC 2025
- [approach]spawn agents, refuse pre-ai timelines02 DEC 2025
- [decision]Commissioned granular MCP audit: full profile control plane vs narrow draft tooling01 DEC 2025
- [decision]Added anti-fabrication constraint to MCP connector audit01 DEC 2025
- [decision]Reset all test users and ran end-to-end signup as a real student to find bugs30 NOV 2025
- [decision]premium means restrained and sharp29 NOV 2025
- [problem]Signup onboarding complexity blocking the simplicity Kerra needs29 NOV 2025
- [debug]Investigated why prefetch ran serially rather than in parallel28 NOV 2025
- [problem]Kerra marketing copy implied AI-assisted plagiarism in one sentence27 NOV 2025
- [debug]kiss me with compute needs real physical animation27 NOV 2025
- [debug]Questioned whether activity count of 53k events was inflated by tool results26 NOV 2025
- [decision]Chose virtual card approach for Kiss Me with Compute gifting and rejected subscription model26 NOV 2025
- [problem]Growth lead feedback surfaces 40% signup apprehension around privacy25 NOV 2025
- [decision]Changed default workspace model to Gemini 3 Flash and gated agent mode to Pro24 NOV 2025
- [approach]Injecting PDF text alongside visual pages to force complete content coverage24 NOV 2025
- [debug]Investigated missing course candidates for Lesedi's other courses23 NOV 2025
- [decision]Decided to gate 'agents has its own computer' and assignment candidates behind pro plan23 NOV 2025
- [decision]Relaxed prefetch failure rules to 50% primary coverage threshold22 NOV 2025
- [insight]shared LMS sync to monitor TLR is the core Kerra loop21 NOV 2025
- [approach]test the risky assumption fast21 NOV 2025
- [approach]no placeholders means the product has to be real20 NOV 2025
- [debug]Investigated interactive workspace agent lying instead of searching files20 NOV 2025
- [debug]Bootstrap calendar agents failing silently for new Notre Dame signup19 NOV 2025
- [milestone]Built granular growth reporting with canvas/d2l completion rate split18 NOV 2025
- [decision]Rewrote Kerra landing page hero to directly name the internship outcome18 NOV 2025
- [decision]Commissioned a real-time live-updating admin UI for Kerra signup tracking17 NOV 2025
- [decision]Rejected magazine masthead framing for granular profiles17 NOV 2025
- [problem]Gemini context window overflow killing lecture notes runs16 NOV 2025
- [decision]follow the paper, not join the beta15 NOV 2025