The original site was a custom-coded, multi-page project with a vast amount of content, ranging from accommodation listings and image carousels to custom forms and styled tables. Unfortunately, managing content required diving into the codebase—making updates tedious and inaccessible for non-technical users. The client needed a way to modernize the build, preserve the design and structure, and make future updates easier for their team.
The site also initially lacked responsive design, making it difficult to navigate on mobile devices—a major issue in today’s mobile-first world.I rebuilt the site from the ground up in WordPress, developing a custom theme that matched the original look and feel while offering far greater flexibility and control. Key development highlights include:
- Translated all existing page designs into dozens of new WordPress templates and reusable blocks.
- Created custom post types, fields, and admin UI to make content entry intuitive.
- Built a mega menu with jQuery and added image carousels and info cards for engaging visuals.
- Converted complex content into styled HTML tables and improved accessibility.
- Implemented a sitewide search and integrated dozens of custom forms.
- Color-matched all page elements and optimized fonts, icons, and images.
- Provided onboarding and training so the client could take full ownership of the site going forward.
A major focus of the rebuild was mobile optimization. The original site wasn’t responsive, which led to poor usability on phones and tablets. I redesigned every layout, menu, and interaction to scale fluidly and perform beautifully across all screen sizes.
I'm impressed with everything I accomplished and learned during my work on this project:
- A successful rebuild doesn’t just replicate—it improves the original.
- User-focused admin experiences are just as important as front-end design.
- WordPress can handle complex sites with the right structure and custom development.
- Small touches like consistent theming, search, and accessibility add long-term value.