Skip to main content

Web development

Websites that prove what we can do.

Custom web development from George, South Africa. Everything that moves on this page is code we wrote for it, with no templates and no animation libraries. Point at it, scroll it, tap it.

Showpiece 01: a live canvas. Point at the lines, or drag a finger through them.Showpiece 01: a live canvas, resting while your device asks for reduced motion.

Showpieces

Proof you can touch.

None of these is a video or a screenshot. Each one is code running in your browser right now, written for this page, and each one rests when you scroll past it.

  1. 01The strand fieldat the top of this page
  2. 02A page that builds itselfscroll
  3. 03One site, three brandstap
  4. 04This page, measuredread

Showpiece 02

A page that builds itself

Shows Seven blocks fly in and lock into a page as you scroll, driven by one scroll number and plain CSS. Why it matters Motion that explains a product is cheap to run when it only moves layers, so it stays smooth on the phone in your customer's hand.

  • CSS custom properties
  • Sticky layout
  • Transforms only
  1. Hero
  2. Trust
  3. Features
  4. Services
  5. Process
  6. FAQ
  7. Contact

Showpiece 03

One site, three brands

Shows The same blocks dressed as three fictional businesses. Type, colour, corners, spacing and layout all come from one set of design tokens. Why it matters You get a design system, not a one-off theme, so new pages match the old ones and a rebrand does not mean starting again.

  • Design tokens
  • Container queries
  • View transitions
Pick a fictional brand

Bread baked before the town wakes up.

Sourdough, rye and Saturday cakes from a small oven on the high street.

Order for Saturday
  • Sourdough
  • Celebration cakes
  • Office orders

Fictional example

Showing Fernwood Bakery.

Showpiece 04

This page, measured as you read

Shows Live speed readings for this visit, taken in your browser by the Performance API. Why it matters Speed is part of the product. We build to budgets for these numbers and keep them enforced after launch.

  • Performance API
  • PerformanceObserver
  • requestAnimationFrame
  • Server response

    Measuring

    Time to first byte of this page. Good line 800 ms.

  • First contentful paint

    Measuring

    When the first words appeared. Good line 1.8 s.

  • Largest contentful paint

    Measuring

    When the biggest element finished. Good line 2.5 s.

  • Layout shift

    Measuring

    How much the page jumped while loading. Good line 0.1.

  • Interaction to next paint

    Waiting for your first tap or click

    Your slowest tap, click or key press so far. Good line 200 ms.

  • Frame rate

    Counting

    Frames per second, counted while this panel is on screen. Our target 60 fps.

Measured in your browser on this visit. Your device and network shape these numbers, so yours will differ from the next visitor's. The lines are the “good” thresholds Google publishes for its Web Vitals. Tap the brand switch above, then watch the interaction reading change.

Outside research

Why fast, accessible sites matter.

Findings from the research linked under each figure. They are not Yielde results.

What we build

Sites that age well.

  • Marketing & product sites

    Bespoke designs built on Next.js + Tailwind. No theme builders, no page-builder bloat. Fast on slow networks, accessible by default.

  • Custom web applications

    Dashboards, portals, internal tools: the things off-the-shelf SaaS cannot quite shape. Built with Supabase, Vercel, and the boring choices that age well.

  • Performance engineering

    Core Web Vitals tuned to green. Lighthouse audits, render-blocking removed, asset budgets enforced: the work that compounds every time a customer lands on the site.

  • Accessibility & SEO

    WCAG AA contrast, semantic HTML, structured data, sitemap discipline. The kind of compliance that opens doors and keeps you out of trouble.


How we work

Plain practice, on purpose.

We do not publish project prices. Every project starts with a short paid discovery sprint, and the build plan and the budget come out of it.

  1. Proof before pitch

    A short paid discovery sprint. You leave with a build plan, a budget, and the rights to walk if the fit is wrong.

  2. Build in the open

    Weekly preview links on Vercel from day one. You see the shape as it forms; surprise launches are not a feature.

  3. Care after launch

    Maintenance handled monthly. Dependencies kept current, performance budgets enforced, hosting bills in your name.


Under the hood

Boring choices, on purpose.

The stack

Next.js
Pages rendered on the server, so they arrive complete.
Tailwind
Styling on a token system, so every page stays on brand.
Supabase
Database, sign-in and storage for apps and portals.
Vercel
Hosting, with a preview link for every change.

The standards

  • WCAG AA contrast
  • Semantic HTML
  • Core Web Vitals
  • Structured data
  • Sitemap discipline

Wired to agents

A website that answers back.

Every form, chat and booking on a site we build can have an agent behind it. It replies, qualifies the enquiry and lines up the booking for your yes.

Book a call

Start with a free call.

We'll talk through your existing site, the problem you're trying to solve, and whether we're the right team to ship it.