
Production web apps and dashboards. Next.js, React, Flutter Web stack. Performance, accessibility and design systems with no trade-offs. Proposal within 1h.
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
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
¿Encaja con lo que necesitas?
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
App Router, Server Components, ISR, Server Actions. For public products with critical SEO, high-traffic marketing sites, e-commerce and SSR-friendly dashboards.
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.
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.
Figma tokens with automatic sync, component libraries in Storybook, visual regression with Chromatic. Visual coherence and speed to add features.
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.
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
There's no single stack. There are justified decisions. What follows is what we typically ship to production in 2026.
How to decide
| Criterio | Next.js | React + Vite | SvelteKit | Flutter Web |
|---|---|---|---|---|
| SEO / SSR | Excellent (App Router) | Client-side only | Excellent (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 curve | Medium-high | Low (if you come from React) | Low | High (Dart + Flutter widgets) |
| Hiring pool Spain | Very high | Very high | Low-medium | Medium (Flutter mobile) |
| 3rd-party ecosystem | Huge (React) | Huge (React) | Growing | Limited (web-specific) |
| Sharing logic with mobile | Limited (different languages) | Limited | Limited | Full (same Flutter base) |
| When it's the best option | Public product with SEO, e-commerce, marketing, SSR dashboards | Pure SPAs: admin, internal dashboards, no SEO | Apps with critical bundle size or small teams | Internal 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
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 →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.
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
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.
¿Listo para empezar?