Countries documented at Google scale.
Countries documented at Google scale.
Quality score. At Google velocity.
Quality score. At Google velocity.
Tools built. Without being asked.
Tools built. Without being asked.
Every document is a decision. Here are some of mine.
I don't organize information. I design how understanding moves.
Billing 2.0
- Problem
- 250+ country selectors. Each with unique payment rules, legal requirements, and user expectations.
- Insight
- The differences are smaller than they appear. The shared infrastructure is larger than anyone had mapped.
- Result
- A unified architecture serving global complexity without multiplying maintenance burden.
250+ countries. One coherent system.
Read the full case study →WIKA Docs-as-Code Migration
- Problem
- A documentation system that moved slower than the product it described.
- Insight
- Documentation debt compounds like technical debt. The interest is developer frustration and user confusion.
- Result
- Git + Markdown + Markdownlint + CSpell pipeline. 40% faster deployment.
40% faster deployment.
Read the full case study →I found inefficiencies in my own workflow. So I built tools to eliminate them.
None of these were in my job description. All of them were in my job.
- 000+Countries documented
- 000+Documents delivered
- 00+Enterprise projects
- 00+Products documented
- 0Industries: Aerospace · SaaS · Consumer Tech
- 00%faster deployment (WIKA)
- 00%fewer support queries (WOPA)
- 00%faster turnaround (MD→XML)
- Zeropipeline disruptions (Culvert)
- 00%improvement in deliverable standards
Some documentation errors are inconvenient.
Some are fatal.
Airbus | Boeing
S1000D · iSpec 2200 · ASD-STE100
“Maintenance manuals where an ambiguous instruction can ground a fleet.”
98%Compliance Rate
Google Payments
Google Style Guide
“Where a missing localization note can fail a merchant in a market they depend on.”
99.64%Quality Score
Precision is not a preference. It is the product.
API documentation is a user experience problem. Most people treat it as a formatting problem.
/v1/documents/transformPOST /v1/documents/transform
Authorization: Bearer sk_live_...
Content-Type: application/json
{
"source_format": "markdown",
"target_format": "dita",
"content": "# Getting started...",
"options": {
"validate": true,
"locale": "en-US"
}
}HTTP/1.1 200 OK
{
"id": "tf_8Kd93hAq",
"status": "complete",
"target_format": "dita",
"output_url": "https://api.example.com/v1/documents/tf_8Kd93hAq/output",
"warnings": []
}When documentation is right, developers don't need to ask questions.
Explore the full API experience →Built With Intention
This portfolio is not a template. It is a production application. Every design decision has a reason. Every technical decision has a reason. Here are both.
Before I understood information architecture, I understood storytelling.
It turns out they are the same discipline.
Complexity is not the enemy. Unclear thinking is.
What complexity are you sitting with right now?
Let's talk about transforming it.
I respond to everyone who reaches out thoughtfully.
- Senior Technical Writer roles
- Information Architecture projects
- AI documentation tool collaboration
- Filmmaking and creative projects
Technical Writer. Information Architect. AI Builder. Filmmaker.
