Robin Rotman Portfolio Logo
my work
Each feature-length case study is best experienced on desktop where you can see the full story unfold across strategy, cross-functional collaboration, and measurable impact.
View All
Laptop displaying BioPhy software interface for AI-driven manufacturing validation, placed on a bright green cushion against a blue background.

BioPhyAI

AI/ML
0 → 1
architecture
systems design
View case study
MacBook Air 15-inch with a Trello interface showing ibm.com organization dashboard with member, workspace, and board stats on a red surface against a blue background.

Trello

enterprise
admin tools
systems design
View case study
Computer monitor displaying a restaurant pickup order page with an address input and blue button against a blue wall and red sofa.

Grubhub

platform/SDK
B2B
development
enterpise
View case study
A child and an adult sitting on a couch at night looking at a tablet displaying 'Curious George and the Dump Truck ACTIVITIES'.

Curious George

0 → 1
D2C
systems design
View case study
me and my skillsetget in touch
Link FiveLink SixLink Seven
Computer monitor displaying a restaurant pickup order page with an address input and blue button against a blue wall and red sofa.

Grubhub

Designed and front-end developed  a brandable web ordering SDK from concept to launch.

The new product opened a new $400K+ revenue channel for Grubhub Agency, enabling 15+ restaurant chains across 3,000+ locations to offer custom-branded online ordering, at 80% lower cost than traditional agency solutions.

platform/SDK
B2B
development
enterprise
Scroll Down
OverviewVisual Walk-ThroughDesign ProcessResults and Thoughts

Overview

ROLE

Lead Product Designer and Front-End Developer

DURATION

2017 – 2018

DELIVERABLES

Complete responsive web SDK designs and interactions

Component library with 100+ configurable UI elements

Configuration system for multi-brand deployment

Documentation and implementation framework

Custom React components for client-specific features

COLLABORATORS

Product Manager - Scott Kominsky • External development teams (Angular → React rebuild) • Internal stakeholders: Sales - Allyson Klineman, Client Success, Engineering Leadership

Illustration of an orange delivery car with 'GRUBHUB' written on the side against an orange background with two stylized clouds.
Food order screen for Turkey Club sandwich with quantity selector, add to order button showing $7.00, multiple option groups for sides and dressings with prices, and a special instructions text box.
Handwritten notes and sketches on a spiral notebook page showing UI wireframes and annotations about search results, autofill, merchant names, and radius filtering.
Laptop screen showing a map of New York City with multiple orange and one blue location pins for Spark Coffee locations and a sidebar listing store details with options to order or schedule for later.
CHALLENGE AND CONTRIBUTIONS

Grubhub had built its enterprise B2B reputation on native mobile apps for large restaurant chains. These 100+ location franchises weren't willing to share brand real estate. They wanted a seamless ordering UX and not a third-party-looking checkout experience, yet couldn't justify the $50K-$200K custom dev costs for months of work.

I proposed a brandable, web-based, ordering platform built for a reasonable cost and speed. The result: a configurable SDK that delivered custom-quality ordering experiences in weeks, becoming one of Grubhub's fastest-growing revenue channels.

PROBLEM

Large restaurant chains were missing high-converting desktop orders, but the existing web options were too costly or killed their margins.

Desktop ordering peaked during lunch hours (11:30 AM - 1:30 PM) and converted at 2-3x higher rates than mobile. Yet chains faced a costly trade-off: choose third-party marketplaces consumed 20-40% of every order while sacrificing brand control, or custom agency builds at $50K-$200K and 6+ months.

With digital orders growing 23% annually, chains needed a fast, affordable way to capture high-converting desktop traffic without bleeding margin.

OPPORTUNITY

To capture market share by delivering what enterprise customers wanted: branded web ordering that launched fast and at a fraction of cost.

Grubhub had 50%+ of the food delivery market yet was leaving money on the table, losing enterprise business to custom agencies. Existing clients like Dig Inn and Potbelly were already paying external agencies to build web ordering despite having Grubhub-powered mobile app, a clear signal of unmet demand.

With 52% of consumers preferring restaurant-owned channels and Grubhub's infrastructure (loyalty, payment, ordering providers), they could build the product to serve enterprise web needs.

Visual Walk-Through

coming in or coming out of the door
From research to execution

how it all came together

The journey started with tons of market research and competitive analysis of leading ordering flows (Panera, Sweetgreen - another existing client, DoorDash) and whiteboarding user journeys with my PM. After 11 (!!) wireframe iterations removing unnecessary complexity, I built interactive prototypes for  testing. An external team built the initial version in Angular, but the framework couldn't support the configurability needed; I pushed for a React rebuild, personally transitioning into a hybrid role and styling the first 6+ clients (Chase Pay, Nando's, Honeygrow, Burger21). Finally, while building custom components, I evenutally hired the development lead who would scale the product.

Open spiral notebook with black ink wireframe sketches and handwritten notes on a yellow background.
Bar chart showing market share percentages for food delivery platforms: Grubhub 34.4%, UberEats 27.9%, DoorDash 17.9%, Postmates 11.8%, Other online platforms 4.4%, Caviar 3.5%.
Whiteboard flowchart with printed screenshots and handwritten notes outlining a user login and order placement process above a blue sofa.
User interface showing two location cards with addresses in New York, distances, hours, and buttons labeled View Menu and Order Now.
Firehouse Subs store locator showing two locations near 458 Madison Avenue, New York: Totowa #1156, closing soon, and Wayne Hills #861, open with option to order now.
User interface design file open in Sketch showing a project with multiple artboards and layers named Desktop, Mobile, Rewards, Symbols, Assets, and Style Guide on an orange background.
User interface screens showing options for ordering sandwiches with add-ons, a rewards dashboard with progress bar and available rewards, sandwich menu with categories and order summary, and transaction history with dates, locations, and totals.
Screenshot of Grubhub LevelUp platform's Order Ahead overview page with a sidebar menu and detailed instructions on order flow.
Whiteboard with handwritten notes comparing Production, Staging, QA, and Sandbox environments, detailing code, data types, access levels, and URLs.
Desktop computer screen displaying a restaurant online order menu with sandwich and appetizer options on a bright orange background.
Tablet displaying Wings Over online order page with chicken wings, celery, dipping sauce, and soda background.
Two floating cards showing a graph comparing monthly average active app users per location for Grubhub and competitors, and a table listing customer adoption, monthly app users, ticket lift, frequency lift, and monthly impact per location for Grubhub versus others.
Three computer monitors displaying different food pickup and delivery websites against an orange background.

Design Process

WHAT I BUILT

I designed and developed a brandable ordering SDK from scratch: a responsive, feature-rich, web app with 50+ screens, configurable components and layouts, and rapid brand deployment architecture.

The SDK covered each customer journey: location finding, menu browsing, item customization, checkout, account management, and rewards.

I designed for accessibility (keyboard navigation, screen readers, language support), with full interaction design for all states (hover, empty, error, loading), and created a brand application system that let each client white-label the experience through configuration files rather than custom code.
‍
On the development side, I built the React component library (header, footer, menu layouts, cart, checkout) and SASS styling system with configurable variables, that would enable the team to scale.

Hover to learn more about the main deliverables I designed
1

Responsive Ordering SDK

50+ screens covering location finding, menu browsing, customization, checkout, account management, and rewards across desktop and mobile

2

Component
Library

Configurable UI library with brand variables, interaction patterns, accessibility standards, and white-label theming that enabled consistent experiences across clients

3

Client Implementation

Branded deployments across major chains (Chase Pay, Nando's, Smoothie King, Honeygrow) spanning 3,000+ locations

Collage of various food ordering app screens including maps of locations, menu item customization, order review, transaction history, and notification of no delivery locations.

Responsive Ordering SDK

User interface design mockups displayed on a desktop and mobile screen with a city map and order scheduling options, set against an orange background.

Component Library

Apple iMac showing a Nando's order confirmation page with pick-up location, time, and payment details on an orange background.

Nando's Order Placed using the Grubhub SDK

framing and metrics of success

USER GOALS
BUSINESS GOALS
CONSTRAINTS
METRICS OF SUCCESS

Find nearby locations quickly and start ordering with minimal friction

Customize orders or re-order accurately, and complete checkout and order pick up confidently

Access account features across devices like: saved payment methods, order history, and loyalty/rewards

finishing a puzzle brainstorm coming up with the ideas working on a project or solutions to a problem

Capture enterprise market share from custom agencies and competitors

Build resale-ready custom features into SDK for upsell opportunities (same strategy as native mobile app channels)

Scale efficiently with configurable architecture that wouldn't burden the team

success finishing a project reaching a top of a mountain and putting a flag

Extreme variation in brand needs, menu complexity, and UI direction
‍
Each client had different requirements, like Chase Pay's WCAG 2.0 AA accessibility or menu structures ranging from 20 items to 100+ with customization, time-scoping, and strict brand guidelines. All of this had to be handled through configuration, not custom code.

No in-house web development infrastructure or expertise
Grubhub Agency had built exclusively native apps, requiring external contractors to build (then rebuild in React), followed by hiring an internal team mid-project.

Solo designer resource constraints
I was the only designer for everything, at times creating bottlenecks, as I took on implementing clients' styling and building the product.

Cloud raining download arrows, Data transfer and digital storage
400+ locations across 5+ enterprise chains in the first year
Demonstrates strong product-market fit and scalability, proving it can attract multiple major brands and deploy at scale.
$200K flat fees + $20K monthly recurring revenue
Signals sustainable business model—flat implementation fees of $20K-$40K per client plus $50/location/month recurring revenue.
<6 weeks from contract to launch
Validates competitive advantage, enabling sales team to close deals and compete directly.
Growing bar chart with upward trend, Business growth and financial success

discovery, research & insights

competitive analysis
user behavior
technical evaluation
systems architecture
market analysis

methods used
• Competitive analysis of 12+ ordering experiences (Panera, Sweetgreen, Chick-fil-A, DoorDash) to identify best practices for menu architecture, fulfillment flows, and edge case handling
• Analysis of Grubhub's internal data on user behavior, like conversion rates by platform
• Technical evaluation of Angular vs. React for component configurability and brand implementation approaches
• Research on client pain points/needs through sales team interviews
• User journey mapping with my Product Manager to document flows and conversion friction points

‍key insights
Data showed lunch-rush ordering happened at desks, with desktop converting at 2-3x mobile rates and clients like Dig Inn and Potbelly were already investing in desktop experiences. This was a clear signal this wasn't just about mobile.

Configurability was the competitive advantage. Every client had unique requirements. Chase Pay needed specific WCAG 2.0 AA accessibility, some needed Spanish support, menu structures ranged from 20 items to 100+ with customization. A variable-based theming system could deliver brand flexibility without custom code.

These requested customizations meant I needed to implement a strategy for reselling custom work; when clients would inevitably request unique features, I'd add these requests to the SDK as configurable components, so any client could toggle them on or off, turning them into upsell opportunities.
‍
‍design implications, in sum
1. Design for desktop first, then adapt to responsive/mobile.
2. Build a component library to configure branding, features, and layouts.
3. Design every custom feature request as a toggleable (and upsellable) component. For example, Nando's featured menu item image became a reusable React component available  to all future clients

thinking in systems & scale

component architecture
variable-driven theming

component-based architecture
‍
Rather than building monolithic pages, I designed a library: atomic elements (buttons, inputs, typography), molecular components (item cards, location cards), and organism-level components (menu layouts, checkout flows, account dashboards).

Each component accepted configuration parameters that controlled its behavior and appearance. For example, a single "menu item card" component could render hundreds of different item types across dozens of brands.

‍variable-driven theming system
‍
Instead of building separate stylesheets, the product used a SASS variable system where brands could override defaults (primary color, fonts, button radius, shadows).

// Example: Base variables
$primary-color: #FF0000;
$font-family-primary: 'Brand Font', sans-serif;
$button-border-radius: 4px;
$card-shadow: 0 2px 8px rgba(0,0,0,0.1);


For each new client, there was an override file that redefined only the variables that differed from base. The SDK compiled these into brand-specific stylesheets, reducing client onboarding from weeks of custom CSS to hours of variable configuration.

‍configuration feature deployment
‍
Every feature that could vary between clients was controlled by configuration files rather than code changes:
• Menu IDs: Which menus to display per location
• App IDs: Client-specific identifier for API calls
• Fulfillment types: Pickup, delivery, or both
• Language: English, Spanish, or multi-language support
• Layout preferences: Grid vs. list views, sidebar vs. header nav
• Feature flags: Location finder, rewards display, guest checkout, nutritional info
• Copy: CTA text, confirmation messages, error text

This meant sales could commit to feature configurations during contract negotiations, knowing we could deliver without custom development.

‍react over angular and rebuilding
‍
The initial SDK was built in Angular, but passing configuration variables through deeply nested components was cumbersome. React's props system made it much simpler to pass brand variables, feature flags, and layout settings down the component tree without complex workarounds.

I advocated for a complete React rebuild; the decision added 2 months to timeline but enabled the scalability that made the product successful.

visual strategy

responsive design
branding
accessibility
interaction patterns
information architecture

‍
desktop-first responsive design
‍
Unlike typical mobile-first approaches for ordering, I started with desktop layouts given user data showing lunch-rush ordering from office computers. Grubhub's clientele were mostly lunch-rush franchises.

Desktop (1280px+)  users, who converted at 2-3x higher, had full-featured layouts with sidebar navigation and multi-column grids; tablet (768px-1279px) condensed grids but maintained core structure; mobile (<768px) used single-column layouts with hamburger navigation and touch-optimized controls.

‍brand flexibility
‍
The SDK needed to feel native to each brand while maintaining UX consistency:
• Constrained flexibility: Brands could customize colors, fonts, imagery, button styles, card treatments, but not interaction patterns or information architecture
• Style guide compliance: Documentation showed which elements were customizable (headings, CTAs, backgrounds) vs. fixed (form validation, error messaging, accessibility features)
• Visual hierarchy preservation: Critical elements (add to cart/bag, checkout, price) maintained prominence regardless of brand styling
• Scalable asset system: Logo placement, hero imagery, category thumbnails worked across brand aesthetics

‍information architecture for complex menus
‍
Restaurant menus varied wildly, from shallow menus with 20 items (Wings Over) to deep menus with 100+ items and heavy customization (fresh&co, Chase Pay). Design solutions included:
• Sticky category navigation for quick-jump to sections
• Collapsed customization where modifiers stayed hidden until item detail
• Smart filtering (dietary, ingredient, calorie) that persisted as users browsed
• Visual meal building for bowl/sandwich builders showing selections in progress

‍key interaction and feature patterns
• Location finding: Geolocation for instant nearest locations, with manual override; map + list views; clear pickup vs. delivery availability
• Menu browsing: Item cards with quick-add for simple items vs. detail modal for complex customization; running total showing price updates
• Cart & checkout: Persistent cart visibility in header; easy editing without leaving cart; guest checkout option; payment flexibility (credit, saved payment, gift cards)

‍why it mattered
‍
Desktop-first approach aligned design investment with the highest-converting user segment. Brand flexibility let brands maintain identity while benefiting from Grubhub infrastructure. Polished, ready-to-deploy features became a sales differentiator in demos.

validation, testing, and tracking

phased rollout
QA
metrics-driven decisions

strategic testing approach
‍
With no existing web QA at Grubhub Agency, I decided on a  testing strategy: development with mock data for rapid iteration, staging connected to QA APIs for integration testing, and production for live validation.

Rather than comprehensive testing that would slow launches, I prioritized what mattered most: cross-browser consistency for the highest-traffic browsers, device testing, and performance thresholds that directly impacted conversion (<3s page load, <5s interactive). This approach enabled 4-6 week client launches while maintaining quality.

‍metrics that informed decisions
‍
I defined metrics across four layers to make strategic product decisions, not just track performance:
• Technical: Page load and API response times flagged infrastructure issues before they affected conversion
• User behavior: Conversion funnel and cart abandonment data validated interaction design choices
• Business: Time-to-launch and revenue per client proved the configuration model worked
• Client success: Order volume

These metrics drove pivots like when Chase Pay accessibility testing revealed gaps, causing us to fix ARIA labels standard for all clients.

‍phased rollout as learning strategy
‍
Rather than launching everywhere simultaneously, I designed in phases:

Phase 1 (months 1-6):
Proof of concept with easy clients that validated core ordering flows and identified common customization needs.

Phase 2 (months 6-8):
Chase Pay as flagship demonstrated Fortune 500 capability and reputation.

Phase 3 (months 8-10):
Rapid deployment of Nando's, Smoothie King, and Wings Over proved the configuration system worked, achieving <6 week launches.

Phase 4 (months 10+):
Team transition, hired full-stack lead, documented architecture.

trade-offs

speed > perfection
scalability > customization
scope management
data > trends

What I Prioritized
shipped core flows, skipped advanced features
‍
Custom agencies were really closing deals we couldn't compete for. I pushed to launch with basic ordering (location, menu, cart, checkout) instead of waiting for gift cards, delivery tracking, or full loyalty features. Guess what? first client live in 6 months, 10+ within a year.

‍desktop-first when everyone else went mobile
‍
With higher conversion on desktop during lunch rush, I optimized there first. Sales used polished desktop demos to differentiate from mobile-first or mobile-only competitors and close enterprise deals.

‍rebuilt in React mid-project
‍
Angular couldn't handle the level of configurability. My advocacy for a complete React rebuild was a non-negotiable. The component architecture was the only way this would scale.
‍
What I Said No To
‍
one-off client requests (that I didn't beleive we could really resell/upsell)
‍
When Nando's wanted a featured menu image, I didn't build it just for them. I built it as a toggleable component any client could use. When we had crazy one-off-type requests that I hypothesized to not impact conversion, I said no (kindly).

matching native app features
‍
Clients asked about push notifications, offline ordering, and advanced loyalty because our native apps had them. Web and native solve different problems. I focused on web's strengths and shipped what mattered.

‍polished animations and micro-interactions
‍
Sales loves a smooth transition and animation. I built beautiful loading states, but animations weren't moving conversion and would've slowed launches.

Hover to learn more about my  

key design decisions

Component-based architecture using variabled configuration

What I DID
Designed every component to accept config parameters instead of hardcoded values. New clients got a config file, not custom CSS or React code.

Why it mattered
This wasn't obvious. Building custom per client would've been faster for the first 2-3 clients and generated immediate revenue. But I knew we'd hit a wall: every new feature would require rebuilding per client. Configuration was slower to start but exponential scale. The bet paid off when we went from 3 clients to 15 without even needing to growing the team.

Desktop-first design aligned with user data

what I DID
Optimized for desktop (1280px+) first, then adapted down to mobile—opposite of industry standard.
‍
why it mattered

Everyone was building mobile-first in 2017. Going against this trend required conviction and data to back it up. While competitors demoed mobile apps, we showed enterprise-grade desktop ordering  that looked like it cost $200K to build AND the data to back it up. Sales used it to close deals.

Built custom requests as reusable or upsells

whAT I DID
When a client paid for a new feature, I baked it right in as a toggleable component any client could use.
‍
why it mattered

This one and done approach turned one-time fees into recurring upsells and kept us shipping fast. The pattern held: most custom requests became SDK features.

Results and Thoughts

Within 10 months, I shipped an entire web SDK that powered restaurant chains across 3,000+ locations, generated $400K in year-one revenue, and established web development capability at a one-native-only company.

did we hit those metrics of success?

CLIENT ADOPTION

10+

Target was 5-8 chains and 400+ locations. Exceeded by 3x on clients, 7.5x on locations with brands including Chase Pay, Nando's, Smoothie King, and Honeygrow.

REVENUE GENERATION

$400K

Target was $200K flat + $20K monthly. Hit $250K in implementation fees plus $150K monthly recurring ($400K total first year), exceeding targets by 25-100%.

TIME TO MARKET

Weeks

Target was <6 weeks. Met goal (averaging 4-6 weeks), establishing competitive advantage against custom agencies requiring 5-6 months.

client story

JPMorgan Chase needed a solution for their Chase Pay ecosystem that met Fortune 500 security and accessibility standards.
—
We enhanced the SDK with WCAG 2.0 AA compliance and custom payment integration, deployed it across Grubhub's ecosystem of restaurants, and closed the highest contract yet. This validated that the product could compete for enterprise deals.

reflections

Person drawing a red spiral, Creative project planning, Artistic thinking and process
What I learned OR REAFFIRMED

‍proving with shipping beats proving with decks
‍
Grubhub invested 5 years building native-only expertise. I didn't win the web argument with research or strategy presentations. I won by shipping the first clients fast, showing revenue, and demonstrating we could compete. Now I lead with "let me show you" over "let me convince you."

‍your team is everything
Going from solo designer-developer to hiring the full-stack lead and watching the product scale beyond what I could build alone was deeply satisfying. The best moments weren't shipping features, they were seeing teammates deploy clients using the system we built together, solving problems I hadn't anticipated, and having the best time doing it!

What I'd do differently

push for organizational commitment earlier
‍
I proved the market need through client success, but waiting until month 10 to get real resourcing meant we probably scaled slower than we could have. Next time, I'd make a harder push for treating this as a strategic channel by month 4-5, using early traction as leverage instead of waiting until it was "proven."

build direct feedback loops with restaurant staffWe listened to corporate clients (brand managers, marketing) but not enough to the restaurant staff fulfilling orders. Their operational pain points would've surfaced better design decisions. I'd establish regular sessions with frontline users from day one, not just stakeholders.

document why, not just what
‍
I created great implementation docs in Confluence for developers but didn't systematically capture design rationale because of time. Why did I say no to animations? Why desktop-first? Future designers had to reverse-engineer my thinking. Now I'd keep decision logs: problem, options, choice, tradeoffs, metrics. Makes the product *evolvable*.

explore more of my work

View all
Laptop displaying BioPhy software interface for AI-driven manufacturing validation, placed on a bright green cushion against a blue background.
BioPhy AI

Feature-Length
Case Study

BioPhy Logo
Laptop showing a Trello interface with a popup about ibm.com workspace details and upcoming integration.
Trello

Feature-Length
Case Study

Computer monitor displaying a restaurant pickup order page with an address input and blue button against a blue wall and red sofa.
Grubhub

Feature-Length
Case Study

Grubhub Logo
Tablet displaying a colorful cover page titled 'Curious George and the Dump Truck Activities' with an illustration of Curious George holding a shovel.
Curious
George

Feature-Length
Case Study

Smartphone displaying a real estate market analysis app for August with summary text and a month-over-month price per square foot bar chart showing an average of $51.
CoStar

Mini Case Study

LoopNet CoStar Logo
Smartphone displaying Pret Treats app with offers for Brownie Bite and Pret A Mango on red fabric background.
Pret

Mini Case Study

Pret  Logo
Desktop monitor showing car brand logos Audi, BMW, and Cadillac, with a smartphone displaying a product page on a green fabric surface against a blue background.
AutoTech
Trends

Mini Case Study

AutoTechTrends Logo
Laptop on red surface showing Hemab website with text about pioneering therapies for bleeding disorders and recent progress highlights.
Hemab
Therapeutics

Mini Case Study

Hemab  Logo
product designer with 13+ years of experience...
who cuts through ambiguity and gets teams aligned, leading design across enterprise platforms, AI products, and systems that became major revenue drivers.

From Atlassian-scale companies to pre-seed startups, I bring structure without slowing things down, make the case with executives, and solve the messy stuff.
ABOUT
HomeAbout MeContactDownload my RésuméLinkedIn
FEATURED
TrelloGrubhubBioPhyAICurious GeorgeAll Work
Robin Rotman Portfolio Logo
© 2025 Robin Rotman. All rights reserved.