Skip to content
Rúben Modernoruben.moderno
Energia Natural
2026/Arquitectura, desenvolvimento e infra

Energia Natural

O Micael trabalha a terra — agricultura intuitiva, ecologia profunda, regeneração da paisagem mediterrânica. Não podia depender de mim para mudar um preço; isso ia contra tudo o que pratica. Construí-lhe um site que gere sozinho, do primeiro texto ao último preço.

AstroCloudflare D1TypeScriptSSRCustom CMS
Visitar site
Energia Natural
Resultados
100/100
Lighthouse em todas as métricas
8 módulos
de back-office, geridos por ele sozinho
< 1 min
para publicar, sem código
18
páginas, 16 geradas da base de dados
O desafio

Nada podia depender de mim

  • O negócio dele é sobre autonomia — depender de um developer para mudar um preço não fazia sentido nenhum.
  • Tinha de gerir mensagens, eventos, projectos, serviços, definições, utilizadores e histórico — tudo sozinho, via admin.
  • 16 páginas de serviço tinham de nascer da base de dados, não de ficheiros estáticos que só eu sabia editar.
  • Login sem passwords — uma equipa pequena não tem tempo para gerir credenciais perdidas.
  • Analytics tinha de existir, mas sem cookies — RGPD por design, não por banner de consentimento.
A abordagem

Um site que ele cultiva sozinho

Astro 5 em SSR híbrido sobre Cloudflare Pages e D1, com um admin construído à medida do negócio dele — nada de CMS genérico forçado a caber. Magic links com tokens de uso único e allowlist em D1 tiram a password do caminho. Um analytics próprio, escrito por mim em ~150 linhas, grava direto na D1, sem cookies e sem ferramentas externas. O resultado: o Micael entra, muda o que precisa, sai — sem me esperar.

Blocos construídos

Back-office de 8 módulos, tudo dele

Back-office completo

8 módulos — mensagens, eventos, projectos, serviços, definições, utilizadores, analytics, histórico — geridos por ele, do início ao fim.

Páginas dinâmicas

16 páginas de serviço nascem da base de dados: muda o texto e a página actualiza-se sozinha.

Auth passwordless

Magic links via Resend, tokens de uso único, allowlist em D1 — sem password para esquecer.

Analytics cookieless

~150 linhas escritas de raiz, RGPD por design, dashboard só dele.

Email do domínio

@energianatural.pt via Cloudflare Email Routing.

Anti-spam

Turnstile + honeypot + rate-limit por email, sem intervenção manual.

O que aprendi

Construir para quem não quer intermediários

Cloudflare D1 chega para quase tudo

Comecei nervoso com SQLite distribuída — não precisava. Para sites institucionais com até alguns milhares de utilizadores, D1 é mais que suficiente e a integração com Cloudflare Pages é trivial.

Um CMS à medida leva mais tempo do que parece

Subestimei o esforço de um back-office com 8 módulos. Da próxima vez ou cobro mais por isso, ou uso uma stack como Payload CMS para os módulos genéricos e só escrevo de raiz o que é específico do cliente.

Lighthouse 100/100/100/100 é overkill mas ajuda a vender

Atingir 100 em todas as categorias custou ~2 dias extra. Em termos práticos para o utilizador final, 90+ era suficiente. Mas o screenshot do Lighthouse perfeito é um argumento de venda directo para o próximo cliente.

Magic links são melhor UX do que passwords

Nunca me pediu "esqueci-me da password" porque não há password para esquecer. Para equipas pequenas (até ~20 utilizadores), recomendo sempre.

Próximos passos

Pagamentos de inscrições e SMS

Próxima fase: integrar pagamentos para inscrições em formações e alargar as notificações a SMS, além do email. Vou esperar por feedback de uso real antes de avançar.

Precisas de uma plataforma à medida?

Posso desenhar e construir uma stack completa para o teu negócio — back-office incluído.

Falar comigo