Run a {ind.title.toLowerCase()} business? Let's talk.
Request a scoping call
);
}
/* ---------- INDUSTRIES INDEX ---------- */
function IndustriesIndexPage() {
const crumbs = [{ path: '/', label: 'Home' }, { path: '/industries', label: 'Industries' }];
useSEO({
title: 'Industries we serve — Genesis DMA',
description: 'Genesis DMA works with medspas, dental practices, home services, healthcare, B2B professional services and franchise operators.',
path: '/industries',
jsonLd: [ldOrganization(), ldBreadcrumb(crumbs)],
});
const inds = Object.values(window.INDUSTRIES);
return (
Industries we know cold.
We do not take every engagement. These are the verticals where we can move in week one because the problems — marketing, sales, ops — are ones we have already solved.
);
}
/* ---------- WORK INDEX ---------- */
function WorkIndexPage() {
const crumbs = [{ path: '/', label: 'Home' }, { path: '/work', label: 'Work' }];
useSEO({
title: 'Work & case studies — Genesis DMA',
description: 'Engagements where we owned the outcome. Case studies from home services, medspa and B2B professional service clients.',
path: '/work',
jsonLd: [ldOrganization(), ldBreadcrumb(crumbs)],
});
const cases = Object.values(window.CASE_STUDIES);
return (
Work we can show.
Fewer than we could have listed. We only publish the engagements where the client cleared us to tell the story in full — numbers, tradeoffs and all.
Want outcomes like these? Let's see if we are a fit.
Book a scoping call
);
}
/* ---------- BLOG INDEX ---------- */
function BlogIndexPage() {
const crumbs = [{ path: '/', label: 'Home' }, { path: '/blog', label: 'Blog' }];
useSEO({
title: 'Blog — Genesis DMA',
description: 'Notes from the field. Practical writing on growth, paid media, CRM, automation and attribution for service businesses.',
path: '/blog',
jsonLd: [
ldOrganization(),
ldBreadcrumb(crumbs),
{
"@context": "https://schema.org",
"@type": "Blog",
"url": SITE.url + "/blog",
"name": "Genesis DMA Blog",
"publisher": { "@id": SITE.url + "#organization" },
},
],
});
const posts = Object.values(window.BLOG_POSTS).sort((a,b) => b.date.localeCompare(a.date));
return (
Notes from the field.
Practical writing from the accounts we actually run — not think-pieces. If it helps one operator make a better decision this quarter, it earned its place.