
Escola Armunia Viola
The Escola Armunia Viola runs on courses, sessions and handmade products — a catalogue that's always shifting. If every price change, every new course, every event had to go through me, the site would slow the business down instead of serving it. I built him an 18-page site, hosted entirely on Cloudflare, where he edits every text and piece of content himself — simply, quickly and practically — from the first course to the last item in the shop, without touching a line of code and without needing me for any of it.

Publish 18 pages without touching code — and without deploy surprises
- He needed to publish 18 pages (courses, sessions, packs, shop, about, contact) without learning HTML or waiting on me.
- The catalogue is always changing — prices, promotions, events — and every update had to go live in minutes, not days.
- He needed strong technical SEO (JSON-LD, sitemap) and GDPR compliance for a Portuguese spiritual audience that takes privacy seriously.
- The shop had to run over WhatsApp — partly his own catalogue, partly partner artisans — because this audience wants to talk before buying, not pull out a card.
Decap CMS over GitHub, running entirely on Cloudflare
Decap CMS with GitHub login gives him a visual editing panel where he edits any text, image or price himself, simply and quickly; behind the scenes, content lives as versioned markdown — no database to maintain. The whole stack — hosting, functions and CDN — runs on Cloudflare, and every change is published in about a minute. A minimal stack, full control, no surprises: whatever he publishes, stays published.
Editorial panel, hybrid WhatsApp shop, technical SEO
Editorial panel
Decap CMS with GitHub login — he edits text, images and prices himself, simply and quickly, without waiting on a developer.
Hybrid shop
His own products link straight to WhatsApp; partner-artisan pieces route to their own channels, credited clearly.
Technical SEO
Dynamic JSON-LD per page, a sitemap, and an llms.txt file — all built for search engines and AI.
GDPR done properly
Google Analytics only after consent — a banner that actually works, not just decoration.
Performance
WebP images, Lighthouse 95+, Cloudflare's edge CDN.
Reliability matters more than the stack itself
Decap CMS gets the job done, but a custom panel feels better
For anyone who needs fast editorial freedom without the budget — or time — for a custom-built admin, Decap CMS is still a solid choice: the interface is generic, but it works. After building Energia Natural's admin from scratch, it became clear that a panel designed around the specific business is nicer and more intuitive. It comes down to budget and timeline — when both allow for it, I now prefer the custom route.
WhatsApp as a shop beats checkout
I had planned to integrate Stripe. He pushed back — "my audience wants to talk before they buy." He was right: a pre-filled WhatsApp link converts far better in this niche than any shopping cart.
Vercel was hiding the client's publishes, without warning
Vercel's Hobby plan had quietly stopped running the build: CMS commits reached GitHub fine, but the deploy clocked in at 0ms and the new content never went live. He'd publish, and the site just sat there unchanged. I migrated everything to Cloudflare Pages Functions and dropped the dependency on Vercel's CLI — zero deployments lost since.
If I built it again today
I'd probably reach for Astro instead of a custom generator — there's no reason to maintain a hand-rolled build pipeline today when Astro solves the same problem with less code. It stays as it is because it works, and touching something that works just to make my résumé look prettier isn't how I operate.
Payments and enrolment, when demand calls for it
Next up: optional payments for the digital packs and an enrolment dashboard for the courses. I won't build that before he feels the need for it — the roadmap follows the business, not the other way round.
Need a site you can trust yourself to publish to?
I'll share what I've learned building for businesses that can't afford to wait on a developer — and design something tailored to you.