Case study — Starchart

Starchart — a practitioner-facing tool for professional astrology

End-to-end product design — service design, data visualization, design systems, and full UX — built solo from scratch and in active daily use with real clients.

Timeline2026–present
RoleSolo Designer & Engineer
StatusIn active use
DisciplinesService DesignData VizDesign SystemsUX

Professional astrology practice has a production problem that no existing tool solves well. The tools that handle chart calculation are technically precise but not designed for client-facing output. The tools that look good don't understand astrological data. And the practitioner's reference materials live somewhere else entirely.

I know this because the practitioner in question was me. Before Starchart, producing a single astrocartography report meant: generate chart positions in Astro Gold, recreate them as polished visuals in Figma, switch back to Astro Gold for the map view, cross-reference interpretations against a personal Notion database, navigate to a separate tool for cleaner map rendering, take zoomed screenshots, manually annotate context, and finally assemble everything into a client document.

Every step was a context switch. Every tool solved one thing. Nothing talked to anything else.

55Reports produced in the tool to date
20Clients served
8h → ~3hProduction time per report, before and after
4 → 1Disconnected tools collapsed into one writing environment

Where the five hours go: writing snippets that replace retyping boilerplate interpretation, embedded astrology components that eliminate copying and pasting from external tools, and client management living side by side with the report surface instead of in another app. The gains aren't from writing faster — they're from never leaving the room where the writing happens.

Chapter 01

From Patchwork to Practice

The full product design story

The core challenge was never "how do we make astrology software." It was: how do you design a writing environment where the data, the maps, the reference library, and the practitioner's own voice all coexist in a single space?

Starchart has an unusual actor structure for an internal tool. The practitioner is the primary user, but the client is the downstream recipient of the service artifact — the report. The practitioner's experience is almost entirely backstage; the client never sees the tool, only its output. This two-sided dynamic shaped every design decision: the interface had to serve deep professional work, and the output had to communicate clearly to someone with no astrological training.

The editor uses a slash-command paradigm to insert structured data blocks — ACG line tables, place callouts, chart positions — directly into the writing flow. Each command opens a focused modal for configuration before inserting into the document, so structure arrives without breaking the prose.

The product produces two report types today: Natal reports, which interpret a person's birth chart, and Relocation reports, which use astrocartography to map where different planetary energies manifest geographically. Synastry and event reports are on the roadmap. The tool is in active daily use with real clients, and a closed beta with additional practitioners is underway by invitation.

The Starchart report editor showing a relocation report titled 'Kurt Cobain in Los Angeles, California' with birth data beneath the title, a black-and-white chart wheel embedded in the document, and Regenerate, Saved, and Publish controls in the header
The report editor: a clean writing surface where structured artifacts — here, a chart wheel — sit inline with the document, with Regenerate and Publish one click away.
Slash-command menu in the report editor, triggered by typing /ac, listing five block types: ACG Lines & Cities, Paran Contacts, Line Callout, Place Callout, and Planet Positions
Typing a slash command surfaces structured data blocks — ACG line tables, callouts, planet positions — without leaving the writing flow.
The Add Place modal with the prompt 'Enter a city name. Nearby ACG lines will be detected automatically,' a text field with the placeholder 'e.g. Sedona, Arizona,' and Cancel and Insert buttons
Each command opens a focused configuration modal. The Place Callout asks for one thing — a city — and detects nearby ACG lines automatically.
Chapter 02

One Line at a Time

Visualization in service of voice

A full astrocartography map shows every planetary line for every planet simultaneously, across the entire globe. It's comprehensive and overwhelming. Starchart's map works differently.

Each map block in a report is a single focused snapshot — one line, one region — configured by the practitioner before the report is written, and captioned in their voice. The map style is a dark Mapbox theme: deep charcoal land, muted borders, subdued city labels. Not for atmosphere — to suppress visual noise. The planetary line is the focus. A single dashed colored line runs through the frame, a labeled chip identifies it directly on the map, and below it a caption in the practitioner's words frames what the reader is looking at. The client doesn't need to navigate, compare, or interpret a legend. They read the paragraph, see the place, see the line, read what it means.

A link beneath each map opens a full interactive version for clients who want to zoom, pan, or explore neighboring lines. Static by default keeps the report fast and readable; interactive on demand respects the client's curiosity without imposing it.

The chart wheel visualizes planetary positions across the twelve zodiac signs and twelve houses at the moment of birth. In the writing context, it functions as an embedded artifact: clean, black-and-white, labeled with the client's name. It orients the reader to the source material without becoming the subject of the document. The chart is context; the prose is content.

The before-state required navigating to a separate tool, zooming to the right area, screenshotting, manually noting context so the screenshot would make sense later, and re-integrating everything into a document. The Configure + Recapture workflow collapses all of that into one decision made inside the writing environment, at the moment the interpretation is being written.

A map block in a report titled 'Astrocartography Near Los Angeles, California': a dark Mapbox map of Southern California with vertical planetary lines, each identified by a labeled chip — Pluto AC, Uranus AC, Venus AC, Chiron AC — and an introductory paragraph above the map
A map block in a report: planetary lines near Los Angeles on the dark Mapbox theme, each identified by a labeled chip directly on the map, framed by prose above and a caption below.
The full interactive map opened from a report: a dark Mapbox view of North America with many colored planetary lines running north to south, a labeled Moon MC chip, a close button, and a Venus AC Line entry with its cities listed beneath the map
Interactive on demand: the link beneath each static map opens a full explorable version for clients who want to zoom, pan, or compare neighboring lines.
A black-and-white chart wheel: a dark outer ring of zodiac signs, numbered houses, planet glyphs placed by position, and aspect lines connecting planets across the wheel
The chart wheel: black-and-white, planets across the twelve signs and houses with aspect lines between them. Context for the prose, never the subject of the document.

The report the client receives is not a chart dump or a data table. It is written interpretation. Data visualizations serve the writing; the writing doesn't serve the data.

Chapter 03

The Two-Sided Backstage

Making the invisible structure visible

Most internal tools have one actor. Starchart has two: the practitioner uses the tool; the client receives the output. Making this two-sided structure explicit through service design methods created a shared reference for evaluating every design decision.

The core flow: the practitioner begins by adding a client with birth data. The system generates chart positions and populates planetary data. The practitioner opens the report editor — a writing environment with chart data and client context alongside the long-form interpretation document, with an interpretation library available for reference. For relocation reports, the editor surfaces a configured map view as an embedded block. Interpretations are written in freeform prose, with structured data blocks — map snapshots, chart wheels, planetary reference chips — woven into the document as the practitioner writes.

Starchart core user flow — practitioner report production pipeline showing intake, generation, writing, review, and delivery phases across practitioner, system, and client swim lanes
The core report production pipeline: intake, generation, writing, review, and delivery across practitioner, system, and client lanes.
The Macros section of Starchart: a 'First House' macro open for editing with category, key, and title fields above a saved long-form interpretation, and a pink sidebar with People, Reports, Writing, and Macros navigation
The macro library: saved interpretations organized by category and key. Each macro is a springboard — a starting point in the practitioner's voice, not a script.

The service design work began as a structured way to surface and articulate decisions that had already been made intuitively — and to identify where the practitioner experience and client experience diverged in ways that had design implications.

The service blueprint maps the client journey (minimal: intake, wait, receive, read), the practitioner's frontstage actions (intake, scoping, delivery), the backstage production work (chart generation, map configuration, interpretation writing, report assembly), and the supporting systems. The most revealing finding was the asymmetry.

The client's journey is short and simple; the practitioner's backstage is where all the complexity lives.

Starchart's entire value proposition is backstage optimization — reducing friction in the production process so the practitioner can spend more time on interpretation and voice, which is what clients are actually paying for.

Six experience principles

01

Geography as organizing logic

The map is primary, not supplemental. Both the tool and the report organize by place.

02

Voice-forward, data-assisted

Interpretation leads, data supports. The tool feels like a studio, not a form.

03

Macro as springboard

Saved interpretations are starting points, not scripts. The library lowers the cost of starting.

04

Invisible backstage

The tool's complexity should not be visible in the output. The report is the only thing the client sees.

05

Progressive disclosure

Clients receive only what they need to understand the report, with interactive depth available on demand.

06

Practitioner sovereignty

The tool serves the practitioner's judgment, not the other way around.

What this project taught me

Starchart is a rare case where all four of my practice areas — service design, data visualization, design systems, and UX — appear in one body of work, because the problem genuinely demanded all four. Being the first user kept the work honest: every friction I designed away was friction I had felt.

The deepest lesson is about where value lives. The most careful design in Starchart is invisible to the person it ultimately serves. The client only ever sees a written report in a practitioner's voice — and that is the point. Good backstage design doesn't announce itself; it shows up as time returned to the work that matters.