America/Toronto
ProjectsApril 2, 2026

Oxford Properties Corporate Website Reskin

image
Category
Details
ClientOxford Properties Group
Project TypeCorporate website reskin and platform modernisation
Duration4 months
Team Size4 core members: Project Manager, 2 Developers, UX/UI Designer
Tech StackNext.js, Headless CMS, Search, CI/CD, React, Tailwind CSS
DeliveryFull in-house end-to-end delivery
Oxford Properties' corporate website reskin was a full platform modernisation, delivered entirely in-house. Working as a small team of two developers and a UX/UI designer, we replaced the legacy site with a modern stack built on Next.js, a headless CMS, search infrastructure, and a cloud hosting platform. Throughout the engagement, we worked in close collaboration with the brand and communications stakeholders to ensure every design and content decision aligned with Oxford's brand standards. This was a lean, cross-functional team operating across both delivery and stakeholder management:
  • Neal Miran, Project Manager & Developer: Led the end-to-end delivery, including architecture decisions, sprint planning, CI/CD pipeline setup, and developer coordination.
  • 2 Developers: Responsible for front-end implementation across the component library, CMS module builds, and search integration.
  • UX/UI Designer: Owned the visual design and brand translation, working closely with the development team through an iterative design-to-development handoff process established during the project.
  • Brand & Communications stakeholders: Key collaborators throughout the project, providing content direction, reviewing design decisions, and becoming the primary users of the CMS post-launch.
  • In-House Delivery: Managed the full project lifecycle internally, from architecture decisions and sprint planning through to production cutover, reducing reliance on external agency partners.
  • Modern Component Library: Built a React and Tailwind CSS component library, giving content teams a consistent set of UI patterns and accelerating future content updates.
  • CMS-Driven Content: Integrated a headless CMS as the content layer, empowering communications and marketing teams to manage and publish content independently without developer intervention.
  • Property Search: Integrated a search and caching layer for the property search experience, enabling fast, responsive filtering of Oxford's commercial portfolio.
Next.jsNext.js: Core front-end framework, enabling server-side rendering, static generation, and optimised performance at scale.
Headless CMSHeadless CMS: Structured, flexible content management enabling the marketing team to publish independently.
Search & Caching LayerSearch & Caching Layer: Decoupled property search from upstream data sources, enabling fast, filtered results.
Cloud Hosting & CI/CDCloud Hosting & CI/CD: Branch-based preview deployments and a managed production environment.
React & Tailwind CSSReact & Tailwind CSS: Component library foundation for building consistent, reusable UI patterns across the site.
This project presented a unique combination of technical and organisational challenges that made estimation and planning particularly demanding. Much of the work had no historical precedent inside Oxford. We were estimating effort for a type of delivery the team had never done before in-house. Defining a credible four-month timeline required breaking the project into discrete modules, stress-testing assumptions early, and building in buffer for the unknowns we knew we'd encounter. A significant portion of the work involved auditing, redesigning, and reimplementing existing Agility CMS modules to align with the new brand. This wasn't a lift-and-shift. Many modules required structural changes to their content models alongside the visual updates, which added complexity that wasn't always visible upfront. A recurring challenge was dealing with modules reused across multiple page types that needed to behave or appear differently depending on context. A single module might serve one purpose on a property listing page and a different purpose on a regional hub page. Identifying these divergences early, and deciding whether to extend an existing module or introduce a variant, was a constant judgement call that affected both scope and delivery pace. The rebrand introduced a new design language that required building a CSS structure from scratch rather than extending the existing one. Establishing consistent design tokens, utility patterns, and component-level styles that could scale across the full site took careful planning in the early sprints. This was the first time the team worked with a UX/UI designer in a structured, iterative way. Defining handoff conventions, feedback loops, and what "ready for development" meant took deliberate effort at the start, but once established it became a repeatable model for the rest of the project. A significant architectural constraint required all development work to coexist within the same content environment as the live site. This meant careful coordination with stakeholders to control publishing activity during the build period, while still maintaining regular visibility into progress. The production cutover went as planned with no downtime. Careful sequencing of deployment configurations and contingency planning ensured a clean go-live. The reskin launched on time and has modernised Oxford's digital presence with a scalable, maintainable platform. The in-house delivery model proved the team's ability to own a project of this scale end-to-end, and the collaboration model with brand and communications stakeholders has since become a blueprint for future digital initiatives. The structured schema work contributed to improved organic visibility, and the component library has significantly reduced onboarding time for future contributors. The project also surfaced an opportunity to get significantly more value out of Agility CMS than the team had previously. Two editor-facing features were implemented as part of the reskin:
  • Web Preview: Enabled inline content previewing directly on the page. The preview mode tracks editable fields and highlights them in context. Clicking on a field takes the editor directly to that field in the CMS, making content changes more intuitive and eliminating the guesswork of finding where data lives.
  • Show Modules Toggle: Added a toggle that labels each module on the page, clearly indicating which CMS module is responsible for each section of content. This gave editors a much clearer mental model of the page structure and reduced support requests from the marketing team around content management.
Both features meaningfully improved the day-to-day experience for content editors and strengthened the team's relationship with stakeholders by making the CMS feel less like a black box.

Related projects

IT Demand Intake Application

IT Demand Intake Application

A self-service IT demand intake application built on Power Apps, Power Automate, and SharePoint — giving the entire organisation a structured channel for submitting IT requests through a multi-stage approval workflow covering intake, team assignment, estimation, and sign-off. CI/CD through Azure DevOps, reporting through Power BI.
Ford Web Scraper — Price Comparison Tool

Ford Web Scraper — Price Comparison Tool

A Python and Selenium web scraper that navigates both ford.ca and fordtodealers.ca, extracts trim-level pricing for every model, and delivers a daily comparison email via Gmail — containerised with Docker, hosted on Azure Container Instances, and triggered once a day by Azure Logic Apps.

Transparency & Insights — Automated Data Ingestion Pipeline

An end-to-end automated ingestion pipeline for financial and non-financial data submitted by third-party property managers — built with SSIS, a custom SQL database, a two-stage validation engine, and a custom web portal — replacing a fully manual, email-driven process and connecting directly into JD Edwards.