Skip to content

Frontend Developer. From the handshake to the pixel

I studied management information systems. Then I realized I'd rather build the interface than manage it.

About

Two years into React, Next.js, TypeScript, and WordPress/WooCommerce, I built e-commerce sites and custom platforms at Lelabo Digital, with a Management Information Systems background that keeps me asking not just "does it work" but "does it serve the business behind it."

Outside client work I've shipped my own projects, including a bilingual platform now live in 20+ countries, and I'm open to full-time Frontend/Next.js roles as well as freelance and contract work.

Education

JUCT Tyre

Management Information Systems

Languages

Arabic native

English fluent

Available for freelance · Beirut

Selected work

Two client builds at 90+ Lighthouse, built that way on purpose, not audited into shape after launch.

Gen-dreights preview
Featured · Freelance · live

Gen-dreights

Bilingual digital-rights platform for youth in MENA, built for EN and Arabic from day one.

  • 90+ Lighthouse on production pages
  • Shared layout system for LTR and RTL
  • SEO, sitemap, and structured data before launch
  • Next.js · Supabase · Cloudflare edge
Next.jsNode.jsSupabaseCloudflareGA4
View live
Full case study

Problem

Youth digital-rights education in MENA existed mostly in English. The org needed a site that could carry the same message in Arabic without feeling like a mirrored afterthought.

Constraints

Solo build, real launch date, bilingual from day one (not translate-and-ship), and performance that wouldn’t embarrass a rights org talking about the open web.

Decisions

Next.js for routing and SEO, Supabase for content, Cloudflare in front. Structured data and sitemap before launch, not a week after someone noticed Google wasn’t indexing half the pages.

Results

Live and stable since ship. Lighthouse consistently 90+ on the pages that matter. EN/AR layouts share one system instead of two patched themes.

Learned

RTL isn’t a CSS flip switch. Planning copy length, navigation, and components for both directions early saves more time than any post-launch refactor.

Freelance

Kimantraspas

Custom WordPress theme in a week: speed and mobile layout the stock theme couldn’t match.

Kimantraspas preview
WordPressTailwind CSSPHP
Full case study

Problem

An off-the-shelf WordPress theme: fine for a week, slow and generic for a brand that wanted to look like themselves.

Constraints

About a week to ship. No budget to fight someone else’s template hierarchy.

Decisions

Custom theme on Tailwind instead of patching the old one. Starting clean beat retrofitting.

Results

Shipped in a week. Mobile layout and speed landed where the old site didn’t.

Learned

WordPress doesn’t have to look like WordPress if you throw away the default card stack.

Freelance

Created By Joya

WordPress shop for a planner brand: covers, stickers, and a catalog the owner can update alone.

Created By Joya preview
WordPressTailwind CSSWooCommerce
Full case study

Problem

A creative planner selling covers and stickers needed a storefront that showed the work clearly and let customers buy without a clunky theme in the way.

Constraints

Solo owner, no developer on retainer. Fast on mobile, simple to restock, and on-brand without fighting a marketplace template.

Decisions

WordPress and WooCommerce for catalog and checkout the client already understood. Tailwind for layout and product pages that didn’t look like default Woo.

Results

Live at createdbyjoya.shop. Product pages load clean on phone; owner can add covers and stickers without calling for help.

Learned

E-commerce for makers fails when the CMS is harder than the craft. Match the stack to who will update it at 11pm.

Client work across WordPress and Next.js. Same standards underneath.

Experience

What changed after each role, not a job description pasted from LinkedIn.

Frontend Developer

Lelabo Digital·Beirut, Lebanon

  • Shipped responsive e-commerce on WordPress with custom PHP where off-the-shelf plugins stopped short
  • Moved legacy static sites to Next.js without breaking existing content workflows
  • Cut repeat layout work by standardizing Tailwind patterns across client projects

Web Developer

Freelance·Remote

  • Custom WordPress themes from scratch, 90+ Lighthouse on client launches, not post-audit fixes
  • Built Gen-dreights end to end: bilingual Next.js, Supabase, Cloudflare, structured data at launch

Full Stack Developer

AUF-SIMPLON.CO·Beirut, Lebanon

  • MERN e-learning platform in an agile squad, auth, content, and admin flows shipped in sprints
  • Portfolio and restaurant management sites with responsive UI that matched design handoffs

How a project actually goes

Figuring out what we're building

Before any code: what this needs to do, who it's for, what stack makes sense, and what already exists that I shouldn't rebuild from scratch.

  • Technical spec and sitemap
  • Stack and database decisions
  • User flows mapped out

One design system, not a pile of screens

Layout, spacing, type, and interaction rules get decided once and reused everywhere, so the fifth page doesn't look like someone else designed it.

  • Wireframes and prototypes in Figma
  • Color and type tokens in Tailwind
  • Mobile-first from the start

Writing the code

Modular, typed Next.js and React. Nothing clever for the sake of being clever, just components that are easy to find and easy to change later.

  • TypeScript throughout
  • Server-side and static rendering, whichever fits
  • Database and API wiring

What clients said after launch

We needed English and Arabic to feel like the same site, not a rushed translation. Mohammad got that from day one — and the site still feels solid months after launch.

Gen-dreights

Digital rights platform

Our old theme looked fine until you opened it on a phone. Mohammad rebuilt it in a week. Faster, cleaner, and we finally look like ourselves.

Kimantra Spa

Wellness studio, Lebanon

Got something worth building. Let's make it real.