TG

Bilingual foundation, SEO bundle, and a public demo tour

Shipped full PT-BR/EN i18n on the blog, a major SEO + performance bundle, and a public interactive demo for an older project.

Today was one of those days where a lot of long-running threads finally landed.

tgmarinho-ai-website

The big one: bilingual foundation went in. PT-BR stays as the default, EN is now a first-class citizen — routing, metadata, search, and every blog post translated across six batches. I also hardened the Velite schema (Phase 2.2), normalized categories per locale, and tagged 62 orphan posts with language + translationKey.

On top of that, I shipped a two-part SEO + performance bundle: JSON-LD, dynamic OG images, sitemap alternates, per-locale RSS, hreflang, lazy fuse.js, ISR, dropping framer-motion, self-hosting cover images, and scoping editorial fonts to posts only. Added llms.txt + llms-full.txt generation at build time. Migrated 9 dev.to posts as bilingual pairs. Patched a favicon regression caused by the i18n middleware matcher. Added a Recommendations section to /cv.

itop-lgnd

Opened up a public /demo interactive tour — no login required — with a sticky chapter sidebar, scroll-spy, and a PT-BR/EN toggle. Also bumped inngest to 3.54.2 and zod to ^3.25.0 to clear a vulnerability alert.

itop.com.br

Implemented the permissions matrix: action→roles map, a useMemberRole hook, a <Can /> component, and UI gates. Then locked down coupons, secret links, check-in flows, and financial dashboard stats by role, with integration + e2e coverage on top.