A portfolio is a strange project. It has to be small enough to stay fast, but complete enough to show how you think. It has to work in two languages without feeling like two separate sites. And it has to be easy to update, because the work it describes will keep changing.
This site is the result of those constraints. It is a static Next.js export with English at / and Arabic at /ar , two root layouts, a typed content model, and a design system built around one accent color. Here is how the pieces fit together.
Start with the constraint, not the stack
The first decision was not “which framework?” It was “what must be true when this is finished?” The answers were simple: both languages must be first-class, the site must load quickly on a phone, search engines must be able to read every page, and deployment must not require a server.
That ruled out a client-rendered single-page app for the public pages. It also ruled out any architecture where Arabic was an afterthought added through a translation layer.…