M Networks

My web studio, rebuilt: one hand-written stylesheet, and a contact form that tells you exactly what happened to your message.

What
Studio website
When
Sep 2026
Status
Live, redesign built

The redesign is built and not launched yet: m-networks.net still serves the earlier design, shown at the end.

The product

M Networks is my one-person web studio: websites for businesses. m-networks.net is live with the earlier design. The redesign is built and tested, and leads with the launched work: GEVA Solutions, Flight Sim Support and Daybase.

The hard part

A studio site has to prove the work without inflating it. No testimonials it doesn’t have, no invented numbers, and a contact form that never leaves someone wondering whether their message arrived.

“Five answers, not two.”

m-networks.net README, contact form

How it works

  1. Five answers, not two

    The contact form reports sent, not sent, don’t know, in progress, or key conflict. Idempotency keys are pinned to a byte-identical copy of the message, it works without JavaScript through 303 redirects, and sending and admission have separate rate limits.

    src/app/api/contact/route.ts, src/lib/rate-limit.ts

  2. No framework for the look

    No Tailwind and no component library. One stylesheet of 1,275 lines is the whole design system, and the only runtime dependencies are Next.js and React.

    src/app/globals.css, package.json

  3. Motion in CSS

    The site screenshots inside each browser frame scroll themselves as the frame crosses the screen, with scroll-driven animations and no JavaScript. The pinned process steps pin only when they fit; otherwise they become a plain list.

    globals.css, ProcessScroller.tsx

  4. Tested like a product

    102 tests across six files, plus a 1,165-line suite that drives a real Chrome against the production build, because “the checks above cannot see a scroller that skips its middle steps.”

    npm test, scripts/browser-test.mjs, README

Facts, with sources

102
tests, run again on 9 Oct 2026, all passing
npm test
1,275
lines of hand-written CSS: the whole design system
src/app/globals.css
25
routes prerendered at build
next build
3
runtime dependencies: next, react, react-dom
package.json

Details

Built with

  • Next.js 16
  • React 19
  • TypeScript
  • Hand-written CSS
  • Cloudflare Workers (OpenNext)
  • Resend
  • node:test
  • Chrome DevTools Protocol

About these screens

  • The redesign is built and not launched yet: m-networks.net still serves the earlier design, shown at the end.
  • The code is in a private repository, so this page describes it at README level.