Skip to content

Selected work

Thirteen sites.One idea each.

Thirteen Next.js landing pages for SaaS, fintech, publishing, healthcare, studios and portfolios. Each one is built around a single idea — a road drawn as light, bugs drawn as x-rays, a board that runs itself — and I designed and built every one.

All work

Every project, every shot.

  • StraitFintech landing page

    A money-transfer page whose headline is the calculator: change the amount or the city and the payout counts to its new value.

  • JunoDeveloper portfolio

    An editorial portfolio template: stickers that drift with the cursor, a soft serif, and two loud colours.

  • KurenaiComic publisher landing page

    A comic publisher set like a woodblock poster, whose scroll reads a full comic page in manga order.

  • PlinthSaaS landing page

    A product-photo SaaS set in a studio of arches and plinths, all lit by one sun that scroll moves across the day.

  • SereinAI SaaS landing page

    A calm AI inbox in a cobalt sky, where every product view is live interface built in code, not a screenshot.

  • ArterialFleet SaaS landing page

    A fleet-tracking page that opens on a live WebGL road: a vehicle’s day, drawn as long-exposure light.

  • SpecimenDeveloper tool landing page

    Software bugs drawn as real bugs: an error-tracking page that reads like X-ray plates on a lightbox.

  • KilnDesign studio landing page

    A design studio and venture partner built from soft-lit clay: its hero is an arched kiln door whose CSS still life rearranges itself, on springs, for each service.

  • CairnIssue tracker landing page

    An issue-tracker page whose hero is a kanban board that runs itself while you read — ship the plan, not the status meeting.

  • SinopiaPainting studio landing page

    A painting studio where every work exists twice, as its red underdrawing and as the finished paint — and a lens paints the hero as you move the pointer.

  • OrreryAI feedback landing page

    A customer-feedback product whose hero is a working orrery: themes orbit a planet, and one switch re-ranks them by revenue instead of mentions.

  • CuspDentist portfolio and booking site

    A prosthodontist’s portfolio and booking site whose hero is a porcelain shade guide: sixteen tooth-shaded tabs fan open, and the one under the pointer names its shade.

  • AtomikaComics subscription landing page

    A retro-future comics subscription where scrolling runs a printing press that squeezes four floating ink plates into one cover.

Built properly

Finished in every state, not just the screenshot.

Built for the thumb

Every page has its own phone layouts — pinned chapters re-laid-out, tables turned into lists — rather than a desktop page shrunk to fit.

  • Strait on five phones.
  • Juno on five phones.
  • Kurenai on five phones.
  • Plinth on five phones.
  • Serein on five phones.
  • Arterial on five phones.
  • Specimen on five phones.
  • Kiln on five phones.
  • Cairn on five phones.
  • Sinopia on five phones.
  • Orrery on five phones.
  • Cusp on five phones.
  • Atomika on five phones.

Thirteen palettes, measured

Each project’s light, measured from its own palette. This page’s vermilion is where eight of them meet.

  • Strait#c4ec4f
  • Juno#e7773e
  • Kurenai#c21c31
  • Plinth#c98a5e
  • Serein#2549d9
  • Arterial#e2561f
  • Specimen#9be22d
  • Kiln#d1621c
  • Cairn#3355ee
  • Sinopia#cb222b
  • Orrery#7a2ff0
  • Cusp#d2706a
  • Atomika#c8393b
  • This page#d53b18

0

stock photos or image files

across all thirteen pages. Every visual is HTML, CSS, SVG or a shader, so it stays sharp at any size.

What they’re built with

  • Next.js13 of 13 pages

  • Tailwind CSS12 of 13 pages

  • Framer Motion4 of 13 pages

  • WebGL1 of 13 pages

  • GLSL1 of 13 pages

  • Lenis1 of 13 pages

Every state designed

  • Reduced motion: loops stop, pinned chapters show their finished frame
  • Visible keyboard focus and labelled controls
  • AA text contrast, headings and landmarks in order

Have a page that needs its own idea?

Tell me what you’re building. A 20-minute call is the quickest way in, and I reply to every email within one working day.

No inspect lenses active.