# KAHUE > Senior Product Designer with 10+ years across fintech, e-commerce, telecom and SaaS. I combine research, design systems and front-end implementation to move operational numbers, including an 18% drop in the number of appliance returns right after the change. Bilingual in English and Portuguese, with certificates and courses in AI from Google and Anthropic. Site: https://www.kahue.net/ Contact: https://www.kahue.net/contact/ ## Pages - [About](https://www.kahue.net/about/): profile, experience, credentials and skills - [Work](https://www.kahue.net/): selected product design cases - [Blog](https://www.kahue.net/blog/): technical writing on design, front end and search - [Contact](https://www.kahue.net/contact/): WhatsApp, e-mail and LinkedIn ## Posts - [PDFs on your site: when to offer one and how to label it](https://www.kahue.net/blog/pdf-no-site/): When a PDF helps and when it gets in the way, why the HTML page comes before the file and what the link should say so people can decide to download. - [Accordions: when collapsing content helps people read](https://www.kahue.net/blog/conteudo-recolhido/): When it's worth hiding part of a page in an accordion, when it's better to leave everything open and what a collapsed block needs so people find and open it. - [Link previews: what people see when they share a page](https://www.kahue.net/blog/previa-de-link/): Which tags build a link card on LinkedIn and WhatsApp, which image to use, why an old preview sticks around and what kahue.net still lacks. - [Interface animation: when it helps and how to reduce motion](https://www.kahue.net/blog/animacao-na-interface/): What animating an element on screen is for, how long a transition should last and how to respect people who asked their system for less motion. - [Modal dialogs: when to interrupt and how to let people out](https://www.kahue.net/blog/janela-modal/): When a modal dialog is worth the interruption, when a message on the page works better and what it needs so people can close it without effort. - [404 pages and redirects: when a page changes address](https://www.kahue.net/blog/pagina-404-e-redirecionamento/): What to do when a URL stops existing: a permanent redirect with no chain, a 404 or 410 with the right code and an error page that offers a way out. - [Website images: size, format and when to load them](https://www.kahue.net/blog/imagens-no-site/): How to serve light images without losing sharpness: srcset and sizes, WebP and AVIF, reserved space, lazy loading only below the fold, priority for the hero. - [Ecommerce filters: how to help people narrow the catalog](https://www.kahue.net/blog/filtro-na-loja/): When to apply filters, why several options in one group should combine, how to show what's active and what changes on a phone. - [Structured data: what JSON-LD does and what it can't promise](https://www.kahue.net/blog/dados-estruturados/): What structured data is, why Google prefers JSON-LD, which rules it enforces and why correct markup still doesn't guarantee a rich result in search. - [Page title and meta description: what to write for search](https://www.kahue.net/blog/titulo-e-descricao-da-pagina/): How Google builds the title and summary of each result, when it replaces what you wrote and what to put in the title and the meta description. - [Ecommerce site search: what helps people find the product](https://www.kahue.net/blog/busca-na-loja/): Where to put the search box, which queries it has to understand, how to suggest terms and what to show when a search finds nothing. - [Notifications and reminders: when an alert is worth it](https://www.kahue.net/blog/notificacao-e-lembrete/): When an alert is worth the interruption, how to ask for permission, what to write, which channel to use and what research measures about reminders. - [Comparison tables: when they help and how to design them](https://www.kahue.net/blog/tabela-de-comparacao/): When a comparison table helps people choose, how many options fit, what to make explicit and when a filter is better. - [Drag and drop: when it helps and what alternative to offer](https://www.kahue.net/blog/arrastar-e-soltar/): When dragging makes things easier, where the gesture costs you, what WCAG 2.2 asks for and how to design the grab, the feedback and undo. - [llms.txt: what it is, who reads it and when it's worth it](https://www.kahue.net/blog/llms-txt/): A Markdown file that sums up a site for AI agents. What it does, what it doesn't, what Google says and when it's worth having one. - [FAQ pages: when they help and how to write them well](https://www.kahue.net/blog/perguntas-frequentes/): An FAQ page only helps when the questions are real. When it's worth having, how to write it and what changed in Google Search in 2026. - [E-commerce carousels: when to use one and how to design it](https://www.kahue.net/blog/carrossel-no-e-commerce/): Lots of people scroll right past a carousel. When it earns the space, how many items fit and why it shouldn't rotate on its own. - [Visual design testing: 5-second, first-click, preference](https://www.kahue.net/blog/teste-de-design-visual/): Three quick tests for first impression, findability and visual choice. What each measures and what it doesn't. - [AI chatbot handoff: when and how to bring in a person](https://www.kahue.net/blog/passagem-para-atendente/): A direct request, a failed repair or an out-of-scope topic calls for a person. How to hand off the chat so nobody has to repeat themselves. - [Evaluating AI output: one good answer is not enough](https://www.kahue.net/blog/avaliar-saida-de-ia/): One good AI answer is an example. Evaluation needs representative inputs, repeated runs and a keep-or-drop call by task. - [Remote usability: moderated vs unmoderated testing](https://www.kahue.net/blog/teste-remoto-moderado-nao-moderado/): In remote usability testing, a moderator brings depth. Without one, the study is cheaper and faster. Choice depends on prototype, task and needed data. - [AI cost per conversation: model, timing and a monthly cap](https://www.kahue.net/blog/custo-de-ia-por-conversa/): AI cost per conversation drops with a model picked per task, cached context, off-peak pricing and a monthly cap that warns before it blocks. - [Affinity diagramming: turning research notes into themes](https://www.kahue.net/blog/diagrama-de-afinidade/): Interview and test notes become themes when the team clusters them around a focus question, uses labels that say something and checks against the data. - [Diary studies: when UX research needs time, not a lab](https://www.kahue.net/blog/estudo-de-diario/): Participants log use over days. It captures habits, journeys and change. Not a single-session usability test. - [Card sorting: open, closed, and what to validate next](https://www.kahue.net/blog/card-sorting-aberto-fechado/): Participants group labels. Open finds the mental model, closed validates little, and a tree test checks the navigation. - [Mixed-methods research: when to combine qual and quant](https://www.kahue.net/blog/pesquisa-mista-quali-quanti/): Qual shows the why and quant shows the scale. The three mixed-methods designs and when each one is worth the cost. - [Stakeholder interviews: what to ask before a project starts](https://www.kahue.net/blog/entrevista-com-stakeholder/): Decision makers know a project's history, goals and constraints. How to map who to talk to, a four-topic guide, and why their answers become hypotheses. - [A UX metric is not an outcome: baselines and conversions](https://www.kahue.net/blog/metrica-de-ux-e-resultado/): Reporting deliverables and usability scores won't win a budget meeting. How to pick a baseline, split macro from micro conversions, and where NPS falls short. - [Automatic meeting notes: a bot, a recording, or no one](https://www.kahue.net/blog/ata-de-reuniao-automatica/): A bot in the call, a recording transcribed later, or minutes read out at the end. What each path captures, who must know, and why a transcript is not minutes. - [Expert review without users: heuristics and walkthroughs](https://www.kahue.net/blog/revisao-especialista-sem-usuario/): Heuristic evaluation, cognitive walkthrough and scoring rubrics find problems without recruiting anyone. What each judges, how to run it, and what needs a test. - [Instructions for a coding agent: what goes in the rules file](https://www.kahue.net/blog/instrucao-para-agente-de-codigo/): Done criteria, stop points, and what else belongs in the rules file. The rest becomes a hook, a skill, or a subagent. - [Accessibility you can verify: where the guideline stops](https://www.kahue.net/blog/acessibilidade-conferivel/): Contrast, alt text, focus and font size can be checked before anyone opens the page. What the guideline settles, and what it leaves to you. - [Ecommerce checkout: where the decision gets interrupted](https://www.kahue.net/blog/compra-no-e-commerce/): The NN/g archive on ecommerce checkout: price, cart, sizing, mobile, and the basics that still break even as online shopping gets easier. - [Field errors in forms: what the research recommends](https://www.kahue.net/blog/formulario-e-erro-de-campo/): How the NN/g archive says a form should report a field error, where the guidelines agree, and where they still contradict each other. - [Your research data may be invalid before the analysis](https://www.kahue.net/blog/invalid-research-data/): Survey bots, stale panels, and tools that hide method errors can spoil research data before the analysis begins. The NN/g archive shows what to check. - [Material color roles: applying them without losing the brand](https://www.kahue.net/blog/material-cor-e-papel-de-cor/): A color role names the job a color does in the UI. How the Material guide splits role from value, where a pairing fails, and what brand color changes. - [Material spacing and grid: what the scale really decides](https://www.kahue.net/blog/material-espacamento-e-grade/): The spacing scale fixes padding, gaps and margins on an 8dp base. What it settles, what the grid leaves open, and which number to check after. - [Material interaction states: layer, focus and touch](https://www.kahue.net/blog/material-estado-e-interacao/): State layers show what a component is doing without repainting it. Where the guide is precise, where it stays silent, and which numbers to check. - [Material typography: scale, tokens and line height](https://www.kahue.net/blog/material-tipografia/): A type scale gives each text role a size, weight and line height. How the Material guide builds it, and what it leaves open for your brand font. - [Material Design tokens: what they are and what they decide](https://www.kahue.net/blog/material-tokens-e-tema/): A design token names a style value so design and code read it from one place. What the three Material token classes decide, and when tokens are not worth it. - [Navigation and link labels: what NN/g research shows](https://www.kahue.net/blog/navegacao-e-rotulo-de-link/): Hidden menus, link labels, visited links and pagination. What the NN/g archive measures in navigation, and where its own articles disagree. - [Typography and reading on screen: what research measures](https://www.kahue.net/blog/tipografia-e-leitura-na-tela/): Nielsen Norman Group measured font speed, scan patterns, and how little people read. A guide to what its experiments actually show. - [Single field signup vs staged form: what the research shows](https://www.kahue.net/blog/ab-signup-single-field/): Ask for one identifier first, then ask for the rest when the user needs the feature. What Baymard and WCAG say about signup fields, labels and autofill. - [A/B test sample size, significance and when to stop](https://www.kahue.net/blog/ab-test-sample-size/): How to size an A/B test sample, what significance does and does not prove, and why peeking at the result and stopping early breaks the reading. - [How AI answer engines choose and cite your sources](https://www.kahue.net/blog/ai-answer-engines-citations/): Ranking first is not being cited. What an answer engine extracts from a page, the structure that helps, and how to measure citations. - [AI in the design workflow: where it helps and hurts](https://www.kahue.net/blog/ai-in-design-workflow/): AI cuts the cost of production in a design workflow, not the cost of a decision. Where it helps, where it hurts, and what stays under human control. - [AI in research synthesis: what it does and what it costs](https://www.kahue.net/blog/ai-research-synthesis/): AI groups what you already read, it does not read the interview for you. Where it accelerates, where it contaminates, and how to review the output. - [Multilingual SEO in Astro: declaring versions and regions](https://www.kahue.net/blog/astro-multilingual-seo/): Hreflang tells a search engine that two URLs are the same page in two languages. What the annotation requires, what the sitemap adds, and what it cannot fix. - [Pure CSS or utility framework: where the rule lives](https://www.kahue.net/blog/css-vs-framework/): A utility framework does not charge in bytes. It charges in decisions you keep making. Compare where the rule lives and who sets each value. - [Dark mode is not inverted color: contrast in practice](https://www.kahue.net/blog/dark-mode-contrast/): Why dark mode is not inverted color, what WCAG 2.2 asks from text, components, focus and disabled states, and how to test contrast in the build. - [Dense data products fail on hierarchy, not on volume](https://www.kahue.net/blog/dense-data-product/): A dense table is not the problem. Showing every field with the same weight is. Hierarchy by weight, space and grouping, plus filter, sort and empty states. - [Design systems die after launch, not on launch day](https://www.kahue.net/blog/design-systems-after-launch/): Why a design system dies after launch, and how versioning, deprecation, contribution and a recorded exception keep it alive. - [Why five participants is enough for a usability test](https://www.kahue.net/blog/five-participant-usability-test/): The research behind testing with five participants, when five is not enough, and how to write tasks that do not lead the answer. - [JavaScript framework or static site: what the page does](https://www.kahue.net/blog/framework-vs-static-site/): A framework pays off when the page carries state, not when it only shows content. Compare what the visitor downloads, what the server does and the next click. - [Funnel analysis: what GA4 and heatmaps show, and hide](https://www.kahue.net/blog/funnel-analysis/): What GA4 exploration funnels count, where heatmaps and session recordings mislead, and how to turn a funnel finding into a testable hypothesis. - [Semantic HTML first: accessibility that needs no ARIA](https://www.kahue.net/blog/html-accessibility/): Semantic HTML is the first layer of accessibility. What the right element solves, when ARIA is required, and what you can test without paid tools. - [Loading and empty states: where interfaces tend to lie](https://www.kahue.net/blog/loading-empty-states/): Loading, empty, error and success are four states, not one. What each one promises, what a screen reader announces and how to verify before shipping. - [Material Design: why big companies borrow Google's system](https://www.kahue.net/blog/material-design/): Material Design is Google's open design system, first shown in 2014. What changed from version 1 to 3, why large teams adopt it, and when they should not. - [Static, incremental or dynamic rendering in Next.js](https://www.kahue.net/blog/nextjs-rendering/): Static rendering runs once at build, ISR rebuilds in the background and dynamic renders per request. What each mode costs and when dynamic is required. - [Own design system or library: who pays maintenance](https://www.kahue.net/blog/own-design-system-vs-library/): Build or adopt is the wrong question. Compare who owns the change decision, what an exception costs, and who maintains the code in year three. - [Product microcopy: who writes it and when it ships](https://www.kahue.net/blog/product-microcopy/): Interface text is interaction design, not marketing. Who writes it without a UX writer, when it enters the process, and the review criterion that holds. - [Search intent: how it decides the format before you write](https://www.kahue.net/blog/search-intent/): Intent decides the format before the first line. Where the label fails, how to check it, and what natural language search changes. - [The voltage bug: 18% fewer appliance returns at checkout](https://www.kahue.net/blog/voltage-choice-before-checkout/): A required voltage choice before checkout cut appliance returns by 18%. Brazil runs on two nominal voltages, 127 V and 220 V, and how to find this bug. - [VTEX IO headless: two sources of truth and the real cost](https://www.kahue.net/blog/vtex-io-headless/): Headless commerce moves the cost from the front end to keeping two sources of truth. How to split editorial content from catalog data in one base. - [WordPress or Astro: what the platform choice costs you](https://www.kahue.net/blog/wordpress-vs-astro/): WordPress and static site generators trade different work. Compare page delivery, attack surface, hosting cost, and Core Web Vitals before you choose. ## Languages - English: https://www.kahue.net/ - Portugues (Brasil): https://www.kahue.net/pt-br/ - Espanol: https://www.kahue.net/es/ Text may be quoted with attribution to KahuĂȘ Morais and a link to the page.