Steven's Knowledge
Engineering

Tools & Solutions Reference

A problem-oriented reference mapping common development challenges to the right tools

Tools & Solutions Reference

When building modern web applications, choosing the right tool for each problem is critical. This reference organizes tools by the problem they solve, helping you quickly identify what to adopt for your specific needs.

Quick Reference Table

Problem DomainCore ToolsAlternatives
Code Quality & LintingESLint, PrettierBiome, Oxlint, Stylelint
Type SafetyTypeScriptZod, io-ts, ArkType
Error MonitoringSentryBugsnag, Datadog, New Relic
Product AnalyticsPostHogMixpanel, Amplitude, Google Analytics
Deployment & HostingVercel, NetlifyCloudflare Pages, AWS Amplify, Fly.io
TestingVitest, PlaywrightJest, Cypress, Testing Library
Performance MonitoringLighthouse, Web VitalsSpeedCurve, Calibre, Datadog RUM
Build & BundlingViteTurbopack, Webpack, esbuild, Rspack
Package Managementpnpmnpm, yarn, Bun
State ManagementZustandRedux Toolkit, Jotai, TanStack Store
Data FetchingTanStack QuerySWR, Apollo Client, urql
API Type SafetytRPCGraphQL (+ codegen), OpenAPI / Zodios
AuthenticationAuth.js (NextAuth)Clerk, Auth0, Supabase Auth
Feature FlagsLaunchDarklyFlagsmith, Unleash, PostHog
Dependency SecuritySnyk, DependabotSocket, npm audit, Renovate
Session ReplayLogRocketSentry Replay, FullStory, Hotjar
DocumentationStorybookDocusaurus, Fumadocs, Nextra
Database / BaaSSupabaseFirebase, PlanetScale, Neon
Logging & ObservabilityDatadogGrafana + Loki, New Relic, Axiom
CI/CD PipelinesGitHub ActionsGitLab CI, CircleCI, Buildkite
Schema ValidationZodYup, Valibot, ArkType, Joi
CSS / StylingTailwind CSSCSS Modules, styled-components, Vanilla Extract
Internationalizationnext-intl, i18nextFormatJS (react-intl), Paraglide
EmailReact Email, ResendSendGrid, Postmark, AWS SES
PaymentsStripeLemonSqueezy, Paddle, PayPal
CMSSanityContentful, Strapi, Payload CMS

Detailed Breakdown by Problem

Code Quality & Consistency

Problem: Inconsistent code style across the team, common bugs from bad patterns, merge conflicts from formatting differences.

ToolWhat It SolvesKey Features
ESLintCatches code errors, enforces patterns, prevents anti-patternsPluggable rules, auto-fix, TypeScript support
PrettierFormatting inconsistency, style debatesOpinionated, zero-config, integrates with ESLint
BiomeSame as ESLint + Prettier, but fasterSingle tool for lint + format, Rust-based
OxlintESLint too slow in large codebases50-100x faster, drop-in ESLint replacement
StylelintCSS/SCSS linting issuesCSS-specific rules, auto-fix

Type Safety & Runtime Validation

Problem: Runtime errors from wrong data types, API responses not matching expected shapes, undefined is not a function errors.

ToolWhat It SolvesKey Features
TypeScriptCompile-time type errors, refactoring safety, code documentationStatic analysis, IDE support, gradual adoption
ZodRuntime data validation, API response validationSchema-first, TypeScript inference, composable
io-tsRuntime type checking with functional programming styleCodec-based, fp-ts integration
ArkTypeType validation with TypeScript-native syntax100x faster than Zod, TS syntax for schemas

Error Monitoring & Debugging

Problem: Users experience crashes but you don't know about them, hard to reproduce bugs, no context about what led to an error.

ToolWhat It SolvesKey Features
SentryUnhandled errors, crash reporting, performance regressionStack traces, breadcrumbs, release tracking, source maps
BugsnagError monitoring (especially mobile apps)Stability score, cross-platform SDKs
DatadogFull-stack observability, correlated errorsAPM + RUM + logs unified, AI-powered
New RelicApplication performance + error trackingMature APM, generous free tier

Product Analytics & User Behavior

Problem: Don't know how users use the product, can't measure feature impact, no data for product decisions.

ToolWhat It SolvesKey Features
PostHogProduct analytics, feature flags, A/B testingOpen source, self-hostable, all-in-one
MixpanelEvent-based user behavior analyticsFunnels, retention, cohort analysis
AmplitudeProduct intelligence at scaleBehavioral analytics, experimentation
Google AnalyticsWebsite traffic and acquisition trackingFree, widely adopted, SEO integration

PostHog vs Google Analytics: PostHog focuses on product analytics (what users do inside the app), while GA focuses on marketing analytics (how users find and arrive at the app). Many teams use both.

Deployment & Hosting

Problem: Deploying is manual and error-prone, slow builds, no preview environments, complex infrastructure management.

ToolWhat It SolvesKey Features
VercelZero-config deployments for Next.js and other frameworksPreview deploys, edge functions, analytics
NetlifyJAMstack deployments, form handling, serverless functionsBuild plugins, split testing, identity
Cloudflare PagesGlobal edge deployment, low latencyWorkers integration, free generous tier
AWS AmplifyFull-stack deployment within AWS ecosystemAWS service integration, CI/CD
Fly.ioContainer-based global deploymentDocker-based, low latency, edge compute

Vercel vs Netlify: Vercel is optimized for Next.js with deep framework integration. Netlify is more framework-agnostic with a broader plugin ecosystem. For Next.js projects, Vercel is the natural choice; for static sites or other frameworks, either works well.

Testing

Problem: Bugs reach production, refactoring breaks things silently, no confidence in code changes, slow feedback loops.

ToolWhat It SolvesKey Features
VitestUnit and integration testingVite-native, fast, ESM-first, Jest-compatible API
PlaywrightCross-browser E2E testingMulti-browser, auto-wait, codegen
CypressE2E and component testingTime-travel debugging, dashboard
Testing LibraryTesting UI components from user perspectiveDOM-based, framework-agnostic, accessibility-first

Performance Monitoring

Problem: Site is slow but you don't know why, Core Web Vitals failing, performance regressions go unnoticed.

ToolWhat It SolvesKey Features
LighthousePerformance auditing, accessibility scoringCI integration, Core Web Vitals
Web Vitals (library)Measuring real user performance metricsLCP, FID, CLS, INP, TTFB
SpeedCurveContinuous performance monitoringFilmstrip comparison, budgets
Sentry PerformanceTransaction-level performance tracingDistributed tracing, slow query detection

State Management

Problem: Complex shared state across components, prop drilling, inconsistent state updates, hard to debug state changes.

ToolWhat It SolvesKey Features
ZustandLightweight global state managementMinimal API, no boilerplate, middleware
Redux ToolkitComplex state with strict patternsPredictable, devtools, large ecosystem
JotaiAtomic state managementBottom-up, fine-grained reactivity
TanStack StoreFramework-agnostic stateType-safe, reactive, composable

Data Fetching & Caching

Problem: Stale data in UI, redundant API calls, complex loading/error states, cache invalidation headaches.

ToolWhat It SolvesKey Features
TanStack QueryServer state management, caching, synchronizationAuto-refetch, optimistic updates, devtools
SWRStale-while-revalidate data fetchingLightweight, real-time, Next.js integration
Apollo ClientGraphQL data managementNormalized cache, local state, subscriptions
tRPCEnd-to-end type-safe API callsNo codegen, TypeScript inference, RPC-style

Authentication

Problem: Building auth from scratch is insecure and time-consuming, session management, OAuth complexity, MFA support.

ToolWhat It SolvesKey Features
Auth.js (NextAuth)Authentication for Next.js / SvelteKit / ExpressMultiple providers, JWT/session, open source
ClerkDrop-in auth UI + user managementPrebuilt components, org management
Auth0Enterprise-grade identity managementSSO, MFA, compliance, extensive SDKs
Supabase AuthAuth integrated with database/BaaSRow-level security, social auth, magic links

Feature Flags & Experimentation

Problem: Risky deployments, can't gradually roll out features, no way to A/B test, need to kill switch features.

ToolWhat It SolvesKey Features
LaunchDarklyEnterprise feature flag managementTargeting, experiments, workflows
PostHogFeature flags + analytics in one platformOpen source, integrated with analytics
FlagsmithOpen source feature flag serviceSelf-hostable, remote config
UnleashSelf-hosted feature toggle systemOpen source, activation strategies

Dependency Security

Problem: Vulnerable dependencies, supply chain attacks, outdated packages with known CVEs.

ToolWhat It SolvesKey Features
SnykVulnerability scanning + remediationAuto-fix PRs, container scanning
DependabotAutomated dependency updatesGitHub-native, auto PRs
SocketSupply chain attack detectionBehavioral analysis, not just CVEs
RenovateAutomated dependency managementHighly configurable, multi-platform

Decision Framework

When choosing tools, consider these factors:

Tool Selection Criteria
├── Problem Fit
│   └── Does it solve your actual problem (not a hypothetical one)?
├── Team Size & Stage
│   ├── Solo / Small team → prioritize simplicity and free tiers
│   └── Large team / Enterprise → prioritize governance and scale
├── Ecosystem Fit
│   ├── Does it integrate with your existing stack?
│   └── Framework-specific vs framework-agnostic?
├── Cost
│   ├── Free tier limits
│   ├── Scaling costs
│   └── Self-hosting option?
└── Community & Longevity
    ├── Active maintenance?
    ├── Community size?
    └── Bus factor / corporate backing?

For a modern Next.js project, a solid starting point:

LayerToolWhy
LanguageTypeScriptCatches bugs before runtime
LintingESLint + PrettierCode quality + consistent formatting
TestingVitest + PlaywrightFast unit tests + reliable E2E
Error MonitoringSentryBest free tier, excellent DX
AnalyticsPostHogOpen source, self-hostable, all-in-one
DeploymentVercelZero-config Next.js deployment
Data FetchingTanStack QuerySolves server state completely
AuthAuth.jsOpen source, flexible
StateZustandMinimal boilerplate
StylingTailwind CSSUtility-first, fast iteration
ValidationZodRuntime safety + TypeScript inference

On this page