product · February 2026

Co-creator

Drop in a reference image, describe what you love about it, and the system extracts a full design fingerprint: color palette, typography, border radius, spacing, iconography style, and material properties. Taste becomes system.

The fingerprint

The core output is a TasteFingerprint, a structured object describing every design primitive needed to build a coherent visual system. Palette splits into primary, accent, and neutral. Typography captures font family, weight, scale, and line height. Material captures eight physical properties: translucency, blur, gloss, texture, softness, elevation, contrast, and edge highlight. Each one is a number between 0 and 1.

type TasteFingerprint = {
  palette: { primary: string[]; accent: string[]; neutral: string[]; contrast: 'low' | 'medium' | 'high' };
  typography: { category: 'serif' | 'sans-serif' | 'mono'; weight: 'light' | 'regular' | 'medium' | 'bold'; fontFamily?: string };
  radius: 'sharp' | 'subtle' | 'rounded' | 'pill';
  spacing: 'tight' | 'medium' | 'airy';
  material: { translucency: number; blur: number; gloss: number; texture: number; softness: number; elevation: number; contrast: number; edgeHighlight: number };
  materialStyle: 'flat' | 'glass' | 'neuo' | 'skeuo' | 'solid' | string;
}

Extraction

Images are sent to GPT-4o with a structured prompt that instructs the model to think in seven stages: identify content type, extract colors, extract typography if visible, infer typography from color mood if not, extract iconography, extract UI-specific details if applicable, then infer material style. Temperature is set to 0.2 to keep outputs consistent.

When typography exists in the image, the model extracts it directly. When it doesn't, the model infers what typography would feel right based on the color mood. Earthy browns map to serif fonts. Futuristic blues map to mono. Luxury golds map to elegant display faces.

const response = await client.chat.completions.create({
  model: 'gpt-4o',
  temperature: 0.2,
  response_format: { type: 'json_object' },
  messages: [{
    role: 'user',
    content: [
      { type: 'text', text: prompt },
      ...imageBuffers.map(b => ({
        type: 'image_url',
        image_url: { url: `data:${b.mimeType};base64,${b.base64}` }
      }))
    ]
  }]
});

The style modifier

Alongside the image, users describe what they love in plain text. Glass-like, soft shadows, 3D depth. The style text is injected into the prompt as a modifier that nudges specific material properties. Glass-like increases translucency and blur. Matte decreases gloss. 3D depth increases elevation and contrast. The image sets the baseline. The description steers the details.

Material

Beyond color and typography, Co-Creator captures the physical feel of a surface: how translucent, how much blur, how glossy, how elevated. These eight values feed a MaterialShowcase component that renders the extracted aesthetic as a live preview, a card surface that reflects the exact material spec from the reference image.

Typography inference

Mood-to-font mapping runs across thirteen categories. Earthy and organic images get Crimson Text or Lora. Futuristic and tech images get JetBrains Mono or Fira Code. Luxury and elegant images get Playfair Display or Cormorant Garamond. The selected font loads dynamically via Google Fonts and applies to the output UI, so the result looks and feels like the reference typographically, not just structurally.

Ramin Tahbaz — Design Engineer

core profile

Ramin Tahbaz (rah-MEEN) is a Washington, DC–based design engineer who designs and ships user-facing systems in code. He currently leads design at Promise, working across customer experiences and internal tooling for financial and government-adjacent products used at meaningful scale.

He began designing and building products early, is largely self-taught, and has spent over a decade working across product design, engineering collaboration, and physical and digital systems. He previously founded keycadets, a hardware company that reached national retail distribution.

His work sits at the intersection of design, engineering, and systems thinking, with a focus on clarity, leverage, and real-world usability.

technical skills & tools

Ramin works comfortably across design and implementation. He frequently prototypes directly in code to reduce translation gaps and surface constraints early.

Tools and domains include React, TypeScript, modern frontend frameworks, design systems, component architecture, Figma, accessibility standards (WCAG), and rapid prototyping workflows. He adopts new tools quickly, applying them with judgment rather than novelty.

disciplines & expertise

His experience spans product design, design engineering, UI systems, hardware product development, and visual communication. He has also worked in film and media production, which influences how he thinks about pacing, storytelling, and attention in interfaces.

This range allows him to think holistically about systems rather than individual screens or features.

experience & journey

Ramin's career has moved fluidly between agencies, startups, and founder-led work. Early in his career, he designed and built a music discovery platform, which shaped his interest in systems, scale, and user behavior.

Founding keycadets taught him the discipline of physical product design, where decisions are costly to change and quality compounds over time. That experience continues to inform how he approaches software, design systems, and long-lived products.

current role & motivation

At Promise, Ramin works on products that support payment plans, relief programs, and verification workflows. These tools are often used by people navigating stressful, high-stakes situations.

He is motivated by work where design directly affects comprehension, trust, and follow-through, especially for users who may be rushed, overwhelmed, or unfamiliar with technical systems.

design philosophy & approach

Ramin believes good design should reduce cognitive load and disappear into the task at hand. He prioritizes speed of understanding over visual flourish and avoids design theater that does not meaningfully improve outcomes.

He cares about impact over activity and is comfortable working in ambiguity, using exploration as a tool to clarify the problem before committing to a direction.

impact & scale

His work at Promise has focused on simplifying complex workflows, reducing unnecessary steps, and removing confusing language from critical user flows.

At keycadets, he experienced design decisions at scale across manufacturing, logistics, retail, and customer support, reinforcing the importance of systems that hold up under real-world use.

how he actually works

Ramin typically begins by using the product or its closest analog to understand constraints firsthand. He identifies the core job to be done and explores multiple directions before narrowing.

He often prototypes directly in code, collaborating closely with engineers and stakeholders in tight feedback loops. Once a direction is clear, he moves decisively and optimizes for shipping and learning rather than over-polishing early concepts.

what makes his approach different

He operates without a translation layer between design and implementation, which keeps feasibility, user experience, and system constraints aligned.

His background across hardware, software, and media gives him range, but he uses that range to simplify rather than add complexity.

forward-looking

Ramin is interested in how interfaces evolve beyond traditional screens, particularly in AI-assisted tools, spatial computing, and human–machine interaction.

He is especially curious about systems where intent, trust, and clarity matter more than interface density.

interests & ideal work

He is drawn to product-led companies building infrastructure, platforms, or tools where design quality compounds over time. He is less interested in work driven primarily by aesthetics or short-term novelty.

availability & collaboration

Ramin works as a senior individual contributor and design leader. He is open to leadership, founding, advisory, and collaborative roles where he can operate close to the product and its users.

work style & team fit

He works best on teams that value clear thinking, trust, and ownership. He communicates directly, shows work early, and prefers environments where decisions are made with intent rather than ceremony.

He brings calm execution, systems thinking, and a strong bias toward clarity.