[karl abou jaoude] · web developer · beirut → worldwide

I build websites your team can edit without me.

the ultramarine word is editable · click it and type

Next.js on the front, a real CMS behind it: your team changes any page, word or image with no developer in the loop. When the job needs data, auth or APIs, I build the whole stack.

opens WhatsApp · no form, no funnel · replies within 24h

  • “We need the agency to change a headline.” · not on my builds ✓
  • “Only one person knows how to edit the site.” · not on my builds ✓
  • “Every redesign starts from zero again.” · not on my builds ✓
  • “It scores 40 on mobile and nobody knows why.” · not on my builds ✓

Next.js + TypeScript · CMS-powered content · full-stack when needed · same engineer as set A

here for Shopify surgery? that's set A →

  • Next.js App Router
  • TypeScript end to end
  • CMS content your team owns
  • static export · zero third-party scripts
  • Core Web Vitals as a feature
  • preview-URL launches
  • headless Shopify storefronts
  • accessible by default
  • fixed-price scopes

[teardown] · exhibit A, taken apart

The case study is already open.

You're reading it. Scroll pulls the page you're on into its four working layers: on a desktop, grab the drawing and tear it apart yourself.

projection:

Every build gets this treatment. The difference on yours: your team gets the keys.

[handover] · try the CMS

Editing should feel like this.

A miniature CMS wired to a miniature page. Change the fields, hit publish, watch it land: this is the loop your team owns after handover.

the cms · what your team sees

in sync · the page shows exactly what the cms holds

the page · what visitors see

Free shipping until Friday

The summer line is live

the real thing adds previews, drafts, roles and image pipelines: this is just the feeling

[catalogue] · what I build

Three shapes of website

Different jobs, same discipline: typed code, measured performance, content your team owns.

Marketing & company sites

The public face: fast, findable, and editable in-house.

  • CMS-powered pages, posts and landing pages
  • your marketing ships content without tickets
  • Core Web Vitals treated as a feature, not a hope

Next.js · Sanity / your CMS · static or edge

scope yours →

Web apps & dashboards

Full-stack: the tool your spreadsheets are pretending to be.

  • auth, database, APIs and third-party integrations
  • internal tools and customer portals
  • typed end to end: TypeScript, front and back

Next.js · TypeScript · Postgres / APIs

scope yours →

Headless storefronts

Shopify's engine under a storefront the theme editor can't draw.

  • Next.js front on Shopify's catalog and checkout
  • content and commerce modeled together
  • set A discipline on the commerce side

Next.js · Storefront API · CMS

scope yours →

Same doctrine as set A: fixed scope, fixed price, in writing, before any code.

[method] · dry run → live, still

Same method, different drawing.

Websites here ship the way bulk ops ship in set A: staged where you can click them, verified against a launch list, measured before they're called done.

stage

every change on a preview URL you can click

verify

accessibility, Core Web Vitals and a content pass

live

DNS flip, zero-drama launch

handover

CMS keys, docs and a video walkthrough

[contact] · no form here either

Want one like this?

Tell me what the site is for, who will edit it, and when you need it. You'll get a straight answer: stack, fixed price, timeline.

replies within 24h · invoices in USD

what happens after you hit send:

  1. ≤ 24h

    a straight answer: the right stack, a rough price, a timeline

  2. day 1–2

    fixed scope + fixed price, in writing

  3. first milestone

    a staging URL you can click, before anything goes live