Summary

Information about projects/oracle fm page.

Start Conversation
Oracle FM Website — One contractor. Multiple disciplines. Zero downtime.

Oracle FM Website

Corporate website for a tech-enabled, multi-disciplinary FM contractor—from discovery to launch

Client: Oracle Managed Services (Oracle FM) • oraclefm.com

Discovery to Launch: One Contractor, Multiple Disciplines, Zero Downtime

Oracle FM needed a modern, content-driven website to serve enterprise clients, showcase services and sectors, support lead generation, and give content teams the ability to update copy and structure without developer dependency. The solution combined a Next.js front end, a Git-based CMS with GitHub as the source of truth, and Netlify for hosting and previews—enabling both terminal-based development and editor-friendly content workflows from a single codebase.

GitHub as CMS

Content in repo with PR-based workflow; editors use CMS UI that writes via GitHub API. Single source of truth and full history.

Oracle Assistant & AI Omnibox

Site-wide AI assistant (Google Generative AI) plus command palette for search, questions, tools, and quick actions in one surface.

Netlify + Next.js

Static/SSG with API routes for forms and CMS write-back; Netlify for Git integration, serverless/edge, and preview deploys.

Discovery & Goals

Brand & positioning

Present Oracle FM as “one contractor, multiple disciplines—zero downtime,” trusted by global workplace providers for compliance, maintenance, projects, and building safety.

Audience

Enterprise clients (CBRE, JLL, Rendall & Rittner, NHS Estates), facilities managers, and procurement leads seeking compliance visibility and project delivery.

Conversion

Drive demo requests, resource downloads (e.g. “Facilities Manager’s 2026 Compliance Pack”), and contact enquiries.

Differentiation

Highlight the AI Compliance Portal (live dashboards, predictive alerts, automated reporting) and the in-site Oracle Assistant for instant, context-aware answers.

Strategy & Architecture

Content model

  • Site-wide: content/site.json — name, description, siteUrl, nav, OG image, organisation schema, AI Compliance Portal copy.
  • Page-level: One JSON per page (e.g. homepage, about, services) with hero, CTAs, section copy.
  • Page structure: content/page-components.json — ordered component instances per page for non-developer reordering.
  • Blog: Markdown in content/blog/ with frontmatter, validated via Zod.

GitHub as CMS

Challenge

Editors needed to edit content without touching code; PR-based workflow and preview deploys were required for review before publish.

Solution

Content lives in the same repo. Developer workflow: edit in IDE, validate, commit, push; Netlify builds. Editor workflow: CMS UI reads/writes via app APIs using GitHub API; edits create a branch and open a PR. Review and merge in GitHub; Netlify deploys from main.

Development Phases

Discovery

Goals, audience, content structure

Brand positioning, conversion goals, content types (marketing, verticals, resources, product, legal). Technical constraints: CMS without code, static/SSG, Netlify, Next.js + HeroUI + Tailwind.

Strategy

Content model & CMS

JSON + page-components model; GitHub as CMS with branch/PR workflow; sync scripts for developers.

Design & UX

Design system & key features

HeroUI v2, Tailwind, Framer Motion. Oracle Assistant, command menu, responsive layout, page builder pattern. AI tools and AI omnibox design.

Build

Implementation

PageComponentRenderer, CMS APIs, forms/booking with Netlify DB (Neon), Resend, Google Generative AI for assistant.

Content & QA

Authoring and validation

CMS authoring with pre-save Zod validation; pre-push validate:content; full route and form testing.

Launch

Go-live & post-launch

Push to main → Netlify build → publish. DNS to Netlify. Post-launch: sync workflow for devs, PR workflow for editors, build control via netlify-ignore.

Key Features: AI Tools & AI Omnibox

AI-powered tools

The site ships AI-powered tools for facilities managers: Fire Risk Estimator, Fire Alarm System Sizer, Waking Watch Calculator, PPM Cost Calculator, BSR Readiness Checker, Image Upload Compliance Check. Tool definitions live in content/aitools.json. Users can run tools from the AI Tools hub or inside the AI omnibox without leaving the modal.

AI omnibox (command menu)

Single global bar (⌘K / Ctrl+K or navbar icon): search the site, ask the Oracle Assistant, run a tool, or complete a quick action. Single input supports navigation/search, conversational queries (routed to /api/assistant), and calculation intent. Quick actions (Book a Survey, Request a Demo, Download Compliance Pack, etc.) open forms inline. Prompt chips and suggestion chips guide users. Tool runner and result panel live inside the same modal.

Content flexibility vs. safety

Challenge

Editors need to reorder sections and edit copy without full redeploys or breaking the site.

Solution

Page-component JSON plus Zod validation on save and pre-push. CMS edits create a PR; invalid content never gets committed. Single source of truth in the repo.

Technology Stack

Framework & UI

  • Next.js 15 (Pages Router)
  • TypeScript
  • HeroUI v2
  • Tailwind CSS 4
  • Framer Motion
  • next-themes

Content & CMS

  • JSON + Markdown in repo
  • GitHub API for CMS writes
  • Zod validation
  • page-components.json

Backend & hosting

  • Netlify
  • Netlify DB (Neon Postgres)
  • API routes (forms, booking, CMS)

Integrations

  • NextAuth (CMS/admin)
  • Resend (email)
  • Google Generative AI (Oracle Assistant)

Scripts & Workflows

  • npm run sync— Fetch origin, pull main when worktree clean
  • npm run validate:content— Validate all content JSON and blog frontmatter (Zod)
  • npm run db:migrate— Run Neon/Postgres migrations
  • npm run build— Next.js production build (Netlify)

Technical Challenges & Solutions

Two workflows, one source of truth

Terminal-based development and CMS-based content updates coexist: developers sync and validate; editors edit via CMS → branch + PR → review → merge. Single repo, full history, no staging content store.

Intent in one input

Omnibox unifies search, assistant questions, tool execution, and quick actions. Intent detection routes natural language to the right handler (answer, tool, or action) so users don’t need separate entry points.

Outcomes & Takeaways

Single repo

Two workflows

Dev + editor workflows with one source of truth and clear sync steps

Content as data

Page builder

JSON + page-components enable flexible composition and schema-validated updates

Launch ready

Validation & PR

Zod validation and PR-based content review for repeatable launch path

Differentiation

AI front & centre

Oracle Assistant and AI Compliance Portal embedded from hero to dedicated pages

The Oracle FM website delivers a modern, content-driven experience that serves enterprise clients, supports lead generation, and gives content teams the ability to update copy and structure without developer dependency. GitHub as CMS, Netlify, and the AI omnibox provide a repeatable path from discovery to launch and ongoing iteration.

Experience the site

Visit the live website to see the Oracle Assistant, AI tools, command menu, and content-driven structure in action.

Visit oraclefm.com