Code Agency

Blog

Articles about software engineering, Odoo, cloud infrastructure and running a digital business.

16 min read

Headless commerce with Odoo and React: the complete guide

Decouple the storefront from Odoo and you get a faster, safer, upgrade-proof shop. DragonflyDB caching, island architecture, GitHub version control, PR previews, VPN-isolated ERP, PWA mobile UX — everything we ship on every headless e-commerce project.

odooreactecommerceheadlessnextjsperformancesecuritypwacaching
10 min read

Search that sells: Postgres tsvector vs Meilisearch vs Typesense

Visitors who use search buy at several times the rate of visitors who browse — which makes the search box a conversion feature, not a technical checkbox. When the database you already run is enough, when typo tolerance pays for itself, and the sync problem that is the real project either way.

postgresqlecommerceperformancearchitecture
9 min read

Stopping form spam without CAPTCHAs: honeypots, timing and fake success

Making a human prove humanity is a UX tax, and the bots pay it more reliably than your customers do. The invisible gate on every form on this site: a honeypot field, a minimum fill time, and a fake success that teaches the bot nothing — three server-side checks, no third-party script.

securityfrontendnextjs
9 min read

Media on the CDN, code on the origin: a delivery strategy that ages well

Next.js will happily serve your JS bundles from a CDN with one config line. We stopped doing that. Hashed chunks belong to the build that emitted them; images outlive every deploy — and treating both as 'assets' is how a rollback turns into a cache-purge incident.

performancearchitecturedevopsnextjs
7 min read

A marketing site with no CMS: MDX, git and a build pipeline

No database, no admin panel, no plugin updates. Content is MDX in the repo, frontmatter is a Zod schema that fails the build, review is a pull request — and publishing is a merge. The architecture behind this website, and the case where you shouldn't copy it.

nextjsarchitecturedevelopmentjamstack
9 min read

Design tokens in Tailwind v4: one palette, every surface

CSS-first config turns Tailwind into a token pipeline: OKLCH variables in, consistent components out. The two-layer setup, the one keyword that makes dark mode work, and the four files where the cascade stops.

frontendtailwind
8 min read

Leaving Radix for Base UI: a component migration story

When your primitive library changes direction, you migrate deliberately. Mapping Radix patterns onto Base UI, the accessibility differences that surprised us, and the codemod that did the boring three quarters.

reactfrontenddevelopment
8 min read

Core Web Vitals for business sites: the field guide

LCP, INP and CLS are graded on real visitors at the 75th percentile, not on your MacBook with a Lighthouse tab open. What actually moves each metric on content and commerce sites, ranked by effort.

performancefrontendseonextjs

Want us to publish something specific?

Tell us what you'd like to read and we'll add it to our writing queue.