Technology Radar

An opinionated guide to technologies, tools, and practices.

Every item reflects direct production experience. We don't place technologies we haven't used.

AdoptTrialAssessHoldDropBuildAutomateRunDeliver

Build

Adopt
TypeScriptThe default for any serious JavaScript project.
Adopt
ReactStill the best trade-off of ecosystem, hiring, and capability.
Adopt
Tailwind CSSReplaced component libraries as the pragmatic choice for rapid UI.
Adopt
ViteBuild tooling that just works. Webpack is over.
Adopt
PostgreSQLThe database. Reliable, extensible, battle-tested.
Adopt
RedisIn-memory data store that does exactly what it claims.
Adopt
WebSocketsReal-time data in finance, dashboards, and collaboration. Proven.
Adopt
ElysiaBun-native backend framework. Fast, typed, minimal.
Adopt
BullMQRedis-backed job queues. Reliable async processing.
Adopt
TypeORMTypeScript ORM with migrations. Gets the job done.
Adopt
Material UIComprehensive React component library for rapid enterprise UI.
Adopt
SwiftApple's language. Fast, safe, and the only real choice for iOS.
Adopt
SwiftUIDeclarative UI for Apple platforms. The future of iOS development.
Adopt
AG GridEnterprise data grid. Handles millions of rows without breaking.
Adopt
HighchartsBest charting library available. Worth the licence.
Adopt
Actix-webRust web framework. Fastest in class, production-proven.
Adopt
RustPerformance and safety that justify the learning curve.
Adopt
BunGenuinely faster than Node. The ecosystem caught up.
Adopt
SeaORMAsync Rust ORM. Type-safe database access without the raw SQL.
Trial
VikeVite-native React framework. The lightweight alternative to Next.js.
Assess
Preact3KB React alternative. Worth evaluating where bundle size matters.
Hold
Next.jsGrowing complexity and Vercel coupling. Watching the direction.
Hold
DenoGood ideas, but Bun won the mindshare race.
Hold
JavaVerbose, slow to start, heavy to run. Still everywhere.
Hold
C#Good language, overcomplicated community, one config away from null chaos.
Hold
SpringJava enterprise standard. Solid engineering, heavy ecosystem.
Hold
ASP.NET CoreCapable framework, Microsoft ecosystem lock-in.
Hold
PHPLegacy codebases work. New projects belong in TypeScript.
Hold
MariaDBFine MySQL fork. PostgreSQL is the better default.
Hold
SymfonyBest PHP framework. Still PHP.
Hold
DoctrineSerious PHP ORM. Migrations, DBAL, the works.
Hold
TwigModern PHP templating. Clean syntax, secure defaults.
Hold
EasyAdminSymfony admin panels in minutes. Held back by PHP.
Hold
PHPStanStatic analysis that makes PHP tolerable. Essential for PHP codebases.
Hold
PuppeteerHeadless Chrome automation. Playwright does it better.
Hold
PrestaShopPHP e-commerce platform. Works for what it is, limited by PHP.
Hold
Express.jsThe default Node.js framework for a decade. Elysia is the future.
Hold
InversifyJSDependency injection for TypeScript. Useful, but adds ceremony.
Hold
Passport.jsAuthentication middleware. Works, but Auth0 is less to maintain.
Hold
AngularToo much ceremony for too little payoff.
Hold
jQuery UIDatepickers and dialogs from 2010. Material UI replaced the need.
Hold
jQueryStill maintained, still works. Not for new projects.
Drop
MongoDBPostgreSQL JSONB covers the use cases. Move on.
Drop
SmartyTwig replaced it in PHP. React replaced PHP templating entirely.
Drop
FlourishAbandoned PHP library. Migrate when you touch the code.
Drop
WebpackVite killed it. The configuration era is over.
Drop
BabelTypeScript and native browser support made it redundant.
Drop
GraphQLHad promise. Too bloated for its own good while lacking important functionality.
Drop
Apollo FederationGraphQL gateway complexity. Solving a problem that shouldn't exist.
Drop
Apollo GraphQLGraphQL server with the most overhead. Drop GraphQL, drop Apollo.
Drop
ExtJS / SenchaCommercial lock-in for what React and MUI give you for free.
Drop
BootstrapTailwind gives you the system without the opinions. Move on.
Drop
AngularJSEnd of life since 2021. Every day without migrating costs more.

Deliver

Adopt
JiraIssue tracking standard. Bloated, but nothing replaces it.
Adopt
GitVersion control. Solved problem. No alternatives worth considering.
Adopt
Visual Studio CodeThe editor that won. Extensions, speed, universal support.
Adopt
SentryError tracking that shows you what actually happened.
Adopt
Spec Driven DevelopmentWrite the spec before the code. AI implements, humans verify.
Adopt
OpenSpecCLI tool that makes Spec Driven Development practical.
Adopt
TDDWrite tests first. Everything else follows.
Adopt
PlaywrightCross-browser end-to-end testing that actually works.
Adopt
StorybookComponent development in isolation. Essential for shared UI libraries.
Adopt
VitestVite-powered testing. Fast, compatible, no config.
Adopt
JenkinsNot glamorous. Reliable. Extensible.
Adopt
Oxlint50-100x faster than ESLint. Already replaced it.
Adopt
PrettierFormatting is a solved problem. Just use it.
Adopt
GitHub ActionsGood for simpler pipelines. Jenkins wins for complex orchestration.
Adopt
SonarQubeCode quality metrics. Useful for teams.
Adopt
KanbanLightweight. Fits how small teams actually work.
Hold
CypressPlaywright does everything it does, better.
Hold
ESLintOxlint is 50-100x faster. No reason to stay.
Drop
JestVitest replaced it. Faster, simpler, Vite-native.
Drop
BiomeTried to replace ESLint and Prettier in one tool. Oxlint + Prettier is better.
Drop
WebDriverIOAnother Selenium wrapper. Playwright made the entire WebDriver ecosystem redundant.
Drop
SerenityBDD layer over Selenium. Both the foundation and the abstraction are obsolete.
Drop
SeleniumPlaywright replaced it entirely. No reason to start new projects with Selenium.
Drop
ScrumCeremony that optimises for managers, not engineers.