Skip to content
ME
Open to workMaadi, Cairo, Egypt

I put the rules in the database, not in the React.

Full-stack developer building production business systems with Next.js, TypeScript and Postgres. I own features end to end: schema, row-level security, RPC functions, and the interface on top.

Don’t take my word for it

This console is real. The engine is a few kilobytes of TypeScript, the tables are the ones behind this site, and it all runs in your browser.

portfolio.db

Schema

8 rows

8 rows

Query result
namecategoryyear
AlkamnjaLMS · E-learning2026
Byway LMSLMS · Marketplace2026
Alpenglow RetreatHospitality · Ops2026
Moonlight StoreE-commerce2026
Nizami CinemaBooking2026
PluginZ HR / ATSOps360 · Product2025 – present
AkhshabZBusiness system2025
PluginZ Corporate SiteMarketing site2025
Try
Postgres tables under RLSPluginZ HR / ATS
85
invoices migrated off ExcelAkhshabZ, fully reconciled
8,533
role-based portals, one appPluginZ HR / ATS
6
authorization checks in Reactthe database is the boundary
0

Selected work

Systems that are running, with the numbers to show for it.

Five of these are in production and carrying real data. Each case explains what the system is, and the one engineering decision that made it work.

All projects

What I do

I own the feature, not the layer.

Most of what makes a business system hard is not the component tree. It is what happens when two people edit the same record, when a migration has to reconcile to the piastre, and when the wrong tenant must never see a row.

01

Data modelling & access control

Schema design, row-level security policies, custom access-token hooks, multi-tenant isolation and RBAC. The React layer mirrors permissions for UX; Postgres enforces them.

  • Postgres schema
  • RLS policies
  • RPC functions
  • Triggers & views
  • pg_cron queues
02

Product front-ends

Next.js App Router with Server Components and Server Actions, or Vite SPAs. Data tables, kanban boards, dashboards, charts, forms that survive real input.

  • Next.js 16 / React 19
  • TanStack Query & Table
  • React Hook Form + Zod
  • Tailwind v4
  • shadcn/ui
03

Systems around the system

Async document pipelines, transactional email outboxes, payment gateways, data migration off legacy spreadsheets, and the CI that keeps all of it honest.

  • Edge Functions
  • PDF generation
  • Resend / Paymob
  • Vitest & Playwright
  • GitHub Actions
04

Reach & polish

Arabic RTL and bilingual routing, technical SEO with JSON-LD and generated sitemaps, accessibility taken to zero axe violations, and motion that carries meaning.

  • Arabic RTL / i18n
  • JSON-LD & sitemaps
  • WCAG 2.1 AA
  • Core Web Vitals

The toolkit

  • TypeScript
  • Next.js
  • React 19
  • PostgreSQL
  • Supabase
  • Row Level Security
  • TanStack Query
  • Zod
  • Tailwind CSS
  • shadcn/ui
  • Server Actions
  • Postgres RPC
  • pg_cron
  • Vitest
  • Playwright
  • Recharts
  • Zustand
  • Redux Toolkit
  • Styled Components
  • Vite
  • Deno
  • GitHub Actions

Experience

Four years from teaching the basics to owning the schema.

  1. Nov 2024 – Present · Cairo, Egypt

    Full-Stack Developer at PluginZ Solutions

    Started on WordPress builds and React interfaces; now own four Ops360 modules end to end (HR, applicant tracking, staff outsourcing and service desk), from Postgres schema and RLS policies through to the rendered UI.

  2. Jan 2024 – Present · Remote

    Web Developer at Freelance

    Responsive marketing sites and web applications for small businesses, including apostrophes-eg.com. Figma translated into component-driven React and Next.js interfaces.

  3. Feb 2020 – Apr 2021 · Menoufia, Egypt

    Instructor at I-Engineer

    Taught HTML, CSS and JavaScript fundamentals to 50+ students, and built interactive React exercises demonstrating real-world component patterns.

Mahmoud Emad, Full-Stack Developer
Mahmoud EmadMaadi, Cairo, Egypt

2019–2023 · Education

B.Sc. Computer Science & Information

Menoufia University · GPA 3.4 · graduation project A+

Arabic (native) · English (professional working proficiency)

Next

Got something that needs a database behind it? Let’s talk.

Whether it is a product to build from the schema up, or a front-end that has outgrown its state management, send me the problem.

Usually replies within a day