Fast first
A page should feel quick in the first 200ms. Everything else is negotiable; that isn’t.
jswnthPar avionDesigner · developer · coffee drinker
Move the mouse — then scroll, the letters come off the page
I’m a web developer based in Kuwait City. I build things for the web end to end — the design, the motion, and the code that holds it together. Most of my work sits where interface meets animation: storefronts that feel quick, editorials that unfold as you scroll, dashboards that stay calm under real data.
I started on a borrowed laptop, learned by taking pages apart, and never really stopped. These days that looks like TypeScript, React and Astro on the front, Node and Postgres underneath, GSAP and Three.js for the parts that move — and Figma before any of it.
I care about the small stuff. How a page feels in the first 200 milliseconds. Whether a transition explains something or just decorates it. Whether the thing still works on a bad connection, on a small screen, with motion turned off.
Right now I’m open to freelance and full-time work — businesses in Kuwait and across the Gulf, product studios, small teams, anyone who wants the craft to show.

Taught myself HTML on a borrowed laptop, then found GSAP and stopped thinking of animation as decoration — it became how a page explains itself.
jswnth · 2022An offline-first accounting desktop app. Real data, real users, real bugs at 2am.
jswnth · 2023Sands & Souls, Orbit, Kinematic — the year of commerce and editorial work, mostly Next.js and Astro.
jswnth · 2024Nexus OS and Kerna matured into real deployments — a school management platform and a point-of-sale app, both handling actual daily use.
jswnth · 2025Freelance, open to full-time, based in Kuwait, building the kind of work that makes someone scroll back up to look again.
jswnth · 2026A page should feel quick in the first 200ms. Everything else is negotiable; that isn’t.
jswnthPar avionIf a transition doesn’t tell you where something came from or went, it’s just noise with easing.
jswnthPar avionNo dark patterns, no fake urgency. The interface should say what it does and do what it says.
jswnthPar avionBuilt for a small screen on a patchy connection, then made beautiful on a big one — not the other way round.
jswnthPar avionA polished thing that exists beats a perfect thing that doesn’t. Then keep polishing.
jswnthPar avionThe desk drifts as you scroll. So do I, most days.