
15+ years designing complex software products, from enterprise platforms serving millions to AI-powered ventures taken from idea to funding. Based in Des Moines, IA.
15+ years designing complex software products. From enterprise platforms serving millions to AI-powered ventures taken from idea to funding. I partner with cross-functional teams to ship software that solves real problems. I lead with customer discovery, first-principles thinking, and design craft.
Customer interviews, sacrificial concepts, journey mapping, assumption mapping, and concept testing. I dig into problems before jumping to solutions, and I use co-design sessions and workshops to get teams aligned and catch hidden requirements early.
AI is woven into how I design, not just what I design. I use Claude and Perplexity to map problem spaces, v0 and Cursor to prototype interactive flows in hours, Midjourney and Visily for visual exploration, and NotebookLM to synthesize research. It means I can explore more ideas and get real things in front of people faster.
Multiple 0→1 ventures, each taken from first customer conversation to paying product. I write specs, build clickable prototypes, and work side-by-side with engineering to ship. I own design end-to-end across multiple ventures and stay close to the build through prototypes, demos, and recorded walkthroughs that keep everyone moving in the same direction.
Built an AI-powered food compliance platform from zero, turning chaotic spreadsheet-driven processes into proactive, automated workflows for QA teams managing 100+ suppliers.
Built an AI-powered prospecting tool that normalizes data from 50+ sources into actionable workflows for independent insurance producers.
Turned complex AI forecasting models into daily tools that restaurant managers could actually use between rushes, during the 0 to 1 product phase.
Designed and launched the veterinary industry's first pet travel health documentation engine, now the standard used across the industry.
Co-founded Bruce AI and led product design from zero. Our team turned a chaotic, spreadsheet-driven food compliance process into an AI-powered platform that proactively manages documentation across entire supplier networks.
Food manufacturers and co-packers manage compliance documentation (certifications, lab results, allergen declarations) across 20 to 100+ suppliers, each with dozens of documents. Before Bruce AI, this all lived in Google Drive folders, spreadsheets, and email chains. There was no tracking for expirations.
The problems usually surfaced at the worst possible moment. A customer requests a document for a shipment, and that's when the QA team discovers it's expired. They scramble to request it again, causing delays and potential profit loss. During a recall, missing or expired documents can create serious liability.
This wasn't just a "digitize the spreadsheet" problem. The real challenge was designing a system that shifts QA teams from reactive (discovering expired docs during a crisis) to proactive (the system tells you what needs attention before it becomes a problem).
Before designing any screens, the team spent weeks in customer discovery. We interviewed QA managers, observed their workflows, and mapped their jobs-to-be-done. We used assumption mapping to prioritize the riskiest unknowns and co-design sessions with QA managers to test early product directions before committing to build.


Sacrificial concepts played a key role early on. These throwaway designs provoked honest feedback about what mattered and what didn't. Those conversations told us something important: QA teams didn't need a better spreadsheet. They needed a system that anticipated problems and told them what to do about it. That framing guided the rest of our design work.
Showing compliance status across 100 suppliers with dozens of documents each. That's a lot of complexity stacking up. Each document can be valid, expiring soon, expired, missing, or under review. Each supplier's overall compliance depends on all of their docs. On top of that, the AI categorization confidence, the alert system, and supplier onboarding all compound on each other.
The challenge was making all of this readable at a glance while still providing the depth QA managers need to actually take action.
We structured the information architecture around three main layers, each documented in detailed design specs that aligned the team before engineering work began:
Dashboard layer: Rolled-up, actionable compliance status. Not vanity metrics, but things you need to act on today.
Document views: Deep-dive into the specifics of individual documents: status, expiration, AI categorization, linked supplier.
Supplier onboarding: A flow for bringing new suppliers into the system and collecting their documentation without creating a massive upfront burden.


All documents are automatically scanned and categorized using AI. But QA managers need to trust that categorization before they'll stop manually reviewing everything. We designed the system to surface confidence levels, allow manual overrides, and show its work. That way managers could verify early and build trust in the system over time.


With the variety of document types, compliance states, and supplier configurations, we established reusable patterns early: status indicators, document cards, compliance badges, and alert hierarchies. These patterns needed to scale as customers brought on more suppliers without the interface becoming overwhelming. Documenting these as a component library gave engineering a shared language and reduced design-to-dev handoff friction.
We went from concept to a working product in two months. Five enterprise customers onboarded, and their supplier networks brought hundreds more onto the platform — saving QA teams over six hours a week. The bigger shift: teams moved from reactive crisis management to proactive compliance. The system tells them what needs attention before a shipment or an audit, not after.
Led product design for Otto at 1848 Ventures, where our team built an AI-powered sales platform that transforms how independent insurance producers find, evaluate, and win commercial accounts.

Independent insurance producers spend a lot of time prospecting manually. They buy lists, search for similar businesses, and piece together information from scattered sources. There wasn't a tool that pulled all of this together for independent agents.
Insurance prospecting isn't just "find leads." It's a multi-step intelligence workflow: discover a prospect, understand their risks, prepare for a conversation, then match to the right carriers. Each step requires different data, displayed differently, for different decisions.
Insurance was a fairly new domain for the team. We started with competitive analysis of existing prospecting tools and extensive customer discovery. We shadowed independent producers, sat in on sales calls, and storyboarded their end-to-end workflow. That research gave us the jobs-to-be-done that guided the product architecture.


I ran ideation sessions to rapidly explore product directions, then used concept testing with producers to validate which approaches resonated. Each major feature started with a design spec that defined the problem, proposed interaction patterns, and documented trade-offs. That kept everyone focused on the same user problems as the product evolved quickly.
Prospect discovery: Producers can search for specific prospects or receive AI-recommended leads based on their preferences and carrier appetites.

Risk analysis: Once a producer identifies a prospect, they see a comprehensive risk profile with all the information they need to decide if they want to pursue the lead.

Conversation prep: Otto helps producers prepare for discussions. It knows exactly what risks they need to ask about, so they walk into meetings feeling confident.

Carrier matching: Based on the risk profile, Otto matches prospects to the right carriers so producers write business that underwriters love to approve.

With 50+ AI agents pulling data from different sources, the team needed strong patterns for displaying varied data types consistently. We built a component framework that could handle everything from financial data to location info to industry-specific risk factors - all of it layered so producers see what matters first and can drill deeper when needed. The information architecture had to balance depth for power users against approachability for producers who aren't especially technical.
Otto went from idea to seed funding in under a year, with paying customers within two months of launch. The product normalizes data from 50+ AI sources into a single interface — something producers hadn't seen before in their space. We also built an advisory board of industry experts who shaped the product direction and opened doors to early customers.
Led product design during the 0 to 1 phase of Lineup.ai partnering with engineering and data science to turn complex AI forecasting models into daily tools that restaurant managers could actually use between rushes.

Restaurant managers make scheduling, forecasting, and labor decisions that directly impact profitability. Most of them rely on gut instinct and spreadsheets. AI can predict demand, optimize schedules, and reduce labor costs, but only if managers trust it enough to actually use it.
The product needed to work for two very different audiences: corporate operations teams (data-heavy, analytical) and individual restaurant managers (time-crunched, action-oriented, on the floor all day).
The hardest part wasn't the AI. It was the trust gap. Restaurant managers have decades of intuition about their business. An AI forecast that says "you need 2 fewer servers Friday night" feels risky when you're the one who'll hear about it if service suffers. The design had to let them feel in control while nudging them toward better decisions.
The founding team worked closely with the Jobs to be Done (JTBD) framework to understand the functional, emotional and social aspects of the Job, which helped inform the early ICP of the product. We also used the JTBD outputs to guide the early product MVP, sales and support processes, and GTM approach. We ran regular feedback sessions with both corporate ops teams and on-the-ground managers and employees to validate assumptions and catch misalignments early.


This multi-audience challenge shaped every interaction pattern: corporate users needed data density and configurability, restaurant managers needed glanceable, action-oriented views they could use between rushes, and employees needed to see and adjust their schedules and receive critical information from managers.
Auto-scheduling became one of the product's signature features, and it started from a clear pain point we heard during customer discovery. Restaurant managers were spending hours each week building schedules manually, juggling availability, labor laws, skill mix, cost targets, and training requirements. We mapped their end-to-end scheduling journey from pre-shift prep through close to understand where AI could reduce cognitive load without undermining their expertise.
The team used sacrificial concepts to test very different scheduling approaches with managers, from fully automated to heavily manual, before committing to an interaction pattern. Concept testing showed us that managers didn't want to be removed from the process. They wanted a smart starting point they could adjust. That insight guided the rest of the design.


We iterated from early concepts to a shipped workflow that launched across both the web dashboard and the mobile employee app. The interface had to make a tangled web of constraints feel manageable without hiding the complexity underneath.
Demand forecasting: AI predictions for sales, traffic, and labor needs. The forecast views were designed to show not just what the system recommended, but why. We made the AI's reasoning transparent and editable.
The override system: Managers could override any AI suggestion, and the system learned from those overrides. It's not "the AI knows best." It's "let's figure this out together, and the system gets smarter over time."


Giving managers the confidence they would be prepared for whatever the day gave them. The shift from "I don't trust this forecast" to "I feel ready for today" was the moment the design was working. That's a design achievement, not just a data science one. It came from the whole team iterating on the right signals to surface.
Built from the ground up as a 0-to-1 product. Hundreds of managers use the mobile app daily, and the platform scaled to serve multi-location restaurant groups. We also established the design system that became the foundation for the broader product team.
Led design and launch of the veterinary industry's first international pet travel health documentation engine, working with a cross-functional product team to build a platform now used across the industry.

International pet travel requires complex health documentation that varies by country, species, and constantly changing regulations. Veterinarians were spending hours researching requirements for each trip, often navigating multiple government databases and hoping they had the latest information.
The product served very different users with very different needs: veterinary offices creating and managing documentation, individual pet owners tracking their requirements, and regulatory bodies setting the rules. Each user type needed a different view into the same underlying data.
We conducted experience mapping across all three user types to understand their end-to-end workflows and emotional states, then mapped the jobs-to-be-done for each to define the navigation model and feature hierarchy. That way each audience could accomplish their core tasks without being overwhelmed by functionality designed for other roles.


The hardest design challenge was structuring ever-changing regulatory information in a way that felt manageable. Requirements differ by destination country, departure country, species, and they update frequently. We used card sorting and tree testing with veterinary staff to validate the information architecture, then designed a system that surfaced the right requirements at the right time, guiding users through the process instead of dumping all the complexity on them at once.
Usability testing across veterinary offices helped the team iterate on the documentation workflow, catching friction points that weren't visible in the design phase and ensuring the product worked in real clinical environments.

As the MVP grew, we established design standards, reusable component patterns, and documentation that enabled the broader product team, including engineers, to make strong design decisions on their own. This included heuristic-based review processes and a shared component library that raised the quality bar across the organization and reduced reliance on design bottlenecks.
Once we had defined and built out the first version of our product, we launched in beta to a targeted group of key users.
By launching with a small beta group, we were able to quickly and frequently gather feedback from veterinarians using the product in their practices, and iterate and release updates in a short period of time.
GVL became the first pet travel health documentation engine and is now used by the majority of the veterinary industry. We shipped multiple products from inception during my time there, and the design system and guidelines we established continue to scale quality across the organization.

I'm a product design leader based in Des Moines, IA with 15+ years designing complex software products across enterprise, startup, and venture studio environments.
I work best embedded in cross-functional teams, partnering with engineering, product, and data science to go from unclear problems to shipped products. AI tools are woven into how I work - I use them to explore concepts, prototype quickly, synthesize research, and iterate faster. My approach leans on customer discovery, Jobs to Be Done, and design specs as alignment tools, not just deliverables.
Most recently at 1848 Ventures, I co-founded two AI-powered ventures (Bruce AI and Otto) with small, fast-moving teams, taking both from concept to paying customers. I'm most energized by the 0 to 1 phase: taking an ambiguous problem, talking to customers, and building something that actually works for them.
When I'm not designing products, I'm involved in the Des Moines community. I've served on the board of the Greater Des Moines Leadership Institute and Girls Rock! Des Moines, among others.