Firmen Law
A Dubai law firm's site: two languages, consultation booking, a legal blog.
Next.js · React · TypeScript · Tailwind CSS · shadcn/ui · Radix UI
See the screensThe public face of your business, built to load fast and be found.
The site people open before they decide to trust you. I set the structure, build the pages, and make sure search engines and phones both read it properly.
A website is the first thing most people check before they contact you. It has one job: make the next step obvious.
The design is the visible part. The harder part is everything under it. Pages have to load quickly on a slow phone. Search engines need clean structure and real metadata. Text has to be editable by you, not by me, every time it changes. Forms have to reach your inbox and resist spam. Two languages mean two directions on the page, and layouts that hold in both.
I build sites with Next.js and Tailwind, and render pages on the server so they arrive complete. Where you need to edit content yourself, I add an admin area for it. Where you need bookings, payments or a blog, those are built into the site rather than bolted on.
We talk until I can describe your idea back to you correctly.
We start with a conversation, in English, French or Arabic. You describe the idea in your own words. I ask questions about who it is for, what they do today, and what you want to happen. I write down what I heard and send it back for you to correct.
What you have at the endA written idea brief: the goal, the user, the assumptions, and what success means.
I find out what already exists and where it leaves people stuck.
I go through the products your users already use, free and paid. I read what people complain about in reviews, forums and support threads. I look at how competitors charge. Then I write down the gaps that are real, and the ones that are not worth chasing.
What you have at the endA market and competitor report, with the gaps ranked and the evidence linked.
We decide what the product is, and you see it before it is built.
I turn the gaps into a product you can actually see. First the shape: what it does, who logs in, what each screen is for. Then clickable screens you can open on your phone. You use them, tell me what feels wrong, and I change it before any code exists.
What you have at the endA clickable prototype of the main screens, plus the agreed feature list.
The build gets broken into phases, each with its own scope and price.
A big build in one piece is where projects go wrong. So I split it into phases. Each phase has its own scope, its own price and its own working result. You approve one phase before it starts. You are never asked to commit to the whole thing at once.
What you have at the endA phase plan: scope, price and result for each phase, in writing.
The product gets built in order, and you see it working every week.
I build phase by phase, starting with the part that carries the most risk. Every week there is a real link you can open and use. Nothing is hidden until the end. When something takes longer than I said, you hear it from me first.
What you have at the endA working product on a live link, updated every week, with the code in a repository you own.
The product goes live, and I stay until it is genuinely right.
Going live is a stage, not a finish line. I move it to your domain and accounts, watch the first real users, and fix what they hit. Then I hand over what you need to run it. If you want me to keep going, I stay.
What you have at the endThe live product on your domain, with accounts, code and a short handover guide.
A Dubai law firm's site: two languages, consultation booking, a legal blog.
Next.js · React · TypeScript · Tailwind CSS · shadcn/ui · Radix UI
See the screensA Rabat law practice's site, written in Arabic and in English alike.
Next.js · React · TypeScript · Tailwind CSS · shadcn/ui · Radix UI
See the screensA restaurant and cafe site in Meknes, built on the menu and table booking.
Next.js · TypeScript · Tailwind CSS · shadcn/ui · Framer Motion · Vercel
See the screensIf you are not sure which of these your idea is, that is a normal question and a good reason to talk.