Two hundred and fifty-seven pages, one qualifying question.
- Client
- MSM Advisors, LLC
- Industry
- Certified public accountants and business advisors
- Engagement
- Client work
- Status
- Pre-launch
- Role
- Art Direction, Information Architecture, Design System
- Stack
- Next.js, Tailwind CSS, Static generation, JSON-LD
Deployment note — Build is on a preview URL. The firm’s production domain currently still serves their previous WordPress site.

02
Problem
A CPA firm that has published the same founding year since 1991, on aging infrastructure, trying to win local search across an entire metropolitan county without opening an office in each town. The firm also had the opposite of a lead problem: too many inquiries from businesses too small to serve profitably, each one costing a partner an hour to decline politely.
03
Insight
Volume was never the objective. A firm like this needs fewer, better-qualified conversations — so the architecture had to do two jobs at once: cast wide enough to be found in every municipality, and narrow enough at the point of contact to filter. The revenue threshold is stated twice on the consultation path, on purpose. Telling people not to call you is a conversion feature.
04
Direction
Institutional, but not the default corporate blue. Deep navy with a gold accent, and a characterful variable serif against a neutral sans — the one real risk in the palette, and the thing that keeps a buttoned-up firm from reading as cold. Photography is minimal and genuine: the actual team, the actual credential badges.
05
Execution
Two hundred and fifty-seven routes: three service pillars with four to five children each, multiplied across twelve-plus municipalities, plus team, testimonials, awards, a client resource hub, fillable worksheets, and a referral program. A pricing page that communicates a flat monthly subscription model and transparency while deliberately publishing no prices — because for advisory work, a number without a scope is a misrepresentation.
06
System
Statically generated with a structured-data layer covering the organization, its address and hours, and a FAQ set. The service-by-location matrix is generated from typed data rather than hand-authored, so a new municipality is a data entry and not a build.
Routes
257
Observed in build
Municipalities covered
12+
Observed in build
Years in practice
30+
Published by client
Business clients
120+
Published by client
The firm’s own published figures appear on the site: 120+ business clients, 30+ years, 340+ engagements completed. Those are the client’s numbers about their practice, not results attributable to this build.
Reflection
Two of the five statistics in that row are “100% Tailored service” and “100% Client-focused”, which are not statistics. They are padding, and they cheapen the three real numbers standing next to them. I would cut the row to three. A short row of true things beats a full row that makes a reader start discounting.