← Back to Blog
Building in Public

Foundation Stones & Strategic Breakthroughs

christian crumlish•
A robot laying a cornerstone, setting the base on which everything else will be built.
“Solid foundation”

Foundation Stones & Strategic Breakthroughs

November 13–15

Sometimes the best discoveries come not from looking for them, but from building systematically enough that they reveal themselves. That’s what happened across three intense November days when foundation work, comprehensive auditing, and strategic thinking converged into something bigger than any of us expected.

Building the second foundation stone

November 13 started at 6:19 AM with my Lead Developer reviewing overnight work. Foundation Stone #1 was solid — database infrastructure and LearningHandler core were complete, all tests passing. Time to build Foundation Stone #2: the User Controls API that would let users manage their learning patterns.

The scope was clear: seven endpoints split between pattern management (list, retrieve, delete, enable, disable) and learning settings (get, update). My Code Agent got the Phase 2 implementation prompt and started work at 7:06 AM.

Then came a discovery moment at 7:30 AM. Sprint A5 — our file-based prototype for pattern learning — had route conflicts with the new database-backed implementation we were building. The prototype had succeeded: it proved the concept worked. Now we were building it properly, and the old routes were in the way.

Claude Code made a clean decision: comment out 16 Sprint A5 decorators, preserve the code for reference, remove the conflicts. It’s the kind of decision that separates good engineering from technical debt accumulation — the prototype served its purpose, now make room for production code.

By 10:00 AM, Phase 2 was complete: eight manual tests passing, all seven endpoints functional, integration confirmed. Evidence package created. Foundation Stone #2 was solid.

But at 10:30 AM, I noticed something troubling while reviewing the completion evidence with my Lead Developer. The agent prompts we’d been using lacked explicit completion criteria. We’d been falling into what I now call the “80% completion trap” — agents would implement most of something, declare it done, and move on.

This is a methodology failure, not an agent failure. If your prompts don’t include clear STOP conditions, you can’t blame anyone for not stopping at the right place. We documented the fix: all future prompts must include completion matrices with explicit criteria. Problem identified, problem solved, lesson learned.

While Phase 2 wrapped up, three parallel investigations launched in the afternoon:

My Cursor agent spent 2.5 hours investigating Steve Yegge’s Beads system — an external memory architecture for AI agents using Git + JSONL + SQLite. The core problem: agents have 10-minute context windows and no memory between sessions. Beads provides persistent external memory. Cursor’s recommendation: start with a hybrid approach (GitHub for strategic memory, Beads for tactical) in a 2-week pilot. Success metrics: 40% productivity improvement, 90%+ work capture rate.

My UX Specialist (commissioned at 4:12 PM) created the “Thoughtful Colleague” pattern for Phase 3 — a progressive disclosure design for pattern-based suggestions Piper can make for our users. A collapsed badge expands to individual suggestion cards with reasoning, three-action feedback (accept/reject/dismiss), conversational microcopy emphasizing partnership. Twenty-two pages of comprehensive UX design, delivered by 4:45 PM.

But the biggest move came at 4:45 PM when my UX Specialist asked: “Should we do a holistic UX audit before the first external alpha user arrives?”

I said yes immediately. Commission a UXR Specialist, similar depth to the Phase 3 work, get it done before Beatrice or Michelle tests the system.

The UXR Specialist (Code Agent in researcher role) started at 5:12 PM and worked until 7:30 PM, completing Phase 1 of what would become a comprehensive investigation. They identified 10 distinct touchpoints, documented interaction patterns, and discovered something critical: theme inconsistency. The primary interfaces (home, standup) used a light theme with #3498db blue. Newer interfaces (learning dashboard, personality settings) used a dark theme with #007acc blue. No unified design system evident.

By end of Thursday, we had:

  • Foundation Stone #2 complete (7 endpoints, 21 tests passing)
  • Phase 3 UX design complete (“Thoughtful Colleague” pattern)
  • Beads research complete (strategic recommendation delivered)
  • UX audit Phase 1 complete (critical findings emerging)
  • Sprint A5 cleanly superseded
  • Completion matrix discipline corrected

Total test suite: 55/55 tests passing across all completed phases.

The audit arrives

Friday November 14 began at 8:04 AM with my Lead Developer synthesizing overnight recommendations from the Chief Architect. Phase 4 had five key questions to answer: How should action execution work? What’s the safety model? How do we match context? Where’s the integration point? What’s appropriate for alpha scope?

The Chief Architect’s answer simplified everything: proactive suggestions, NOT auto-execution. Users approve before execution. Build trust gradually. This cut estimated effort from 4–5 hours to 2–3 hours — a good architectural decision saves time downstream.

My Lead Developer created a comprehensive 28KB agent prompt with mandatory completion matrix, architect’s recommendations integrated, code examples, test requirements, success criteria, and explicit STOP conditions. The lesson from Thursday’s discipline failure was already embedded in Friday’s work.

Code Agent deployed at 10:47 AM, expected completion around 1:15 PM.

Meanwhile, the UXR Specialist continued the holistic audit, working through Phases 2–5 from late morning through evening. What emerged was comprehensive: 350+ pages of investigation, gap analysis, and strategic recommendations.

The findings were stark. Sixty-eight gaps identified across six user journeys:

  • Journey 1 (Setup & Onboarding): 4 gaps, score 6.5/10
  • Journey 2 (Daily Standup Flow): 12 gaps, score 4/10
  • Journey 3 (Chat Interaction): 15 gaps, score 5/10
  • Journey 4 (Learning System): 8 gaps, score 3/10
  • Journey 5 (Personality & Preferences): 11 gaps, score 3.5/10
  • Journey 6 (Document Management): 18 gaps, score 2/10

I knew my user experience work so far was half-assed. I’m enough of a pro to know when I am not doing things the right way. In a sense it was satisfying to finally have clear evidence of what I need to improve.

Journey 6 was the biggie: users couldn’t effectively retrieve or manage documents they’d uploaded. The system stored documents but provided no good way to find them again. This wasn’t a bug — it was a blind spot in the product design.

The audit also delivered something valuable: a complete design system specification. One hundred tokens for colors, typography, spacing, shadows. Semantic color scales (Primary/Success/Error/Warning/Info with 50–900 gradations). Typography scale using Major Third 1.25 ratio. Eight-pixel grid spacing system. Light/dark theme toggle support via CSS custom properties.

But here’s what made this audit different from typical UX criticism: it came with a strategic recommendation. The UXR Specialist proposed a “Quick Wins” approach — five high-impact, low-effort improvements that could reduce 80% of user frustration for roughly $20K worth of development effort (in pre LLM terms). Focus on the worst journeys first (Document Management at 2/10, Learning System at 3/10), then systematically improve the rest.

By end of Friday:

  • Phase 4 complete (all four sub-phases: Action Registry, Context Matcher, Proactive UI, Integration)
  • UX audit delivered (350+ pages, 68 gaps, complete design system)
  • Document management blind spot identified and acknowledged
  • Quick Wins strategy articulated
  • Foundation Stone #2 + #3 (UX design) + #4 (Proactive Application) complete

The learning system infrastructure was done. The UX gaps were mapped. We knew exactly what needed fixing.

Saturday: The convergence

Saturday November 15 started at 5:39 AM with my Chief Architect analyzing something that would change our entire strategic picture.

A few days earlier, Anthropic had published research showing that LLMs calling tools through MCP (Model Context Protocol) was token-inefficient. But executing code that used those tools? Token savings of 98.7%. The difference: instead of the model orchestrating dozens of tool calls (each consuming tokens for input/output/reasoning), you write code once and just execute it. The model sees only the final result.

My Chief Architect looked at Piper’s MCP usage patterns and saw the opportunity immediately. Document processing was consuming ~150K tokens per operation. Multi-system workflows created chains where each tool’s output became the next tool’s input, all flowing through the model’s context window.

The solution: Skills MCP — a meta-server providing executable skills to agents. Instead of “call GitHub, then call Notion, then summarize,” you’d have a StandupToIssuesSkill that encapsulated the entire workflow. The model writes code once, we execute it repeatedly. Projected savings: 90–98% token reduction on common patterns.

But here’s where it got interesting. At 7:30 AM, the Chief Architect was analyzing the UX audit findings — particularly Journey 6 (Document Management, scored 2/10). Users couldn’t find their documents. The system needed better document retrieval.

And suddenly everything connected.

  • The document management problem? Solvable with a DocumentAnalysisSkill.
  • The token efficiency problem? Solvable with Skills MCP architecture.
  • The UX improvement funding problem? Solvable with the resources saved from token efficiency.

Three separate initiatives — UX transformation ($130K worth according to this wild math), Skills MCP implementation, Learning System completion — were actually one integrated transformation. Skills MCP wasn’t just about efficiency; it was the economic model that funded UX improvements while creating the infrastructure for better user experiences.

The Chief Architect laid out a 13-week roadmap:

  • Weeks 1–3: Measure current token usage, implement prototype Skills MCP, validate savings
  • Weeks 4–6: Build core skills library (Document, Standup, Batch, MultiSystem)
  • Weeks 7–9: Migrate agents to use Skills MCP, realize token savings
  • Weeks 10–13: Use saved tokens to “fund” UX improvements, iterate on Quick Wins

The economic model was elegant if entirely imaginary: document processing currently cost ~$4,440/month in tokens. Skills MCP would reduce that to ~$200/month. The $4,200/month savings funded $130K in UX development over three months. By week 4, the transformation would be self-funding.

Meanwhile, the UX work accelerated in parallel:

My UX Specialist implemented UX Quick Wins — five features addressing the worst pain points. Better navigation structure, settings access, keyboard shortcuts, visual improvements. Then came UX Tranche 3: ten advanced features across three tracks (advanced feedback patterns, accessibility infrastructure, micro-interactions). Twenty-seven files created, all integrated.

By evening, Issue #300 (Learning System Phase 1–4) was complete. Three bugs fixed, smoke tests passing. The learning system infrastructure that we’d been building since November 13 was operational.

The Code Agent working on Tranche 3 had one small hiccup: template files were going to the wrong directory, and static file mounting wasn’t working. A sandbox debugging session on Sunday (November 16) would reveal the limitation — you can’t debug web server issues without actually running a web server. The agent recognized the limitation, documented the issue, and properly escalated rather than making blind commits. Even the mistakes were instructive.

What systematic building reveals

Across three days, we built foundation stones, discovered comprehensive gaps, and found strategic convergence. But the real story is about what emerges when you build systematically enough to see the whole picture.

Thursday’s foundation work was solid — APIs built, tests passing, evidence documented. But it also revealed the completion matrix problem. We fixed it immediately because systematic building exposes its own gaps.

Friday’s audit was comprehensive — 350 pages, 68 gaps mapped, design system specified. It could have been demoralizing (that many gaps!). Instead, it became strategic clarity. We knew exactly what to fix and in what order.

Saturday’s Skills MCP breakthrough didn’t come from looking for efficiency. It came from building systematically enough that the Chief Architect could see patterns: token usage patterns, user experience patterns, economic patterns. The convergence emerged from having good data and thinking strategically about what it revealed.

This is what “building in public” actually means — not just showing successes, but showing the process. The completion matrix failure on Thursday taught us something. The 68 gaps on Friday gave us direction. The convergence on Saturday showed us the path forward.

We’re not building fast. We’re building systematically. And systematic building reveals opportunities that rushed building misses.

The learning system is complete. The UX gaps are mapped. The strategic transformation is clear. Foundation stones are solid. Time to build the cathedral.

← Back to BlogAlso available on Medium