Product design · selected work 2025–2026

Tools people trust when the rules can’t bend.

I design and ship internal tools and customer flows where business, legal or regulatory rules are fixed — then make the path through them obvious. Each case below shows the problem, the constraints I worked within, the decisions I made and what shipped.

20 years in designDiscovery → shipped, end to endPrototypes in React/TypeScriptCuritiba, Brazil · GMT-3
01 · Internal tool
Benefits that HR stopped recalculating by hand
HR platform for a four-company group
02 · B2B SaaS
Showing a manager where quality is lost
AI grading of customer-service conversations
03 · Customer-facing
Wholesale buying without leaking a single price
B2B area for a pet-health manufacturer
01 · Internal tool · 2026

Benefits that HR stopped recalculating by hand

Product · HR platform, 19 screens, desktop + mobile
Users · HR team and ~70 employees across 4 companies
My role · discovery, flows, UI, build and testing — solo, with the HR lead

The group paid for an off-the-shelf HR platform that had already hit its employee cap — and still ran half the process in spreadsheets. Every month someone cross-checked absences, vacations and holidays by hand to work out each person’s meal and transport benefits, for four companies with different rules.

Rules I couldn’t change

  • Meal and transport benefits follow the working calendar: absences, vacation days and regional holidays all change the amount.
  • Holidays depend on where each employee works, not on the company.
  • HR must be able to override a value — but every override needs a reason someone can audit later.
  • Employee data is personal data: the public careers page could never touch the HR database.

Decisions

  • Kept the HR team’s own mental model: company totals first, per-employee calculation one tab away, configuration behind a third.
  • One explicit action — “Recalculate (pull absences + vacations)” — instead of silent background changes, so HR knows when numbers moved.
  • Exceptions live on their own screen with a mandatory justification, and every person has a day-by-day breakdown to answer “why is mine lower?”.
  • Careers portal built as a separate public surface with no database exposure.

Trade-offs

  • Rebuilt instead of upgrading the plan: the SaaS was at its employee cap and the real pain — benefits — still lived in spreadsheets anyway.
  • Every screen works on a phone too — HR’s dense tables are designed for desktop, but nothing breaks when an employee opens it on mobile.
  • Replaced a paid behavioural assessment with an in-house one (96 adjectives, 24 balanced blocks) — more work up front, no per-test cost.
Benefits screen: monthly totals by company with recalculate action
Benefits — monthly totals per company, one explicit recalculation from real absences and vacations.
HR overview on mobile
HR overview on mobile.
Turnover dashboard
Turnover — the formula is on screen, so leadership trusts the number.
To the cent
Meal benefits matched the real month across all four companies when we replayed it through the engine.
19 screens
Replaced the paid SaaS plus the spreadsheets — employees, incidents, vacation, reviews, payslips, hiring.
Daily checks
Every route is exercised end to end and screenshotted each morning; regressions get caught before HR sees them.
02 · B2B SaaS · 2026

Showing a manager where quality is lost

Product · multi-tenant platform that grades support conversations with AI
Users · customer-service managers and admins
My role · product definition, flows, UI, build

A customer-service software company had hundreds of conversations a day and only one way to judge quality: a manager reading a sample and going with their gut. The AI could grade every conversation — the design problem was turning hundreds of scores into a decision a manager can make in a minute.

Rules I couldn’t change

  • Each client defines its own criteria and weights — the product can’t impose a quality standard.
  • Support, finance and sales have different response-time targets (SLA), mapped by queue.
  • Clients are isolated tenants; an admin can “view as client” but data never crosses over.

Decisions

  • Led with a “target vs. actual” view: the weight the manager configured against what was delivered.
  • Added “Where the gap is” — each criterion as a bar, sorted by the biggest loss, so the first thing read is the first thing to fix.
  • Split attention: low-scoring conversations from the last 24h on one side, five-star ones on the other — coaching and recognition in the same glance.
  • Before the AI grades anyone, it writes back “what I understood” about the client’s rules in plain language — trust starts with the manager checking the AI, not the other way round.

Trade-offs

  • Fewer charts, more ranked lists: managers act on “who and what”, not on curves.
  • PDF and CSV export kept simple — the dashboard is the product, reports are for the meeting.
Quality dashboard with AI feedback and configured vs delivered radar
Dashboard — volume, quality, satisfaction and SLA up top; an AI summary of the operation; configured vs. delivered per criterion.
Gap per criterion
“Where the gap is” — what each criterion should add to the score vs. what it actually adds.
Per-client knowledge base with what the AI understood
Knowledge base — “what the AI understood”, written back in plain language so the client can check the rules before anyone is graded.
91
real conversations graded across 8 agents in production, on live data — not a mock-up.
Per client
criteria, weights and SLAs configured by each tenant and fed straight into the grading.
1 screen
from “how are we doing?” to “who needs coaching, on what” — no reading conversations one by one.
03 · Customer-facing · 2026

Wholesale buying without leaking a single price

Product · B2B area inside a live e-commerce store
Users · pet shops and distributors buying with a company ID
My role · flow, UI, rules and build

A pet-health manufacturer sold direct to consumers and wanted retailers to buy in the same store, at their own price tier, without a sales rep in the middle. The hard part wasn’t the screens — it was making sure a business price could never reach a consumer, and that the order matched what the ERP would invoice.

Rules I couldn’t change

  • Only registered companies (valid company ID) can see wholesale prices.
  • Two tiers — retailer by default, distributor only when an admin approves.
  • The ERP is the source of truth for every price; orders are invoiced to the company.
  • Consumer coupons never stack with wholesale prices.

Decisions

  • Sign-up looks up the company ID in the public registry and pre-fills legal name and status — less typing, fewer fake accounts.
  • Everyone starts as retailer and can buy immediately; upgrading is an admin decision, not a form.
  • The server decides which price a person sees; wholesale responses are never cached at the edge.

Trade-offs

  • Checkout re-checks every line against the ERP — a little slower, but an order can’t go out at a stale price.
  • If the ERP doesn’t answer, B2B checkout stops with a clear message instead of guessing; consumer checkout keeps working.
B2B area: sign-up with company ID
Retailer area — sign up with the company ID (legal name fills in from the registry), buy at your tier. Live at aionpharma.ind.br.
Also

Work I can describe but not show

emCall redesign

Intelligence Factory · US healthcare AI · 2025

Redesign of a digital-health product used by clinics and patients — journeys, flows and high-fidelity UI — plus pages for clinical care-pathway schemas and care-plan generation, built in Webflow and optimised for mobile.

Internal AI tools unit

StormX · martech · 2026

As production lead I own UX/UI and the design system for a set of internal AI tools (creative approval, content casting, ads QA), and built the unit’s delivery dashboard. Under NDA.

Client approval tool

Creative agency · 2026

Replaced a third-party plugin: clients review images, PDFs, copy and live sites from a link on their phone, pin comments and approve; the team resolves and assigns in one queue.