// Home page
function Home({ onNav, tweaks }) {
const { PROJECTS, SERVICES, AWARDS, TESTIMONIALS, SECTORS, SECTOR_COUNTS } = window.DI;
const featured = PROJECTS.filter((p) => p.featured);
const heroes = ["media/hero-01.webp", "media/hero-02.webp", "media/hero-03.webp"];
const [heroIdx, setHeroIdx] = useState(0);
const [testimonialIdx, setTestimonialIdx] = useState(0);
const heroMode = tweaks?.heroMode || "slider";
useEffect(() => {
if (heroMode !== "slider") return;
const id = setInterval(() => setHeroIdx((i) => (i + 1) % heroes.length), 6000);
return () => clearInterval(id);
}, [heroMode, heroes.length]);
return (
{/* HERO */}
{/* Background */}
{heroMode === "slider" && heroes.map((src, i) => (
))}
{heroMode === "still" && (
)}
{heroMode === "video" && (
)}
{/* Vignette */}
{/* Content */}
Dubai · Abu Dhabi · est. 2012
Designed, made and
built
. One contract.
A one-stop shop for fit-out and interior design — design + build, turnkey,
with seven manufacturing divisions under our roof in Dubai Investment Park.
onNav("contact")}>Start a project
onNav("projects")}>See projects
Currently in build
Odoo Dubai South — 90,000 sq ft corporate HQ across six in-house divisions.
onNav("project:odoo")}
style={{ marginTop: "1rem", background: "transparent", border: 0, color: "var(--paper)", fontFamily: "var(--font-mono)", fontSize: "0.7rem", letterSpacing: "0.14em", textTransform: "uppercase", padding: 0, display: "inline-flex", alignItems: "center", gap: "0.5rem" }}>
View case study
{/* Hero slider dots */}
{heroMode === "slider" && (
{heroes.map((_, i) => (
setHeroIdx(i)} aria-label={`Hero slide ${i + 1}`}
style={{ width: i === heroIdx ? 32 : 16, height: 2, background: i === heroIdx ? "var(--paper)" : "rgba(255,255,255,0.4)", border: 0, padding: 0, transition: "width 300ms ease" }}>
))}
)}
{/* STAT BAND */}
Years
13+
of design and delivery
Completed
1,200+
commercial projects
Team
1,400+
across studio, factory & site
Production
100ksf
in-house manufacturing footprint
{/* SELECTED PROJECTS */}
Selected projects · 2022 — 2024
Real briefs. Real sectors. Built by the people who designed them.
onNav("projects")}>All projects
{/* Asymmetric showcase grid */}
{/* Odoo - hero card */}
{/* SECTORS MARQUEE */}
{[...SECTORS.filter((s) => s.key !== "all"), ...SECTORS.filter((s) => s.key !== "all")].map((s, i) => (
{s.label}
))}
{/* SERVICES */}
Capabilities
Six services. One accountable team.
Built around a single contract for design AND build. Every service below is delivered by an in-house
division — so the people who quoted your project also fabricate, install, and stand behind the 2-year DLP.
{SERVICES.map((s) => (
e.currentTarget.style.background = "var(--mist)"}
onMouseLeave={(e) => e.currentTarget.style.background = ""}>
{s.num}
))}
{/* IN-HOUSE TEASER */}
● The differentiator
100,000 sq ft of in-house manufacturing in Dubai Investment Park.
Joinery, glass, metal, signage, furniture, MEP, and Fire-Life-Safety — seven divisions, one yard.
We don't sub-contract the things that decide whether a fit-out lands on programme.
onNav("in-house")}>How we deliver
{[
{ num: "40k", label: "Glass · Metal · Signage", sub: "2025 factory" },
{ num: "7", label: "In-house divisions", sub: "MEP to FLS" },
{ num: "2yr", label: "Defect liability", sub: "all turnkey projects" },
].map((s) => (
{s.num}{s.num === "2yr" ? "" : "+"}
{s.label}
{s.sub}
))}
Workshop · DIP, Dubai
{/* TESTIMONIALS */}
“ {TESTIMONIALS[testimonialIdx].quote}”
{TESTIMONIALS[testimonialIdx].name}
{TESTIMONIALS[testimonialIdx].role} · {TESTIMONIALS[testimonialIdx].org}
{TESTIMONIALS.map((t, i) => (
setTestimonialIdx(i)}
style={{
textAlign: "left", background: i === testimonialIdx ? "var(--mist)" : "transparent",
border: 0, borderLeft: i === testimonialIdx ? "1px solid var(--accent)" : "1px solid var(--line)",
padding: "1rem 1.25rem", transition: "all 150ms",
}}>
{t.org}
{t.name.split(" ")[0]} {t.name.split(" ")[1]?.charAt(0)}.
))}
{/* AWARDS */}
Recognised work — attributed
{AWARDS.length} awards · 2018 — 2026
{AWARDS.map((a) => (
{a.year}
{a.name}
{a.issuer}
))}
);
}
function FeaturedCard({ project, onNav, span = 4, aspect = "3/4" }) {
return (
);
}
Object.assign(window, { Home });