CityScout · 2025 to 2026
CityScout, from idea to enterprise
Designing an AI-built real estate startup, from its first logo to the brand and design system that win its enterprise clients
I've designed for CityScout since it was an idea. When it began closing multimillion-dollar deals with enterprise clients, the founders hired me as design lead, and I rebranded the company and built Athens, the design system it runs on.
Overview
The client
CityScout reads planning filings, permits, and county records and maps every development in a market. Its customers are lenders, brokers, developers, and general contractors, people who read title reports for a living and sign multimillion-dollar deals on what they find.
My role
I have worked with CityScout's founders since the company was an idea, and in August 2026 I joined as design lead. I delivered Athens, the new brand and design system, in about a month. I now design product patterns and UX, and I coach the marketing team on carrying the brand into their decks, flyers, and site.
165,000+
development projects mapped by CityScout
1.3M+
residential units in those projects
30+
markets covered
A brand that reads like the public record, built for the clients who depend on it.
Juniper
#203431
Cypress
#375854
Pine
#568A84
Maple
#CD6412
Sycamore
#EBE6DD
Birch
#FAF8F5
How might we take a brand made for a scrappy launch and make it credible to enterprise clients, inside a product that AI tools keep building?

The same map in both themes. Drag to compare them.


From idea to enterprise
December 2025: an idea with a logo
CityScout was still an idea when I first worked with the founders. I designed its first logo, a blue and gold theme, and a small set of brand colors. They wanted a punchy, varsity spirit for the early clients they were chasing, and the brand gave them that.
2026: built fast with AI
CityScout's founders built the product mostly with Claude and other AI coding tools, and it shipped and earned money. In July I worked with them on a first pass at a system, v1 Nightingale, while the marketing site, decks, and flyers moved to a look of their own. By the summer the product used two serifs, two sans faces, stock Tailwind purples, blur shadows, and nine traffic-light statuses the map no longer used. In the founders' own words, the interface had become "very copy and paste, AI slop."
August 2026: ready for enterprise
By then CityScout was closing multimillion-dollar deals, and the punchy launch brand no longer fit the clients it was signing. The founders hired me as design lead to rebrand for that audience with an elevated, quieter feel, and to give the product one system to build on.







Scroll sideways through the product before Athens.
Naming the failure mode
“It looks AI generated” describes a real problem and gives a designer nothing to work with, so I started by naming the specific conditions behind it. Components had drifted into several versions of the same button, because each was generated for the screen that needed it. Values were hardcoded where they were used, so a change never spread. The product still wore the personality of the library it was scaffolded from, gradients and heavy shadows stood in for hierarchy, and color appeared wherever a section wanted interest, so it carried no meaning.
AI generates each screen on its own terms, with no memory of the decisions it made elsewhere. Commitment is the part that takes a person.
Athens: nine decisions
I came up with Athens, a brand and system built to read like the public record that CityScout sells. I wrote every choice down as one of nine decisions, so that a person or an agent applies it the same way every time.
Two families, nothing else
Newsreader sets display and page headings, and IBM Plex Sans sets everything else. The system has no italic, no monospace, no eyebrows, and no capitals for emphasis.
Three token layers, one file
Primitive ramps feed brand aliases, which feed semantic jobs. Components touch only the semantic layer, which is also the only place light and dark exist.
Stage is hue, momentum is form
Six stage hues run in pipeline order. A filled dot, a hollow ring, or a gray ring marks a project as active, stalled, or dead, and a new filing is a solid maple pin.
No shadows, in either theme
Depth comes from a surface step and a hairline. Tailwind's shadow and ring classes fail the build.
Everything left-aligned
Text, figures, dates, and headers all align left. Tabular figures line the numbers up, so right-aligned columns had nothing left to do.
Icons take the color of their text
Icons are Lucide at a 2-pixel stroke, hand-fitted at 16 and 32 pixels. Words and borders carry status, so an icon never has to.
One pill in the system
The stage badge is the only pill. Buttons, chips, and avatars are square with a 4-pixel corner.
Juniper is identity, cypress is interaction
The brand uses one teal family. Its dark step carries the logo and dark bands, its lifted step carries buttons and links, and orange is the signal.
Write like the record
Every claim shows its record, with a source and a date. Copy names the thing, such as a filing, a parcel, or a firm of record, and titles state the finding.

The foundations: warm paper, one teal, one orange, Newsreader for the page and Plex for the record.
House style: the architectural notebook, on juniper.
The lifecycle scale, built for the map.
A system the AI can be right against
One folder that engineers and agents both read
I delivered Athens as a self-contained package in CityScout's monorepo. Every value lives in one CSS file, and the docs refer to token names instead of restating values. A Tailwind config replaces the stock scales, so an off-system class fails at build time, and a rules file tells Claude how to work inside the system. A migration document maps every legacy value to its Athens token by role.
Generated code drifts when there is nothing for it to be consistent with. Once the tokens and the rules exist, each new screen an AI tool writes arrives closer to right without anyone stepping in.
The app still runs its earlier styling while the migration is planned, so the product screens on this page are prototypes built on the shipped tokens.
The package
724
tokens in one file
2
themes, semantic layer
11
numbered docs
164
data viz tokens
22
reference slides
4
illustration styles




Screens with project data are prototypes with example records.
What’s next
Patterns and UX
Athens v1 is the foundations release. I'm now designing the product's patterns and UX with the team, the work that moves the app itself onto Athens.
Coaching the marketing team
I walk the marketing team through how the brand carries into their own materials, so that a deck or a flyer they make without me still reads as CityScout.
What I learned
AI moves the bottleneck from production to judgment.
The founders built a working product without a designer. What they could not generate was a point of view, and more prompting would not have produced one, because no single output had failed.
Coherence belongs to the whole product.
Every generated screen was reasonable on its own. Only a person holding the whole product in mind could make the screens agree with each other.
Give the tools something to agree with.
I reached the same conclusion on an enterprise design system from the other direction. The most useful thing to hand AI-assisted work is a system it can be right against.
New filing
4156 Church Street
Rezoning to RM20-A, 1.2 acres
Permitting
- Filing
- 2026-0412-ENT
- Parcel
- 4156-018
- Firm of record
- Harrow & Lane Architects
- Units
- 96
Source: county planning filing, March 3, 2026. Example record.
tokens.css. Switch the theme, move the project through its stages, or show which token styles each part.