Work / Tourism · Egypt · 2026
Tourism platform built end to end as a custom WordPress theme
A destination needed one platform covering everything a visitor does, from where to stay to local activities. I prototyped the interface, built it as a custom WordPress theme with a custom plugin, entered the content and launched it. Every section is editable from the dashboard without code.
- Role
- Solo: interface prototype, WordPress development, content and launch
- Date
- 09/2026
- Stack
- Custom: Theme, Plugin, Gutenberg blocks with SCF fields · Configured: Secure Custom Fields (SCF)
- Result
- Lab LCP 1.0 s desktop / 3.5 s mobile, CLS 0.001 (PageSpeed Insights, Oct 2026); mobile work in progress
- Status
- Live · dahab360.net


More pages from this project
Context and problem
The client wanted one site for the destination, covering accommodation, local activities and everything in between, that their team could keep up to date.
My role
I worked alone: interface prototype, theme and plugin development, content entry and launch.
What I built
- A custom WordPress theme (no page builder).
- A custom plugin for the site’s content types.
- Editable Gutenberg blocks and custom fields with Secure Custom Fields (SCF), so every section is managed from the dashboard.
How the project ran
We agreed the content model before building, then handled the client’s feedback in short review rounds until launch.
Editor experience
Every page section is a block with its own fields. The client edits text, images and listings in the WordPress editor without code.
Next step
Mobile performance is the open item: mobile LCP is 3.5 s in lab tests, and I’m working to bring it under the 2.5 s “good” threshold.
Results
| Metric | Desktop | Mobile |
|---|---|---|
| Largest Contentful Paint (LCP) | 1.0 s | 3.5 s |
| First Contentful Paint (FCP) | 0.8 s | 3.2 s |
| Total Blocking Time (TBT) | 0 ms | 0 ms |
| Cumulative Layout Shift (CLS) | 0.001 | 0 |
| Speed Index | 0.8 s | 4.7 s |
Lab data from Lighthouse via PageSpeed Insights, home page, October 2026. Field data (real users, including INP) is not available yet; TBT is the lab stand-in for responsiveness.



