ACHI
SYSTEMS
Responsive web design is no longer optional. In 2026, over 65% of web traffic in Kenya and globally comes from mobile devices. Poor mobile experience loses visitors instantly. Here are 10 practical, battle-tested tips we use at Achi Systems to build fast, usable, and future-proof responsive sites.
- Start with mobile-first CSS Write base styles for smallest screens first, then use min-width media queries to add rules for larger viewports. This forces discipline, keeps file size smaller, and improves performance on low-end devices common in Nairobi and rural areas.
- Use relative units (%, em, rem, vw, vh) Avoid fixed px values for fonts, padding, margins, and widths whenever possible. rem is especially powerful when paired with html { font-size: 62.5%; } because it gives predictable scaling while respecting user font-size preferences.
- Implement fluid grids with CSS Grid or Flexbox Replace old float-based layouts. Use grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); for card layouts that automatically wrap and fill space. Flexbox shines for one-dimensional components like navbars and hero CTAs.
- Set flexible images and media Always apply max-width: 100%; height: auto; to [image] tags. For <picture> elements, serve WebP or AVIF formats with fallback to JPEG/PNG. Use srcset and sizes attributes to deliver appropriately sized images based on device pixel ratio and viewport width.
- Optimize typography for every screen Use modular scale for font sizes (e.g., 1.25 ratio). Clamp() is your friend: font-size: clamp(1rem, 4vw, 1.5rem); ensures readable text from tiny phones to large desktops. Line-height 1.5–1.7 and max-width: 75–80ch for body text prevent fatigue.
- Hide or rearrange content strategically Not everything needs to appear on mobile. Use display: none; or visibility: hidden; sparingly—prefer aria-hidden and progressive disclosure. Move secondary navigation to a hamburger menu, collapse long tables into cards, or use accordion components for FAQs.
- Touch target size matters WCAG 2.2 recommends minimum 44×44 CSS pixels for interactive elements. Buttons, links, and form controls should feel tappable on phones. Add generous padding (min 12–16px) and increase hit area with ::before/::after pseudo-elements if needed.
- Test viewport meta and avoid common mistakes Always include: <meta name=”viewport” content=”width=device-width, initial-scale=1.0, viewport-fit=cover”>
Prevent double-tap zoom issues and ensure consistent scaling. Avoid maximum-scale=1 or user-scalable=no unless required for very specific map/pinching interactions.
- Respect prefers-reduced-motion and prefers-color-scheme Add @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } } Use @media (prefers-color-scheme: dark) to serve dark mode without extra JavaScript. These small additions improve accessibility and user comfort.
- Performance is part of responsive design Compress images, lazy-load offscreen content (loading=”lazy”), defer non-critical JS, and use font-display: swap;. Aim for Largest Contentful Paint < 2.5 s and Cumulative Layout Shift < 0.1. Tools like Lighthouse and PageSpeed Insights are free and brutal truth-tellers.
Bonus: Prototype early with real devices Emulators help, but nothing replaces testing on actual low-end Android phones (common in Kenya), iPhones, and tablets. Rotate, pinch, scroll slowly, use one hand, test in sunlight. Real-user feedback catches issues no desktop simulator shows.
At Achi Systems we apply these principles on every project—corporate sites, e-commerce stores, SaaS dashboards, and local business landing pages. Responsive isn’t just about fitting content; it’s about delivering fast, accessible, frustration-free experiences no matter the device or connection speed.
Implement these 10 tips consistently and your bounce rate drops, conversions rise, and SEO improves—Google still heavily favors mobile-friendly sites in 2026.