Front-end development for companies in Spain — servicio Dribba
Todos los servicios
Front-end consultancy · Barcelona · Andorra

Front-end development for companies in Spain

Production web apps and dashboards. Next.js, React, Flutter Web stack. Performance, accessibility and design systems with no trade-offs. Proposal within 1h.

Next.js · React · Flutter WebPerformance · A11y · DS300+ projects since 2011

TL;DR

Dribba builds production front-end for companies and startups in Spain: web apps (Next.js, SvelteKit, Vue), internal dashboards, Flutter Web for tools that share logic with the mobile app, and documented design systems. Strict TypeScript stack, measurable performance (Core Web Vitals: LCP < 2 s, INP < 200 ms), WCAG 2.2 AA accessibility and real testing (Playwright for E2E, Vitest for unit). Offices in Barcelona and Escaldes-Engordany (Andorra). More than 300 projects delivered since 2011 to seed–Series A startups and Fortune 500 corporations.

Resumen · datos clave

Servicio
Front-end development for companies
Qué incluye
  • Web apps with Next.js, React, SvelteKit or Flutter Web depending on the use case
  • Documented design systems, WCAG 2.2 AA accessibility and Core Web Vitals performance
  • Real testing: Playwright E2E, Vitest unit, Storybook visual regression
Plazo típico
Sprint 0 in 1–2 weeks · web MVP in 6–10 weeks · first production release week 6–14
Inversión
From €12,000 · Typical range €25,000–120,000
Diferencial
Front-end with back-end standards: strict typing, observability, real testing and performance measured on real mobile. No SPA on projects where SEO matters.

Enterprise front-end has stopped being "the visible layer" and become half the product: complex dashboards that replace Excel, fast web apps that compete with mobile apps, and internal tools that scale to thousands of employees. That half needs the same technical rigor as the back-end: strict typing, observability, real testing and measurable performance.

We work mainly with Next.js (App Router, Server Components, ISR) for public products with SEO and SSR. SvelteKit when bundle size and iteration speed matter. Flutter Web when the internal tool shares logic with the same client's mobile app. Vanilla React with Vite for complex single-page applications (dashboards, admin tools) where SSR adds nothing.

Our edge isn't the fashionable stack —everyone picks Next.js—. It's what we do with it: Server Components where they add value, Client Components only where necessary, streaming with Suspense, partial prerendering where applicable, edge runtime for low geographic latency. Zero unnecessary client JS and bundles that pass Core Web Vitals on real mobile, not just in Lighthouse.

Qué incluye

  • SEO matters: if the page needs Google, it goes with SSR/ISR (Next.js). If not, we go SPA and save complexity.
  • Bundle budget: a per-route JS KB budget agreed before development. Reviews block if it's exceeded.
  • Mobile first: we measure on a real device (Pixel 6 / iPhone SE), not just in Lighthouse. CrUX data as the source of truth.
  • Accessibility as an acceptance criterion, not a separate bug: axe-core in CI from sprint 1, keyboard navigation on every review.
  • Design tokens from Figma: when design changes a color, the code changes that color without intervention. Zero magic numbers.
  • Client-side observability: Real User Monitoring (Vercel Analytics, Sentry Performance) with alerts by p75, not by average.
  • Internationalization considered from the start: localized routes, correct hreflang, documented language fallbacks.
FrontendNext.jsReactSvelteKitFlutter WebTypeScriptTailwindDesign SystemCore Web VitalsAccessibilitySpain

¿Encaja con lo que necesitas?

Reserva una reunión con un partner

30 minutos. Sin pitch comercial. La conversación es contigo y con quien va a construirlo. Respuesta en menos de 1 hora.

Respaldo

+300

proyectos

15+

años

Flutter

partner oficial

What we do

Front-end services we ship to production

Next.js web apps

App Router, Server Components, ISR, Server Actions. For public products with critical SEO, high-traffic marketing sites, e-commerce and SSR-friendly dashboards.

Dashboards and internal tools

React + Vite or SvelteKit, server-side when it matters. Complex UIs with grids, charts, inline editing, optimistic updates. Lighter stack than Next.js when there's no SEO.

Flutter Web (cross-platform)

Share logic between a Flutter mobile app and web internal tools. Ideal for back-office the client team wants to keep as a single codebase.

Documented design systems

Figma tokens with automatic sync, component libraries in Storybook, visual regression with Chromatic. Visual coherence and speed to add features.

Performance & Core Web Vitals

LCP < 2 s, INP < 200 ms, CLS < 0.1 measured on real mobile (CrUX). Technical audit, optimization by 75th percentile, continuous monitoring with Vercel Analytics or equivalent.

WCAG 2.2 AA accessibility

axe-core audits, automated CI tests, full keyboard navigation, screen readers tested. Not an add-on: it's already a legal requirement in the EU.

Stack and technical decisions

What we use, where, and why

There's no single stack. There are justified decisions. What follows is what we typically ship to production in 2026.

Next.js (App Router)
Public products with critical SEO, marketing, e-commerce and SSR dashboards. Server Components for direct data fetching, Client Components only where there's interactivity. ISR for smart revalidation.
React + Vite
Pure SPAs: internal dashboards, admin tools, panels with no SEO. Aggressive bundle splitting, per-route lazy loading, no SSR overhead when it doesn't help.
SvelteKit
When bundle size matters (apps loading on slow networks) or when the client team wants high iteration speed with less boilerplate than React.
Flutter Web
Internal tools that share logic with the same client's Flutter mobile app. NOT recommended for landing pages, blogs or products where SEO matters.
Strict TypeScript
strict: true with no exceptions, no silent any, runtime validation with Zod at the edges (forms, external APIs). Types generated from OpenAPI or GraphQL where applicable.
Tailwind CSS · CSS Modules · shadcn/ui
Tailwind for speed and consistency, CSS Modules when there are complex animations or strict scope, shadcn/ui as a base of copyable components (no dependency).
Playwright · Vitest · Storybook
Playwright for E2E of critical flows in CI, Vitest for fast unit tests, Storybook + Chromatic for components and visual regression. Coverage by value, not by percentage.
Vercel · Cloudflare Pages · self-hosted
Vercel when the client accepts the cost. Cloudflare Pages for global edge at low cost. Self-hosted on Cloud Run or Fly.io when there are data-residency or cost requirements.

How to decide

Next.js vs. React+Vite vs. SvelteKit vs. Flutter Web

CriterioNext.jsReact + ViteSvelteKitFlutter Web
SEO / SSRExcellent (App Router)Client-side onlyExcellent (Kit)Poor (canvas render)
Base bundle size~80 KB JS gzipped~45 KB JS gzipped~15 KB JS gzipped~1.5 MB JS+wasm gzipped
Learning curveMedium-highLow (if you come from React)LowHigh (Dart + Flutter widgets)
Hiring pool SpainVery highVery highLow-mediumMedium (Flutter mobile)
3rd-party ecosystemHuge (React)Huge (React)GrowingLimited (web-specific)
Sharing logic with mobileLimited (different languages)LimitedLimitedFull (same Flutter base)
When it's the best optionPublic product with SEO, e-commerce, marketing, SSR dashboardsPure SPAs: admin, internal dashboards, no SEOApps with critical bundle size or small teamsInternal tools that share logic with a Flutter app

There's no "best framework" in the abstract. There's a best fit for your case, your client team and your SEO, performance and hiring constraints.

Por qué elegirnos

Lo que nos diferencia en Front-end development for companies in Spain.

Front-end as a system, not as screens

We design documented design systems from sprint 0. Each component with use cases, built-in accessibility and a Storybook entry. The product grows coherent without asking for visual approval on every PR.

Saber más →

Performance measured on real mobile

Core Web Vitals are an engineering target, not a marketing headline. Per-route bundle budget, blocking PRs that exceed it, monitoring with CrUX data in production. LCP < 2 s on real mobile.

Server Components where they help, not for fashion

We migrate to App Router when there's a concrete reason (direct data fetching, streaming, edge runtime). We don't move to follow Vercel's roadmap: we do it when it reduces complexity or improves measurable performance.

Saber más →

Preguntas frecuentes

Lo que nos preguntan sobre Front-end development for companies in Spain.

Four objective criteria: (1) A stack aligned with your client team — if your internal team knows React, don't hire Svelte. (2) Performance measured on real mobile, not just a demo Lighthouse. Ask for CrUX data from past projects. (3) A documented design system as a deliverable, not "we'll see later". (4) Accessibility as a code-level acceptance criterion (axe in CI), not an afterthought. If an agency can't demonstrate all four with real artifacts, keep looking.

Three clear tiers in Spain in 2026: (1) Large integrators (Indra, Capgemini, Accenture) — front-end as part of enterprise digital transformation, big teams, mostly juniors, high hourly rate. (2) Mid-size software factories (Plain Concepts, Apiumhub) — teams specialized in specific stacks, good technical quality, medium scale. (3) Boutique consultancies like Dribba — small teams with high seniority, better quality/price for product work, focus on performance and design systems.

Spain's serious front-end market concentrates in 3–4 cities: Barcelona, Madrid, Valencia and Bilbao. The recognized technical consultancies combine specialization (Next.js, React Server Components, design systems) with an open-source culture and event participation (JSConf, ReactJS, Next.js Conf). Dribba operates from Barcelona and Andorra, with a Next.js / React / Flutter Web stack and public cases at /proyectos.

Five questions that filter fast: (1) Can I see real code in production (public or anonymized)? (2) What Core Web Vitals do the last year's projects have on real mobile (not Lighthouse)? (3) How do they handle accessibility — axe in CI or an audit at the end? (4) What's the design-system plan and when is it delivered? (5) How do they test and what coverage target do they have? If all five are answered with specifics, there's a real team behind it.

Next.js App Router as the default: SEO for landing and marketing, Server Components for the authenticated dashboard (direct data fetching with no client-side waterfalls), Server Actions for simple mutations. Strict TypeScript, Tailwind + shadcn/ui for speed, Playwright for critical E2E. Hosting on Vercel if the cost allows, or self-hosted on Cloud Run if there's data residency or tiered cost.

Only in one case: when the client already has a Flutter mobile app and wants internal tools (admin, back-office) that share models, validation logic and domain with the app. For landing pages, blogs, e-commerce or any public product with SEO, we do NOT recommend Flutter Web — the bundle size (~1.5 MB) and canvas rendering make it a poor candidate. For those, Next.js or SvelteKit.

Typical ranges: a marketing site with a CMS (Strapi, Sanity) between €15,000 and €45,000. A B2B SaaS dashboard between €30,000 and €120,000 depending on complexity. A complex web app with a rich domain (multi-tenant, real-time, integrations) between €60,000 and €250,000. Hourly rate for specialized boutique consultancies: €75–130/h. At Dribba we work on a fixed price per sprint or per deliverable, not T&M for a known scope.

Sprint 0 between 1 and 2 weeks from signing. It includes: technical architecture, an operational client repository, CI/CD configured, dev/staging environments deployed, design tokens if there's a design, first visible commit. From Sprint 1 there are biweekly demos and code reviewable in real time. The first production release usually happens between week 5 and 10.

También puede interesarte

Servicios relacionados

¿Listo para empezar?

Cuéntanos tu proyecto.