AVAILABLE · Q3–Q4

Designer who codes.
Developer who designs.

Eight years building shipped work across visual identity, interface systems, and production code. Two disciplines, one practice — the same hand designs the thing and builds the thing.

BASED United States · RemoteSTATUS Open to select engagementsSINCE 2018
INDEX
01 / 06
PORTFOLIO · 2026
SCROLLSELECTED WORK

Selected work

2019 — 2026 · FIVE PROJECTS
  1. 01Atlas TypeHYBRID · TYPE SYSTEM2025A variable font design system for indie publishers — designed the families, built the CSS tooling. 12 publishers shipped in 6 months.Atlas Type — variable font specimens
  2. 02SaltplotVISUAL · DATA / CARTOGRAPHY2024Interactive map series charting coastal erosion on the Eastern Seaboard. Featured in AIGA Eye on Design, Spring 2025.Saltplot — coastal erosion map series
  3. 03Meridian UIHYBRID · DESIGN SYSTEM2024Component library and token system for a Series B fintech. Shipped to 4 product teams — 60% faster feature delivery.Meridian UI — component library
  4. 04Loom StudioVISUAL · BRAND IDENTITY2023Brand identity for a Brooklyn textile studio — wordmark, packaging, art direction for the seasonal lookbook. Recognized in Wallpaper* 2025.Loom Studio — wordmark and packaging
  5. 05Hex KitCODE · OPEN-SOURCE CLI2022A developer CLI for hex color management and accessibility checking. 4.2k stars, adopted by three design tool teams.Hex Kit — terminal screenshot

Case study · Atlas Type

HYBRID · TYPE DESIGN × CSS TOOLING
Atlas Type specimen
01 / 05 · TYPE SYSTEM

A variable font system that ships as easily as it reads.

Atlas Type started as a commissioned wordmark for a literary press and grew into a full family: display, text, mono, and a CSS pipeline that drops them into any product. I drew the letterforms, wrote the tooling, and published the documentation.

Outcome: 12 indie publishers shipped the family in six months. The CSS pipeline reduced font-loading QA tickets to zero.

atlas.css
/* one family, optical sizing across weight × width × optical size */
@font-face {
  font-family: "Atlas";
  src: url("atlas.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-optical-sizing: auto;
}
GLYPHS 3.2FONTBAKERYVARIABLE FONTSGITBOOK

Case study · Saltplot

VISUAL · DATA × CARTOGRAPHY
Saltplot map series
02 / 05 · DATA VIZ

Maps that earn the reader's attention for more than a second.

Saltplot is a long-form data project mapping coastal erosion across three US coastlines. I built the interactive web maps, designed the print poster series, and wrote the explanatory captions.

Outcome: featured in AIGA Eye on Design and adopted as classroom material in two graduate cartography programs.

contour.ts
// contours generated from NOAA bathymetry → topojson
export const buildContours = async (region: Region) => {
  const grid = await loadNOAA(region);
  return grid.toContours({ step: 0.5, smoothing: 1.2 });
};
D3.JSQGISTOPOJSONINDESIGNNOAA DATA

Case study · Meridian UI

HYBRID · TOKENS × REACT
Meridian UI component library preview
03 / 05 · FEATURED

Tokens that match the components that match the tokens.

Meridian needed a system that survived handoff. I designed the visual tokens, wrote the React implementation, and shipped both to four product teams in the same release train.

Outcome: 60% faster feature delivery, two handoff meetings per quarter instead of weekly, and zero drift between Figma and production at release cut.

Button.tsx
// tokens drive every variant — Figma & code stay in sync
export const Button = forwardRef<HTMLButtonElement, ButtonProps>(
  ({ variant = "primary", size = "md", children, ...rest }, ref) => (
    <button
      ref={ref}
      data-variant={variant}
      data-size={size}
      className={`btn btn--${variant} btn--${size}`}
      {...rest}
    >
      {children}
    </button>
  )
);

// zero hardcoded values downstream
btn--primary { background: var(--accent-1); color: var(--fg-strong); }
FIGMA TOKENSSTYLED-COMPONENTSSTORYBOOKREACT 18TS 5

Case study · Loom Studio

VISUAL · BRAND × ART DIRECTION
Loom Studio wordmark and packaging
04 / 05 · BRAND IDENTITY

A wordmark that holds up across a thread, a tag, and a billboard.

Loom Studio is a textile studio in the Hudson Valley. I designed the wordmark, the packaging system, and art directed the seasonal lookbook for two years running.

Outcome: brand recognized in Wallpaper* 2025, packaging shipped in 14 retailers across the US and EU.

tokens.json
// Loom brand tokens, exported from Figma via Tokens Studio
{
  "color.brand.indigo": "#1A1F2E",
  "color.brand.dust":  "#C9A38A",
  "color.brand.thread": "#8B7355",
  "type.display": "Fraunces",
  "type.body": "Inter"
}
FIGMATOKENS STUDIOINDESIGNPROCREATE

Case study · Hex Kit

CODE · CLI × ACCESSIBILITY
Hex Kit CLI screenshot
05 / 05 · DEVTOOL

A CLI that takes hex colors seriously, including the ones that fail.

Hex Kit is an open-source npm package for hex color management and WCAG accessibility checking. I designed the command surface, wrote the implementation, and maintain the docs.

Outcome: 4.2k GitHub stars, adopted by three design tool teams for pre-commit accessibility checks.

contrast.ts
// WCAG 2.2 contrast ratio for any pair, with AA/AAA reporting
export const contrast = (fg: Hex, bg: Hex) => {
  const l1 = relLum(fg), l2 = relLum(bg);
  const ratio = (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05);
  return { ratio, aa: ratio >= 4.5, aaa: ratio >= 7 };
};
TYPESCRIPTNODE 20COMMANDERVITESTGITHUB ACTIONS

Studio

PRACTICE · TOOLS · AVAILABILITY
ABOUT THE STUDIO

A two-discipline practice, run by one person.

I sell the work I want shipped: identity systems, interface design, art direction — and code projects that need a designer's eye, from design systems to developer CLIs. Every project moves from idea to commit in the same head.

US-based, eight years freelance, open to remote and select US-based engagements. Current book closes at the end of Q1 2027.

  • 08Years Practicing
  • 62Shipped Projects
  • Open PRs On Time
CONTACT

Have a thing you want built well?

Brand systems, interface work, or production code — the studio runs lean. Write a paragraph about the project, the deadline, and the budget. I reply within two business days.

Mara Voss — portrait