← Back to Blog
Building in Public

We Spent Four Days on Boring Work. Day Five, We Gave Our AI a Personality

christian crumlish•
A dull foundation giving way to a vivid character, four days of groundwork paying off in a single expressive leap.
robot-locomotive.webp

September 11

Monday through Wednesday this week looked like this: debt clearing, methodology refinement, pattern catalog organization, broken link fixes, session log debugging. The kind of work that makes terrible LinkedIn posts. No breakthroughs. No eureka moments. Just methodical progress through a backlog.

Thursday, we gave Piper a personality in 14 hours.

This isn’t a story about planning. We didn’t have “implement ResponsePersonalityEnhancer” on the roadmap. This is a story about how systematic foundation work creates conditions for capabilities to emerge.

The grind that nobody posts about

I know it’s cool to show just the cool results of your work but I’ve always liked letting the gritty reality show. I think the mess and imperfections are way more interesting, and relatable. Sorry to get meta.

Here’s what Monday through Wednesday actually looked like:

Monday: Fixed a two-line GitHub token regression that took all day. Not because the fix was hard (it wasn’t) but because we investigated systematically, documented thoroughly, and prevented future regressions. That’s not going to trend on Tiktok.

Tuesday: Transformed raw milliseconds into human-readable metrics. “5297ms” became “5.3s (under target).” Important? Yes. Exciting? Not really. Another day of making numbers friendlier.

Wednesday: Morning standup improvements, documentation audits, 254 broken links catalogued. Session logs that kept formatting as plain text instead of markdown (still haven’t fully fixed that one). The kind of work that feels like weeding a garden — necessary, endless, unsexy.

By Wednesday night, I had a gameplan for Thursday: enhance Piper’s response tone. Make it warmer, more confident, more actionable. A nice-to-have polish task.

Then Thursday happened.

When foundation work reveals architecture

Our Chief Architect for the day came in “fractional” — they’d been outside the project, dropping in with context only from our logs and methodology docs. This could have been a disaster. A month ago, it was — we had a lead developer wander in without context and get stuck immediately. How did I do it again! Another sign of cognitive overload, but…

This time was different.

The architect started with what we call “Extended Phase −1” — basically, verify your assumptions before you architect anything. And (with a little nudging when I asked that we check this) they found something critical: we were at risk of building personality the lens of our morning standup feature. But standup wasn’t core architecture. It was a variant.

We did it again. In our excitement to put together a feature using our cool new chat and calendar integrations, we built a singleton and through our domain-driven design rulebook out the window.

This changed the assignment. Instead of extending standup’s formatting to the whole system, we needed to enhance Piper’s core response pipeline. And when we looked at that pipeline, as often happens when we realign our rogue elements, we found the building blocks we needed already available.

The personality that was already there

The confidence scoring system? Already built. A 0.0–1.0 scale used across the entire platform.

Our ActionHumanizer that transforms technical language into natural speech? Operational and tested. My partners don’t necessarily know what we build a month ago unless I tell them to look. (We’re working on as sort of recited lineage so that any bot will know all the evolutionary stages and core elements: the proof of concept begat the prototype which begat the DDD redesign… down to ActionHumanizer child of Anaphoric Conversation and so on.”

Need a template system for responses? Got fifteen right here all ready for enhancement.

We weren’t building a personality system. We were remembering one that had been waiting in the architecture.

This is what four days of foundation work had given us: an architecture so clean that major capabilities could emerge from what was already there. The debt clearing had reduced friction. The methodology refinement had enabled a fractional architect to contribute immediately. The metric improvements had shown us how transformation layers could work.

The 14-hour sprint that worked

From 7:15 AM to 9:37 PM, two AI agents and one fractional architect transformed Piper’s entire response system:

Before: “Analysis complete. Found 5 issues.”

After: “Perfect! Analysis complete (high confidence) and I found 5 issues that need attention. Here’s what I recommend tackling first:”

The technical achievement was solid — sub-millisecond enhancement time, 96.9% test coverage, graceful degradation on any failure. But that’s not the interesting part.

The interesting part is that it worked because of the boring work. The cascade framework we’d refined meant the agents coordinated without conflicts. The pattern catalog meant they found existing code to build on. The documentation meant our fractional architect could catch architectural mistakes despite being outside the project.

Even the broken link fixes mattered — they’d taught us to verify infrastructure assumptions, which led to discovering the port confusion (8081 for web, 8001 for API) that could have killed the integration.

Why emergence beats planning

You can’t plan for capabilities to emerge. You can only create conditions where emergence is possible.

Those conditions look boring:

  • Clean architecture with clear boundaries
  • Comprehensive tests that catch regressions
  • Documentation that transfers knowledge
  • Methodology that enables outsiders to contribute
  • Systematic debt clearance that reduces friction

Thursday’s personality implementation wasn’t a planned feature. It emerged because Wednesday’s grunt work — and Tuesday’s, and Monday’s — had created a platform stable enough to support it.

The compound effect of foundation work

Here’s what I’m learning: the exciting work and the boring work aren’t separate. They’re the same work, viewed at different timescales.

Monday’s two-line fix enabled Tuesday’s metric transformation. Tuesday’s metrics showed us how enhancement layers could work. Wednesday’s documentation enabled Thursday’s fractional architect. Thursday’s personality system will enable next week’s chat interface.

Each day’s methodical progress compounds into the next day’s possibilities.

The personality system shipped with 100% production readiness not because we’re exceptional engineers (I’m definitely not — they’re pretty good when they’re not chasing squirrels) or because we planned perfectly (we didn’t). It shipped because four days of unsexy, methodical, systematic work had prepared the ground for something unexpected to grow.

← Back to BlogAlso available on Medium