service / 02 web development

Next.js sites,
tuned for real users.

Web development means Next.js 14 on the App Router, server components by default, and Core Web Vitals green on a Safaricom 3G connection — not just on a fibre line in San Francisco. We deploy to a VPS we manage (Hetzner, Hostinger, DigitalOcean) or to Vercel if you've already committed. Either way, you get edge caching, ISR where it makes sense, and a site that loads under two seconds on a real device in Nakuru.

— ch. 01 / what you get

What you get

Server-first architecture

Next.js App Router with server components by default. Client JS only ships for things that genuinely need interactivity. This is how we keep First Contentful Paint under 1.2s on a mid-range Android.

ISR + edge caching

Marketing pages render once, cache at the edge, and revalidate on a schedule. Dashboards stream from the server. You don't pay the cost of a full SSR render for content that changes weekly.

Lighthouse 95+ on real 3G

We test on throttled Slow-3G in Chrome DevTools and on actual Safaricom data using BrowserStack. We don't ship a build that fails on the connection your customers use.

Structured data, sitemaps, OG cards

JSON-LD schema for Organization, Article, Product, FAQ. Auto-generated sitemap.xml. Per-route OG images that Twitter and WhatsApp actually render. The plumbing most agencies forget.

Tailwind + a small design system

Utility-first CSS with a typed token layer. You can hand the codebase to any senior React developer five years from now and they will understand it in an afternoon. No CSS-in-JS lock-in.

— ch. 02 / our approach

Our approach

Most websites get built once and then rot for three years because nobody on the original team is still around to maintain them. We design for the maintenance scenario — sensible folder structure, typed props end-to-end, and the kind of READMEs that a future developer will actually read.

We deploy continuously from the first commit. Every PR gets a Vercel-style preview URL (we run our own preview infrastructure on Hetzner) so non-technical stakeholders can click through changes before approval. Production deploys happen on merge to main, behind a Cloudflare proxy with sub-50ms TTFB from East Africa.

Analytics, SEO and accessibility are not bolt-ons. They go in during the build, not after launch. Lighthouse runs in CI — a PR that drops the score below 90 fails the build.

— ch. 03 / pricing & timeline

Pricing & timeline

marketing site · 3–4 weeks · KES 80,000+ · 5–10 pages
saas dashboard · 6–10 weeks · KES 250,000+ · auth + CRUD
customer portal · 8–12 weeks · KES 400,000+ · multi-tenant
retainer · ongoing · from KES 40,000/month · perf + feature work

Includes one year of small bug fixes free of charge. Hosting and CDN passed through at cost (typically KES 1,500–4,000/month).

— ch. 04 / recent example

Recent example

felixtechltd.com itselfthis site you are reading — Next.js 14 App Router, deployed on a $24/month VPS in Frankfurt behind Cloudflare. Lighthouse 97 mobile, sub-1.8s LCP on Slow-3G throttling, all green on Core Web Vitals.

LCP 1.6s on Slow-3G throttled Chrome
Lighthouse Performance 97 / SEO 100 / A11y 96
Build + deploy in 1m 12s on GitHub Actions

Need a site that actually performs?

Send us your current site URL and we'll send back a Lighthouse audit before the first call.