<about>joyce akiko
Built by someone
who was tired of fighting WordPress.
I’m a founder and operator with over a decade in project management. I know how to build systems and get things done. I could not get WordPress to render my HTML without a fight. So I stopped fighting and built a theme that just gets out of the way.
<about>joyce akiko
Built by someone
who was tired of fighting WordPress.
I’m a founder and operator with over a decade in project management. I could not get WordPress to render my HTML without a fight. So I stopped fighting and built a theme that just gets out of the way.
Get the free theme<the-story>
The theme
that started with frustration.
Canvas exists because I kept running into the same wall. This is that story.
I run things for a living. Operations, project management, systems that need to actually work under pressure. I have managed teams of three and teams of five hundred. Ninety-eight percent of projects delivered on time, under budget. Building the infrastructure that keeps everything moving is the thread through every role I have ever held.
And I still could not get WordPress to leave my markup alone.
Every time I pasted HTML into a Custom HTML block, something interfered. A max-width container wrapped my layout without asking. Injected block styles overrode my CSS. Global styles I never wrote showed up in the inspector with higher specificity than anything I could add. I would change something, refresh, and the page would look exactly the same. I would add a CSS rule. Nothing. I would add !important and fight the cascade line by line.
I didn’t want a page builder. I didn’t want a framework. I wanted to paste my HTML and have it render. That was the whole ask. WordPress kept saying no.
I looked at every minimal theme I could find. They all imposed something. A container width. Injected block CSS. A default style I had to hunt down and override. The “blank” themes weren’t blank. They were just smaller versions of the same problem.
- injected block styles86 KB
- global styles you didn’t write64 KB
- a page builder180 KB
- bundled libraries58 KB
- fonts you didn’t choose24 KB
- your markup9 KB
So I built Canvas. No container constraints. No injected block styles. No theme defaults to undo. You paste your HTML into a Custom HTML block and it renders full width, exactly as written. That’s it. That’s the entire product promise. The find and replace feature came because I was editing a five-hundred-line HTML block and the browser’s Ctrl+F couldn’t search inside a textarea. So I built that too.
Canvas is not a theme for everyone. If you don’t write HTML, a page builder is a better fit, and that’s fine. Canvas is for the people who already know what they want to build and just need WordPress to stop getting in the way.
<background>
The operator behind the theme.
Teams of 3 to 500. 98% of projects delivered on time and under budget. Project management has been the thread through every role I’ve held.
Led end-to-end delivery for a B2B SaaS platform, aligning engineering with the C-suite, and rolled it out to 2,000+ employees with 95% adoption.
Six years running operations for fast-growing clients across industries. CRMs, learning platforms, payment systems, and process automation, owned end to end.
A science degree grounded in data analytics and evidence-based management. BA, Psychology, Ithaca College. The systems thinking came first.
Backups before every change, staged rollouts, and nothing marked done until it’s verified. The same governance that keeps a project on schedule keeps a build from falling apart.
Across a decade of operations roles: a 34% cost reduction, 38% less manual work through automation, and the lowest team turnover in 10 years. The numbers came from fixing the systems underneath them.
<also-from-loupely>
Canvas fixes WordPress getting in the way.
Lens fixes CSS getting in the way.
The same frustration that built Canvas (something is wrong and the tools won’t tell you why) is exactly what Loupely Lens solves for CSS. Your change did nothing. Something else is winning. Lens shows you what, in real human terms, on any website in Chrome.
Two different problems. Same person who built the fix for both.
Click the element that looks wrong. Tell Lens what you’re trying to change. It shows you what rule is winning, where it came from, and why every competing rule lost. Works on WordPress, Shopify, Squarespace, Webflow, anything that opens in Chrome.
Learn about Loupely Lens →
</ready>
The theme that just
gets out of the way.
Free. No page builder. No build step. No theme defaults to fight. Paste your HTML and it renders exactly as written.