/* === ROAR pages === */ const { useState: useState_p, useMemo: useMemo_p, useEffect: useEffect_p } = React; /* ========================= HOME ========================= */ function HomePage({ setRoute, openEnquiry }) { const featured = ['ajman-rulers-court', 'ora-nursery', 'dmcc-hq-dubai', 'mezza-house', 'sjp-sarah-jessica-parker', 'al-barari-villa'] .map(id => PROJECTS.find(p => p.id === id)).filter(Boolean); const hero = PROJECTS.find(p => p.id === 'ajman-rulers-court'); // Sector tile counts const sectorCounts = useMemo_p(() => Object.fromEntries( SECTORS.map(s => [s.id, PROJECTS.filter(p => p.sector === s.id).length]) ), []); return (
{/* ============ HERO ============ */}
Roar · Interior Design & Architecture · Dubai · est. 2013

Fifty percent wild.
Fifty percent tame.

We are a Dubai studio of architects, designers and one resident psychologist — making rooms for governments, hospitality groups, schools, restaurants and the people who live in them.

Photographed →
Ajman Ruler's Court
Government, UAE Photo credit · client to confirm
{/* ============ SECTOR STRIP ============ */}
{SECTORS.map((s, i) => ( setRoute({ page: 'projects', sector: s.id })}> 0{i + 1} {s.name} {sectorCounts[s.id]} projects ↗ ))}
{/* ============ MANIFESTO BAND ============ */}
The studio

The work is the brief.
Everything else is
noise.

Roar is an award-winning interior design and architecture studio in Dubai, founded in 2013 by architect Pallavi Dean. We work across seven sectors — commercial, F&B, hospitality, education, residential, retail and product — for clients ranging from federal governments to ten-table restaurants.

The "fifty / fifty" rule is literal: every project runs alongside a wellbeing psychologist who joins us on the brief. Half evidence, half instinct — the bit that makes a building feel like something.

* project / headcount figures from interviews — client to confirm at build

{/* ============ FEATURED CASE STUDIES ============ */}
The portfolio
is the pitch.} link="All 30+ projects" onLinkClick={() => setRoute({ page: 'projects' })} /> {/* Big alternating feature blocks */}
{featured.slice(0, 3).map((p, i) => (
setRoute({ page: 'project', id: p.id })} style={{ cursor: 'pointer' }}> {p.name}
{SECTORS.find(s => s.id === p.sector)?.name} · {p.location}

{p.name}

{p.headline}

setRoute({ page: 'project', id: p.id })}> Read the case study
))}
{/* Grid of more */}
{featured.slice(3).map(p => ( setRoute({ page: 'project', id: p.id })} /> ))}
{/* ============ AWARDS + PRESS ============ */}
Quietly,
loudly recognised.} dark />
{AWARDS.map((a, i) => (
{a.year}
{a.name}
{a.issuer} · attributed to {a.who}
CONFIRMED ✓
))}

ALL AWARDS ATTRIBUTED TO PALLAVI DEAN — CONFIRM EXACT NAMES/YEARS WITH CLIENT BEFORE LAUNCH.

Press features
{PRESS.map((p, i) => (
{p.name}
{p.detail}
))}
Recent talks
{SPEAKING.map((s, i) => (
{s.year} {s.event} {s.city}
))}
{/* ============ FOUNDER TEASER ============ */}
The Pack

Led by
Pallavi Dean.

Founder & Creative Director. Architect by training; design-juror, Clerkenwell Design Week and Dezeen Awards speaker by reputation. Architectural Digest Middle East named her Designer of the Year.

Behind her: a studio of ~35 designers ("the Pack"), a resident wellbeing psychologist, and a quiet, careful insistence that the work outlasts the trend.

setRoute({ page: 'studio' })}> Meet the studio
{/* Founder portrait placeholder — client to supply */}
{/* ============ CTA BAND ============ */}
Have a brief?

Let's roar.

A first conversation is free. A first sketch usually follows within ten days.

Or email us
); } function Stat({ n, l, caveat }) { return (
{n}{caveat && *}
{l.toUpperCase()}
); } function PortraitPlaceholder({ label }) { return (
{label}
); } /* ========================= PROJECTS (portfolio hub) ========================= */ function ProjectsPage({ setRoute, initialSector }) { const [active, setActive] = useState_p(initialSector || 'all'); const filtered = active === 'all' ? PROJECTS : PROJECTS.filter(p => p.sector === active); useEffect_p(() => { if (initialSector) setActive(initialSector); }, [initialSector]); return (
Projects · 30 selected · 350+ delivered

The work.

Filter by sector. Each tile is a real, completed project; click through for the brief, the concept, the material story and the outcome.

{SECTORS.map(s => { const ct = PROJECTS.filter(p => p.sector === s.id).length; return ( ); })}
{filtered.map(p => ( setRoute({ page: 'project', id: p.id })} /> ))}
{filtered.length === 0 && (

No projects in this sector yet.

)}
); } /* ========================= PROJECT DETAIL (case study) ========================= */ function ProjectDetailPage({ id, setRoute, openEnquiry }) { const p = PROJECTS.find(x => x.id === id) || PROJECTS[0]; const sector = SECTORS.find(s => s.id === p.sector); // Pick 4 related projects in the same sector (excluding self) const related = PROJECTS.filter(x => x.sector === p.sector && x.id !== p.id).slice(0, 3); // Use other project images as the gallery (placeholder galleries — see brief) const galleryImages = PROJECTS .filter(x => x.sector === p.sector && x.id !== p.id) .slice(0, 4) .map(x => x.img); while (galleryImages.length < 4) galleryImages.push(p.img); useEffect_p(() => { window.scrollTo({ top: 0, behavior: 'instant' }); }, [id]); return (
{p.name}
{sector?.name} · {p.location} {p.confidential && NDA · client clearance}

{p.name}

Sector {sector?.name}
Location {p.location}
Year CTC
Scope {p.scope}

{p.headline}

{/* === Chapters: brief / concept / materials / outcome === */}
{/* Inset image */}

GALLERY 01 — PHOTOGRAPHER CREDIT TO CONFIRM

{/* 2-up gallery */}
{/* === Credits + CTA === */}
Credits

ALL THIRD-PARTY PHOTOGRAPHY — PUBLICATION RIGHTS TO BE CONFIRMED BEFORE LAUNCH.

Planning something
in the same register?

Tell us about the brief — site, programme, ambition. We'll come back inside one working day.

{/* === More in this sector === */}
Sister
projects.} link={`All ${sector?.name} →`} onLinkClick={() => setRoute({ page: 'projects', sector: p.sector })} />
{related.map(r => ( setRoute({ page: 'project', id: r.id })} /> ))}
); } function Chapter({ num, title, body }) { return (
CHAPTER {num}

{body}

); } function CreditLine({ k, v }) { return (
{k}
); } /* ========================= SECTORS hub ========================= */ function SectorsPage({ setRoute }) { return (
Sectors · seven categories of work

What we
do.

{SECTORS.map((s, i) => { const samples = PROJECTS.filter(p => p.sector === s.id).slice(0, 4); return (
setRoute({ page: 'projects', sector: s.id })} style={{ display: 'grid', gridTemplateColumns: '0.4fr 0.6fr 1.2fr', gap: 32, alignItems: 'center', padding: '28px 0', borderTop: '1px solid var(--line)', cursor: 'pointer', }}>
{String(i + 1).padStart(2, '0')}

{s.name}

{s.sub.toUpperCase()}

{SECTOR_BLURBS[s.id]}

{samples.map(p => (
))}
); })}
); } const SECTOR_BLURBS = { commercial: "Workplaces and government interiors for global consultancies, law firms, regulators and federal bodies — designed around how people actually work, with a wellbeing psychologist on the brief.", fnb: "Restaurants and cafés that read on the plate, on the wall and on Instagram — from QSR rollouts to Levantine fine-dining flagships.", hospitality: "Hotels, clubs and wellness flagships that prefer atmosphere to spectacle. Repeat work for IHG-managed properties and regional clubs.", education: "Schools, nurseries and university innovation hubs designed at child-height — used by the Ministry of Education as a reference for early-years policy.", residential: "Private villas and developer show-units across the UAE, Kuwait and India — the same calm, layered detailing the studio is known for, at domestic scale.", retail: "Brand flagships and multibrand stores for retail clients from Mumbai to Manhattan — including the regional flagship for SJP by Sarah Jessica Parker.", product: "Furniture and lighting collaborations with Artemide, Stellar Works, Preciosa and AHEC — the studio's research becoming things you can buy.", }; /* ========================= STUDIO ========================= */ function StudioPage({ setRoute, openEnquiry }) { return (
Studio · founded 2013 · Al Serkal Avenue, Dubai

The Pack.

Roar is the studio of architect Pallavi Dean — Founder & Creative Director. We were founded in 2013 as Pallavi Dean Interiors, and rebranded to Roar in September 2018. Same studio. Same people. New name.

We work from a warehouse in Al Serkal Avenue, Dubai's design district, with around thirty-five designers — what we call the Pack. One of us is a psychologist; one of us is a materials librarian; the rest of us are architects and interior designers.

Roar Studio, Al Serkal Avenue

ROAR STUDIO, AL SERKAL AVENUE — PHOTOGRAPHER CREDIT TO CONFIRM

{/* The 50/50 philosophy */}
The 50/50 philosophy

Fifty wild,
fifty tame.

The "tame" half is the evidence — a wellbeing psychologist on every office project, post-occupancy studies on every workplace, materials sourced from suppliers we can name.

The "wild" half is everything else — the bit that's a hunch, a sketch on a napkin, the courage to paint a whole restaurant dusty rose.

Both halves are non-negotiable.

{/* The Pack — team grid (portraits TBC) */}
People in the
building.} />
{PACK.map((m, i) => (
{m.name}
{m.role}
))}

PORTRAITS & FULL TEAM ROSTER — CLIENT TO SUPPLY.

{/* History */}
Twelve years,
one studio.} dark />
{HISTORY.map((h, i) => (
{h.year} {h.title} {h.body}
))}

Tell us about the
brief.

); } const PACK = [ { name: 'Pallavi Dean', role: 'Founder & Creative Director' }, { name: 'Senior Designer 01', role: 'Associate — Workplace' }, { name: 'Senior Designer 02', role: 'Associate — Hospitality' }, { name: 'Senior Designer 03', role: 'Associate — Residential' }, { name: 'Resident Psychologist', role: 'Wellbeing & Workplace' }, { name: 'Materials Lead', role: 'Library & Sourcing' }, { name: 'Project Director', role: 'Delivery' }, { name: '+ the rest of the Pack', role: '~28 designers, regional' }, ]; const HISTORY = [ { year: '2013', title: 'Pallavi Dean Interiors founded', body: "Architect Pallavi Dean opens her own studio in Dubai after working with HOK, Aedas and Pringle Brandon — early commissions in workplace and residential." }, { year: '2016', title: 'First federal commission', body: 'A federal government interior brings the studio into civic work — the category that now anchors a third of the portfolio.' }, { year: '2018', title: 'Rebrand to "Roar"', body: 'The studio rebrands from Pallavi Dean Interiors to Roar — same entity, sharper voice, the lion and "the Pack" as motifs.' }, { year: '2019–22', title: 'Awards run', body: 'FRAME Global Emerging Designer of the Year (2019), AD ME Designer of the Year (2020), CID Interior Designer of the Year (2020 & 2022), Interior Design "Best of Year" (2021).' }, { year: '2024', title: 'Ajman Ruler\'s Court delivered', body: 'A landmark government interior that becomes the studio\'s most-published project — featured in Dezeen, The National and Work Design Magazine.' }, { year: 'Today', title: 'Seven sectors, one Pack', body: "~35 designers across commercial, F&B, hospitality, education, residential, retail and product. Speaking at Clerkenwell Design Week 2026." }, ]; /* ========================= AWARDS ========================= */ function AwardsPage({ setRoute }) { return (
Awards · Press · Recognition

The receipts.

We don't lead with awards, but they're a fair signal of where the work is judged against. Everything below is attributed exactly to its issuer and year.

Awards All to Pallavi Dean — verify exact crediting

{AWARDS.map((a, i) => (
{a.year}
{a.name}
{a.issuer}
CONFIRMED ✓
))}
Award attribution under review

Ajman Ruler's Court — 2024 award attribution

Some 2024 coverage attributes an "Interior Design — Office" win on the Ajman Ruler's Court project to Roar; the official CID Awards 2024 MENA list records the win under another contracted studio. We present the project, but won't claim a specific award until the issuer's record is reconciled with the client.

Press

{PRESS.map((p, i) => (
{p.style === 'b' ? p.name.toUpperCase().slice(0, 8) : 'FEATURE'}
{p.name}
{p.detail}
))}

Speaking & juries

{SPEAKING.map((s, i) => (
{s.year}
{s.event}
{s.city}
))}
); } /* ========================= CONTACT ========================= */ function ContactPage({ openEnquiry }) { const [sent, setSent] = useState_p(false); const [data, setData] = useState_p({ name: '', email: '', sector: '', message: '' }); const submit = (e) => { e.preventDefault(); setSent(true); }; return (
Meet the Pack

Let's talk.

{/* Form */}

Start a project

A short form to get the conversation moving. We'll reply from contact@designbyroar.com {' '}within one working day.

{!sent ? (
setData({...data, name: e.target.value})} />
setData({...data, email: e.target.value})} />
{SECTORS.map(s => ( ))}