# Tareq Al-Mozayek > Tareq Al-Mozayek (طارق المزيك) is a full-stack engineer based in Damascus, Syria, frontend-focused and specialising in React, Next.js and TypeScript. He builds web applications, websites and landing pages in English and Arabic (RTL), with NestJS or Laravel back ends when a product needs one, and is the author of the open-source React library slotsmith. - Works at Ejad Solutions (frontend since 2024, back end with NestJS since 2026). - BSc in Information Technology, Software Engineering, Damascus University (graduated 24 Aug 2026). - Available for freelance projects. Languages: Arabic, English. ## Pages - [Home](https://tareqmozayek.com/en): overview, about, selected work, experience and skills - [Services](https://tareqmozayek.com/en/services): React and Next.js apps, landing pages and full-stack products, with examples - [Work](https://tareqmozayek.com/en/work): every project, filterable by type and stack - [slotsmith](https://tareqmozayek.com/en/slotsmith): the headless React component library, with live demos - [Posts](https://tareqmozayek.com/en/posts): write-ups from LinkedIn and Medium on React, Next.js, Laravel, animation and slotsmith - [Contact](https://tareqmozayek.com/en/contact): project brief form and direct contact - Arabic versions live under https://tareqmozayek.com/ar ## Services - [React & Next.js applications](https://tareqmozayek.com/en/services#react-nextjs): Web apps, dashboards and admin panels in React and Next.js with TypeScript, from the first screen to production. It is most of what I do at Ejad Solutions, and what I reach for on my own projects. Stack: React, Next.js, TypeScript, TanStack Query, TanStack Table, React Hook Form, Zod, Tailwind CSS, shadcn/ui, next-intl. - [Landing pages & business websites](https://tareqmozayek.com/en/services#landing-pages): Fast, responsive marketing pages built from a Figma design or a brief, ready for search engines on launch day, in Arabic, English or both. I build SEO landing pages for Ejad Solutions clients, and the motion on this site is the kind of interaction I add when a page calls for it. Stack: Next.js, Nuxt, React, TypeScript, Tailwind CSS, GSAP. - [Full-stack products](https://tareqmozayek.com/en/services#full-stack): When a product needs its back end too, I design the database, build the API and connect it to the interface: NestJS at Ejad Solutions, Laravel and Filament for freelance work. Stack: NestJS, Laravel, Filament, MySQL, PostgreSQL, Redis, Strapi, Docker. ## Projects - **slotsmith** (Author): A headless React component library: every part is a slot you can replace, with finished, accessible fallbacks. Stack: React, TypeScript, TanStack Table, tsup, Vitest. [page](https://tareqmozayek.com/en/slotsmith) · [live](https://slotsmith.dev/) · [source](https://github.com/tmzm/slotsmith) - **Warsha Plus** (Back end + CMS): A platform connecting workshop owners with customers who need professional services. I designed the system and built its complete admin. Stack: Laravel, Filament, MySQL, REST API. [case study](https://tareqmozayek.com/en/work/warsha-plus) - **Notee** (Full stack): An AI assistant for your own documents: upload sources, then ask across them in threads. Stack: Next.js, TypeScript, Strapi, LangChain, OpenAI, Redis, Docker, Zod. [case study](https://tareqmozayek.com/en/work/notee) · [live](https://notee-phi.vercel.app/) · [source](https://github.com/tmzm/notee) - **Pharmacy dashboard** (Frontend): The admin for a pharmacy app: products, orders, prescriptions, coupons, loyalty points and customer messages, on top of its own Laravel API. Stack: Nuxt, Vue, TypeScript, Pinia, Vuetify, UnoCSS, VeeValidate. [case study](https://tareqmozayek.com/en/work/pharmacy-dashboard) · [source](https://github.com/tmzm/moafa_nuxt) - **Pharmacy API** (Back end): The Laravel 11 API behind the dashboard: catalogue, orders, prescriptions, coupons, loyalty points, messages and token authentication, plus the endpoints customers use. Stack: Laravel, PHP, MySQL, Passport, REST API. [case study](https://tareqmozayek.com/en/work/pharmacy-api) · [source](https://github.com/tmzm/moafa_laravel) - **Company landing page** (Frontend): A fast, easily extended marketing site for a company. Stack: Next.js, TypeScript, Tailwind. [case study](https://tareqmozayek.com/en/work/company-landing) · [live](https://landing-page-t.netlify.app) · [source](https://gitlab.com/tareqmozayek/landing-page-t) ## slotsmith A headless React and TypeScript component library: every part is a slot you can replace, with finished, accessible fallbacks. Components: data table, autocomplete, file uploader and date picker. Version 1.8.1, ISC licence. The data table was first published as @slotsmith/table, now deprecated in favour of the slotsmith package. slotsmith-ai is its companion MCP server for coding agents. - [Docs](https://slotsmith.dev/) - [GitHub](https://github.com/tmzm/slotsmith) - [npm](https://www.npmjs.com/package/slotsmith) ## Posts Mostly written in Arabic; each page has an English summary. - [Headless or styled? Why I built a React component library where every part is a slot](https://tareqmozayek.com/en/posts/headless-or-styled-slotsmith) (2026-10-14): Styled libraries fight custom designs; headless ones make you rebuild the same markup on every project. How slotsmith sits between them, with a finished, accessible fallback behind every replaceable part, and what was hard to get right. - [Microservices in the frontend: do we really need them?](https://tareqmozayek.com/en/posts/frontend-microservices-monorepo) (2026-04-11): Micro-frontends pay off for big apps with several teams. For most projects a monorepo, or simply a modular structure inside one app, gets the benefits without the overhead. - [Real-time Laravel: Reverb vs Pusher](https://tareqmozayek.com/en/posts/laravel-reverb-vs-pusher) (2026-03-15): I pushed live updates from back end to front end with Laravel Reverb instead of polling. When running your own WebSocket server beats a managed service, and when it doesn’t. - [Beyond CSS animation: GSAP ScrollTrigger and timelines](https://tareqmozayek.com/en/posts/gsap-scrolltrigger-timelines) (2026-03-06): CSS animations cover simple effects. For scroll-linked, pinned and sequenced interactions, GSAP’s ScrollTrigger and timelines give a level of control CSS alone can’t. - [Choosing a React UI library: shadcn/ui, Chakra, MUI or Ant Design](https://tareqmozayek.com/en/posts/react-ui-libraries) (2026-02-25): What each of the four libraries I’ve used is good at, and why the right pick depends on the project, the team, how much control you need and how fast you have to ship. - [Laravel API docs without annotations: l5-swagger vs Scramble](https://tareqmozayek.com/en/posts/laravel-api-docs-scramble) (2026-02-11): With l5-swagger you annotate every controller, method, parameter and response. Scramble reads your controllers, form requests and validation rules and writes the docs itself. - [auth()->user() is null in Laravel? Check the middleware](https://tareqmozayek.com/en/posts/laravel-auth-user-null) (2026-02-10): A friend’s API returned a null user despite a valid bearer token. Sanctum and Passport don’t fill auth()->user() on their own; their middleware does. Learn the lifecycle before leaning on Laravel’s magic. - [Why Next.js only lets Server Actions set cookies](https://tareqmozayek.com/en/posts/nextjs-cookies-server-actions) (2026-02-09): Moving auth to the server hit “Cookies can only be modified in a Server Action or Route Handler”. The answer was Set-Cookie: only code that sends a response back to the browser can change a cookie. ## Experience - 2026 → now: Back end · Ejad Solutions. APIs and business logic in NestJS. - 2024 → now: Frontend · Ejad Solutions. Vue, Nuxt, React and Next.js apps; SEO landing pages and CMS builds for clients. - Freelance: Warsha Plus. Architecture, database and the full Laravel + Filament CMS. - Aug 2026: BSc IT, Software Engineering. Damascus University · graduated 24 Aug 2026 ## Skills - Frontend: React, Next.js, Vue, Nuxt, Angular, Astro, TypeScript, JavaScript - UI: Tailwind CSS, shadcn/ui, Radix, MUI, Chakra UI, Vuetify - Data & forms: TanStack Query, TanStack Table, TanStack Virtual, React Hook Form, Zod, Pinia, nuqs - Motion: GSAP, Motion, Lenis, WebGL (OGL), Three.js - Back end: Laravel, Filament, NestJS, Express, Parse Server, Firebase, REST APIs - Data: MySQL, PostgreSQL, Redis - Content: next-intl, Nuxt i18n, RTL / Arabic, Tiptap, Strapi, WordPress - Quality: Vitest, Playwright, Testing Library, MSW, Sentry, SEO, Web performance, Docker, Git, tsup ## Contact - Email: tareqmozayek@gmail.com - Phone / WhatsApp: +963 954 608 960 - [LinkedIn](https://www.linkedin.com/in/tareq-al-mozayek-3ab2603a9/) - [GitHub](https://github.com/tmzm) - [npm](https://www.npmjs.com/~tmzm) - [GitLab](https://gitlab.com/tareqmozayek) - [Medium](https://medium.com/@tareqmozayek) - [CV (PDF)](https://tareqmozayek.com/cv.pdf)