Tech radar

The tools we stake our taste on

A living compass of the languages, platforms and techniques we use every day. Updated quarterly. If you spot something we should reconsider — tell us.

Adopt

Default choice. We have shipped production with this and keep doing so.

Trial

Actively used on new projects. We're comfortable but still learning.

Assess

Watching closely, running small experiments before committing.

Hold

Not our default. Use only when a client already has it or a specific reason exists.

Languages & Frameworks

Next.js 15 App Router

Adopt

Default for every new web app. Server components + server actions are where we live.

TypeScript (strict)

Adopt

Strict mode only. No `any` in production code.

React 19

Trial

Shipping on new projects; watching edge cases around Actions and `use` hook.

Tailwind CSS + shadcn/ui

Adopt

Fast, opinionated, exportable. Replaces ad-hoc CSS-in-JS.

React Native (Expo)

Adopt

Default for cross-platform mobile. OTA updates are a killer feature.

Remix

Hold

We prefer Next.js App Router for new work after Remix merged with React Router.

Platforms & Infra

Hetzner + Coolify

Adopt

Our production target. One CX32 hosts wedece.com plus client sites. Image-from-GHCR + webhook deploy. Boring-reliable.

Vercel

Trial

First-class Next.js DX, but we moved our own site off it for cost. Still a fine default for clients without infra needs.

Cloudflare Workers + Pages

Trial

Unlimited bandwidth; using for edge functions, DNS and image CDN.

Supabase

Adopt

Postgres + Auth + realtime + storage. Default when a client needs a managed DB.

Firebase App Hosting

Hold

Removed entirely from our stack — lead delivery is on Telegram, no database, no Firestore.

AI & Data

Anthropic Claude (API + Agents)

Adopt

Default reasoning model for RAG and agentic flows.

OpenAI GPT-5 family

Adopt

Used where tool-use latency matters.

Genkit

Trial

Framework-agnostic AI flows; useful for orchestrating LLM calls with eval and tracing.

LangChain (JS)

Hold

Over-abstracted; we prefer thin SDK wrappers.

pgvector

Adopt

Postgres-native vector search, good enough for 99% of use cases.

Tools & Techniques

Consent Mode v2 + GA4

Adopt

EU-compliant baseline for every client site.

Google Ads conversion tracking

Adopt

Wired into every form we build.

Sentry

Adopt

Wired into wedece.com (errors + source maps + CSP report tunnel). Default for client projects.

Playwright

Adopt

Smoke + happy path on every prod app. E2E in CI by default.

Jest for new code

Hold

Vitest is faster and ESM-native.

Stack conversations welcome

We love arguing about technology choices. Book a call and we'll unpack yours together.

    Tech radar — What we use, what we trial, what we hold · Wedece