Pravaler App
do Aluno

Company
Pravaler | Student credit fintech
Designing with
Product Manager
Group Product Manager
React Native Engineering
CX Team
CRM & Data
My role
Product Design Specialist, end-to-end on the new student app: discovery, UX/UI, research, design system and handoff
Date
2024 - 2026

At a glanceEm resumo

ContextContextoPravaler, a Brazilian student-credit fintech. A new React Native app replaced a legacy Flutter one and became the student’s main self-service channel.Pravaler, fintech brasileira de crédito estudantil. Um novo app em React Native substituiu o legado em Flutter e virou o principal canal de autoatendimento do aluno.
ProblemProblemaStudents called support for tasks the app should solve (open amounts, boleto copies, due dates), at about R$16 per human contact.Alunos ligavam para o atendimento por tarefas que o app deveria resolver (valores em aberto, 2ª via, vencimentos), a cerca de R$16 por contato humano.
My roleMeu papelProduct Design Specialist, end to end: strategy, research, prototyping, design system, measurement and rollout. The PM owned analytics and event tagging.Product Designer Especialista, de ponta a ponta: estratégia, pesquisa, prototipação, design system, mensuração e rollout. O PM ficou com analytics e tagueamento.
55kunique users, 85% of them using My Financingusuários únicos, 85% deles usando o Meu Financiamento
80%of renewing students used the new in-app renewaldos alunos em renovação usaram o novo fluxo no app
4.4CSAT in productionCSAT em produção
−44%misclicks on the new Payments flowcliques errados no novo fluxo de Pagamentos
Phase 1 of 3Fase 1 de 3

DivergeDivergir

Why the old channel failed, and what to build first.Por que o canal antigo falhava e o que construir primeiro.

01 · Strategy & problem statements01 · Estratégia e problemas

More than a boletoMais do que um boleto

In 2024 the app was a place to pay a boleto (the Brazilian bank payment slip) and leave. The bet: make it the student’s main self-service channel, rebuilt from zero in React Native.Em 2024, o app do Pravaler era um lugar para pagar o boleto e sair. A aposta era transformá-lo no principal canal de autoatendimento e relacionamento do aluno. Isso significou deixar o app legado em Flutter e reconstruir o canal do zero em React Native: uma decisão de produto, não um redesign.

Legacy technologyTecnologia legadaA Flutter app sharing a back-end with the web portal and missing basic mobile heuristics: hard to scale, monitor and evolve.Um app Flutter com back-end compartilhado com o portal web e sem heurísticas mobile básicas: difícil de escalar, monitorar e evoluir.
R$16per human contactpor contato humano
What every call really costQuanto cada ligação custava de verdade

Every hand-off from the WhatsApp bot to a person cost about R$16. With CX, we ranked contact reasons to decide what the app solves first.Cada transbordo do bot de WhatsApp para uma pessoa custava cerca de R$16. Com o CX, ranqueamos os motivos de contato para decidir o que o app resolveria primeiro.

Problem statements from continuous discoveryProblemas enquadrados no discovery contínuo
PaymentsPagamentos

How might we make every bill understandable and payable without calling us?Como fazer cada boleto ser entendido e pago sem precisar nos ligar?

From that ticket breakdown: doubts about open amounts (23%), second copy of the boleto (14%), due-date change (11%) and payment advance (8%) led the contact reasons.Pelo recorte dos tickets: dúvidas sobre valores em aberto (23%), 2ª via de boleto (14%), troca de vencimento (11%) e antecipação (8%) lideravam os motivos de contato.
Contract & renewalContrato e renovação

How might we make a long, regulated credit contract predictable?Como tornar previsível um contrato de crédito longo e regulado?

7 of 7 interviewees struggled with re-hiring; readjustments came without communication, and payment behaviour affects renewal.7 de 7 entrevistados tiveram dificuldade na recontratação; reajustes chegavam sem comunicação, e o comportamento de pagamento afeta a renovação.
CommunicationComunicação

How might we reach the right student, about the right status, at the right time?Como falar com o aluno certo, sobre o status certo, na hora certa?

Communication was mostly by e-mail, and 7 of 7 interviewees ignored notification permission prompts.A comunicação era majoritariamente por e-mail, e 7 de 7 entrevistados ignoravam os pedidos de permissão de notificação.
43kpeople using the app on average
80%of users with a signed (formalized) contract
50%paying with a barcode
30%of users are payers or guarantors, not students
A product-led launch, step by stepUm lançamento orientado a produto, passo a passo
10Family & friends test
245Closed beta on the stores
+20%of the installed base
+50%of the installed base
100%Legacy app discontinued
Novo app chegando! modal
Gradual migrationBanners inside the legacy app invited students to the new one.
Guided tutorial: four onboarding steps
Guided tutorialFour skippable steps about what changed.Quatro passos puláveis sobre o que mudou.
Beta success criteriaTargetResult
Critical errors< 1%0%
CSAT> 44.2
Notification opt-in≥ 70%83%
Uninstall rate< 60%17%

Beta with 155 active users: 62% used payments; PIX was the most copied code (66%). Each rollout step waited for every criterion.

My decisionMinha decisão
Earn the opt-inConquistar o opt-in7 of 7 interviewees ignored permission prompts, so the tutorial explains the value of notifications before asking. Result: 83% opt-in.7 de 7 entrevistados ignoravam pedidos de permissão, então o tutorial explica o valor das notificações antes de pedir. Resultado: 83% de opt-in.
Phase 2 of 3Fase 2 de 3

ConvergeConvergir

Findings turned into a system: shared components and a status language.Os achados viram sistema: componentes compartilhados e uma linguagem de status.

02 · Design system02 · Design system

One library for design and React NativeUma biblioteca para design e React Native

The first styleguide had colours named like paint samples and 37 one-off text styles. I rebuilt it as one library shared with React Native engineering, where every name says what it is for.O primeiro styleguide do app tinha cores com nomes de amostra de tinta e 37 estilos de texto avulsos. Reconstruí as fundações como uma biblioteca única compartilhada com a engenharia React Native, em que toda decisão segue uma escala e todo nome diz para que serve.

Colour · semantic rampsCor · escalas semânticas
90 colour + text pairspares de cor + texto69 AAA17 AA4 AA Large onlysó AA Large0 failuresreprovações
PrimaryBrand, main actionsMarca, ações principais
AAA20.0:150
fff8f4
AAA16.0:1100
ffd9c6
AAA12.7:1200
ffba98
AAA10.9:1300
ffa578
AAA9.1:1400
ff8b51
BaseAA Large3.3:1500
fa5300
AA5.0:1600
c74200
AA6.3:1700
ab3900
AAA7.7:1800
953200
AAA10.1:1900
772700
NeutralSurfaces, lines, iconsSuperfícies, linhas, ícones
BackgroundAAA19.6:150
f5f7fa
BorderAAA18.3:1100
ebf0f5
DisabledAAA16.8:1200
dfe7f0
Input borderAAA13.3:1300
c3cfdc
AAA7.2:1400
8799ae
AA Large3.7:1500
57697f
AAA8.9:1600
3c4b5d
IconAAA11.8:1700
2b394a
AAA15.5:1800
1a2533
AAA17.9:1900
101725
SuccessUp to date, paidEm dia, pago
AAA20.0:150
ecfdf7
AAA18.5:1100
d9f7ec
AAA16.4:1200
b2f0d9
AAA14.7:1300
8ceaca
AAA11.3:1400
24d7a1
Shape baseAAA8.5:1500
00bc83
AA Large3.5:1600
009c6f
AA6.2:1700
006f52
AAA10.3:1800
004a3b
AAA13.8:1900
00342a
WarningDue soonVencimento próximo
AAA19.7:150
fff7ea
AAA18.3:1100
fdeed0
AAA16.5:1200
fce1ac
AAA14.9:1300
fbd48b
AAA12.3:1400
f9bc53
Shape baseAAA10.8:1500
f7aa33
AAA8.0:1600
d99026
AA Large3.9:1700
b47320
AA6.7:1800
805217
AAA13.3:1900
46290e
DangerOverdue, errorsAtraso, erros
AAA19.4:150
fff3f2
AAA17.4:1100
ffe4e0
AAA12.5:1200
ffb5ad
AAA7.4:1300
ff695b
AA6.2:1400
f75244
Shape baseAA5.2:1500
e94035
AA5.2:1600
cc2f25
AA6.9:1700
ac261e
AAA8.6:1800
951a1e
AAA10.6:1900
791b1e
See Secondary, Accent, Info, Typography, Overlay and gradientsVer Secondary, Accent, Info, Typography, Overlay e gradientes
SecondarySupporting surfacesSuperfícies de apoio
AAA19.3:150
f7f5f4
AAA14.9:1100
e2d7d3
AA6.0:1200
948781
AA4.8:1300
7f6f67
AA5.8:1400
766156
AA6.7:1500
735546
AAA8.6:1600
6e4029
BaseAAA11.0:1700
5e3019
AAA14.2:1800
4a1e09
AAA20.0:1900
06080d
AccentRenewal in progressRenovação em curso
AAA18.8:150
f6f0fd
AAA16.3:1100
ebddfd
AAA12.4:1200
d5bcfc
AAA9.0:1300
bb99f8
AA6.8:1400
a47df1
BaseAA4.8:1500
8154e8
AA6.9:1600
633dc7
AAA9.7:1700
482aa7
AAA12.9:1800
311a86
AAA15.3:1900
21106f
InfoRenewal, guidanceRenovação, orientação
AAA19.4:150
e3faff
AAA17.8:1100
d1f2fc
AAA12.4:1200
7cd4e8
AAA9.3:1300
46bbd5
AA5.1:1400
418797
BaseAAA11.2:1500
044058
AAA13.0:1600
00354b
AAA16.3:1700
002332
AAA18.5:1800
001620
AAA21.0:1900
000000
TypographyText rolesPapéis de texto
AAA19.6:150
f5f7fa
AAA18.3:1100
ebf0f5
AAA16.8:1200
dfe7f0
DisabledAAA13.3:1300
c3cfdc
PlaceholderAAA7.2:1400
8799ae
BodyAA5.6:1500
57697f
AAA8.9:1600
3c4b5d
Input & ButtonAAA11.8:1700
2b394a
AAA15.5:1800
1a2533
Title & DisplayAAA17.9:1900
101725
OverlayScrims behind modalsFundos atrás de modais
20% blackpreto 20%
Modal40% blackpreto 40%
60% blackpreto 60%
80% blackpreto 80%
Primary linear
Secondary linear

WCAG 2.1 ratio of each swatch against its paired text colour, computed from the tokens. AA Large = passes only for large or bold text.Cada amostra mostra a cor de texto com que é pareada na especificação e sua razão de contraste WCAG 2.1, calculada a partir dos tokens. AA Large significa que o par só passa para texto grande ou em negrito (3:1). Os papéis vêm do styleguide do Pravaler.

Role, not hueFunção, não matizNames describe what a colour does: Primary/500 for actions, Danger/500 for overdue, Neutral/900 for text. Banners and payment cards pull from the same source.Os nomes descrevem o que a cor faz: Primary/500 para ações, Danger/500 para atraso, Neutral/900 para texto. Banners e cards de pagamento buscam da mesma fonte.

See the legacy → semantic mappingVer o mapeamento legado → semântico
Type · Suitable, sized like clothingTipografia · Suitable, tamanhos como roupa
Display XLLMS
Display/XL72/88 · Bold
R$ 647,78
Display/L56/72 · SemiBold
1º Semestre
Display/M48/64 · SemiBold
Renovação
Display/S40/56 · SemiBold
Pagamentos em dia
Title XLL28L24MSXS
Title/XL32/40
Sua parcela vence em 4 dias
Title/L2828/32
Meu financiamento
Title/L2424/32
Pagar parcela
Title/M20/24 · Regular
Meu calendário
Title/S18/24 · Regular
Meus eventos
Title/XS16/20 · Regular
Parcela 1/12
See Body and Caption stylesVer estilos Body e Caption
Body LMSXSEXS
Body/L18/32 · Regular
Pague agora e evite juros e multas.
Body/M16/24 · Regular
Acesse a área de pagamentos e resolva agora.
Body/S14/20 · Regular
Após o vencimento, sujeito a juros e multa.
Body/XSE12/16 · SemiBold
Vence em 15 de julho / 2024
Body/XS12/16 · Regular
Renovação · Vencimento de fatura
Caption LMSXS
Caption/L14/16 · SemiBold
Ver detalhes do financiamento
Caption/M12/16 · SemiBold
A vencer
Caption/S10/16 · SemiBold
PARCELA
Caption/XS10/16 · Regular
Em análise pela faculdade

Specimen set in Pravaler Display and Pravaler Text, with the size, line height and letter spacing of each text style in the styleguide.Espécime em Pravaler Display e Pravaler Text, com tamanho, altura de linha e espaçamento de cada estilo de texto do styleguide.

37 → 19 styles37 → 19 estilosOne-off styles were merged into the scale, and every line height sits on a 4px grid.Estilos avulsos foram fundidos na escala, e toda altura de linha segue um grid de 4px.

Components · every state, ready for React NativeComponentes · todos os estados, prontos para React Native
See inputs and select in every stateVer inputs e select em todos os estados
input / empty
Default
input / pressed
Pressed
input / typing
Typing
input / filled
Filled
input / error
Error
input / disabled
Disabled
select / open
Iconography · named by meaningIconografia · nomeada pelo significado
brand / 12Custom set, drawn for PravalerSet próprio, desenhado para o Pravaler
PresentationApresentação
FileArquivo
CalendarCalendário
PhoneCelular
ComputerComputador
MoneyDinheiro
DocumentDocumento
InstitutionInstituição
BookLivro
MessageMensagem
NotificationNotificação
UserUsuário
Primary
Info
Accent
Success
Warning
Neutral

One stroke weight across the set. Colour comes from the tokens, never from the icon file.Um só peso de traço em todo o set. A cor vem dos tokens, nunca do arquivo do ícone.

See 50 system iconsVer 50 ícones de sistema

For everything else the library uses Material Symbols (Outlined), so the brand set stays small and meaningful.Para todo o resto a biblioteca usa Material Symbols (Outlined), para o set da marca ficar pequeno e significativo.

MoneyDinheiro · 14
attach_money
paid
payments
account_balance_wallet
receipt_long
request_quote
savings
credit_card
barcode
qr_code_2
price_check
calculate
percent
account_balance
ActionsAções · 10
content_copy
download
share
upload_file
send
edit_note
draw
search
filter_list
autorenew
Study & timeEstudo e tempo · 8
school
menu_book
auto_stories
calendar_month
event_available
schedule
history
trending_up
StatusStatus · 8
check_circle
task_alt
verified
error
warning
info
notifications
campaign
Account & helpConta e ajuda · 10
home
description
person
badge
lock_person
fingerprint
visibility
chat
support_agent
help
Status system: the right message, for the right status, at the right timeSistema de status: a mensagem certa, para o status certo, na hora certa

The Home header and the payment card work as one scale: the more urgent the situation, the warmer the colour, and both always move together.O cabeçalho da Home e o card de pagamento são as duas principais mensagens do app. Em vez de desenhar cada caso separadamente, organizei tudo em uma escala: quanto mais urgente a situação, mais quente a cor, e cabeçalho e card sempre se movem juntos.

The dynamic header · one engine, many statesO header dinâmico · um motor, vários estados
InputEntrada
150+

overlapping status codes, unified with dates and contract data in Salesforce to feed the header.códigos internos de status descrevendo cada contrato, muitos sobrepostos e difíceis de ler até para o time. Junto com datas e dados do contrato, foram unificados no Salesforce para alimentar o header.

My decisionMinha decisão
RulesRegras
Combine status, due dates and renewal dates into one student profileCombinar status, vencimentos e datas de renovação em um perfil do alunoGroup codes by what the student has to do next, not by how the system names themAgrupar códigos pelo que o aluno precisa fazer a seguir, não pelo nome no sistemaShow one message at a time in the headerMostrar uma mensagem por vez no headerEach state locks colour, illustration, copy and button togetherCada estado trava cor, ilustração, texto e botão juntos
OutputSaída
8

header families the student understandsfamílias de header que o aluno entende

Payments up to datePagamentos em diaInstallment due soonParcela próxima do vencimentoResolve pending itemsResolva suas pendênciasPending items put renewal at riskPendência coloca a renovação em riscoRenewal period comingPeríodo de renovação chegandoRenewal period startedPeríodo de renovação começouFinish renewal on the portalTermine a renovação no portalPending documentsDocumentos pendentes
12345
Anatomy · content budgetAnatomia · orçamento de conteúdo
1IllustrationIlustraçãoChosen by subject: boleto, megaphone, calendar, laptop, wallet.Escolhida pelo assunto: boleto, megafone, calendário, notebook, carteira.by subjectpor assunto
2TitleTítuloThe status in the student’s words.O status nas palavras do aluno.≤ 60 ch
3TextTextoWhy it matters and what happens next.Por que importa e o que acontece a seguir.100–120 ch
4ButtonBotãoOne action, straight to the right place in the app.Uma ação, direto para o lugar certo do app.17–23 ch
5BackgroundFundoColour token picked by urgency, from the semantic ramps.Token de cor escolhido pela urgência, das escalas semânticas.by urgencypor urgência

Stress-tested with maximum-length copy on a 240px screen: any new status fits without a layout change.Testado com o texto mais longo possível numa tela de 240px: qualquer novo status cabe sem mudar o layout.

Payment scale · header + payment cardEscala de pagamento · cabeçalho + card de pagamento
CalmCalmoAttentionAtençãoAction neededAção necessáriaCriticalCrítico
LevelNívelHome headerCabeçalho da HomePayment cardCard de pagamento
Up to dateEm dia

Reassurance only. No call to action competes for attention.Só tranquilidade. Nenhuma chamada de ação disputa atenção.

Success/500
Due soonVencimento próximo

The due date becomes the headline, with a single “Pay installment” action.A data de vencimento vira a manchete, com uma única ação “Pagar parcela”.

Warning/400
OverdueEm atraso

Copy shifts from reminder to resolution, and the card counts what is pending.O texto muda de lembrete para resolução, e o card conta o que está pendente.

Danger/500
RenegotiatedRenegociado

The debt was renegotiated: the card keeps the history visible without alarming the student again.A dívida foi renegociada: o card mantém o histórico visível sem alarmar o aluno de novo.

Danger · tag

Card-only stateEstado só no card

Renewal cycle · same structure, its own coloursCiclo de renovação · mesma estrutura, cores próprias
1 · ComingChegando
2 · StartedIniciada
3 · Finish on the portalFinalizar no portal
4 · At riskEm risco

One structureUma estruturaSame layout in every state, updated without a new release: students learn it once.Mesmo layout em todos os estados, atualizado sem nova versão do app: o aluno aprende uma vez.

Motion & illustration: one animation per momentMotion e ilustração: uma animação por momento
Coins
Contract signed
Alert
Calendar

Illustration with a jobIlustração com função

23 lightweight Lottie animations, one per moment (payment confirmed, contract signed, renewal done), never inside a money flow.23 animações Lottie leves, cada uma ligada a um momento: pagamento confirmado, contrato assinado, alerta, renovação concluída. Vivem em cabeçalhos, estados vazios e confirmações, nunca dentro de um fluxo de dinheiro.

See all 23 animationsVer as 23 animações
PaymentPagamento · 4
Coins
Wallet
Bill
Calculator
ContractContrato · 4
Contract
Computer
Coin up
Coin plus
RenewalRenovação · 4
Notebook
Books
Post-it
Graduation
GenericGenéricas · 4
Alert
Calendar
Information
Megaphone
OtherOutras · 7
Contract signed
Boleto
Help
New here
CES survey
Cancelled
Delete
Beyond the app · the system scalesAlém do app · o sistema escala

The same foundations later carried the renewal guide and the contract itself, so students recognise Pravaler wherever they meet it.As mesmas fundações depois sustentaram duas iniciativas de renovação fora do app: um guia para o aluno e o próprio contrato. Mesmos tokens, mesmos ícones, mesmas cores de status, para o aluno reconhecer o Pravaler onde quer que o encontre.

See the landing page and the contractVer a landing page e o contrato
2025Renewal landing pageLanding page de renovação
A guide that answers before students callUm guia que responde antes de o aluno ligar

Renewal was the most confusing moment of the contract. Built low-code with the Renewal squad, Marketing and CX, the page explains the process in steps, with a video and an FAQ, reusing the app’s icons, Info blue for renewal and Primary orange for actions.A renovação era o momento mais confuso do contrato. Construída em low-code com o squad de Renovação, Marketing e CX, a página explica o processo em etapas, com vídeo e FAQ, reusando os ícones do app, o azul Info da renovação e o laranja Primary das ações.

  • The FAQ drew far more clicks than the step-by-step, so questions were reordered by clicks.O FAQ teve muito mais cliques que o passo a passo, então as perguntas foram reordenadas pelos cliques.
  • Students looked for the status of their own renewal, so the page now points them to the app to follow it.O aluno buscava o status da sua renovação, então a página passou a direcioná-lo ao app para acompanhar.
2.16kusers in 30 daysusuários em 30 dias
98%found it helpful (487 votes)acharam útil (487 votos)
88%of viewers watched past 30sdos espectadores passaram de 30s

renovacao.pravaler.com.br ↗

2026Contract · cover and inner pagesContrato · capa e miolo
A credit contract students can actually readUm contrato de crédito que o aluno consegue ler

Three different covers explained the same debt in three ways, which created distrust and longer support calls. In a design critique with Product and Legal we set three principles (one cover for every scenario, full transparency about the debt, and a clear benefit) and rebuilt the cover with the system: a card per party, Primary section titles, and Info and Warning blocks for the “Margem para Imprevistos” (safety margin) and payment reminders.Três capas diferentes explicavam a mesma dívida de três formas, gerando desconfiança e atendimentos mais longos. Numa design critique com Produto e Jurídico definimos três princípios (uma capa para todos os cenários, transparência total sobre a dívida e um benefício claro) e reconstruímos a capa com o sistema: um card por parte, títulos em Primary e blocos Info e Warning para a Margem para Imprevistos e os lembretes de pagamento.

Before · three covers in use: Standard, with Reserve, ComplementaryAntes · três capas em uso: Padrão, com Reserva, Complementar
1 · After Legal review: the safety margin explained in a side-by-side block1 · Após revisão jurídica: a margem explicada num bloco lado a lado
2 · After the usability test: one financed amount, and the margin as a short Info note2 · Após o teste de usabilidade: um único valor financiado e a margem como nota Info curta
3 · The same cover for contracts without a margin3 · A mesma capa para contratos sem margem

Validated with 532 real students (95% confidence, ±4.2% margin of error):Validada com 532 alunos reais (95% de confiança, margem de erro de ±4,2%):

96.1%understood how to payentenderam como pagar
94.9%understood the amount financedentenderam o valor financiado
76%identified the partiesidentificaram as partes
  • The trade-off: the safety-margin block still confused 11%, a projected overflow of about 9k support calls. That led to financial literacy embedded in the journey and separate opt-out rules for each institution.O trade-off: o bloco da margem ainda confundiu 11%, um transbordo projetado de cerca de 9 mil chamados. Isso levou a letramento financeiro embutido na jornada e a regras de opt-out por instituição.
  • Names and tax IDs on the covers are fictitious test data.Nomes e CPFs nas capas são dados fictícios de teste.
Inside the contract · 12 pages rebuilt with the systemDentro do contrato · 12 páginas refeitas com o sistema

The legal text became a structured “Confissão de Dívida” (debt acknowledgement), reworked with Legal and the BITS content agency: an index, glossary cards for every charge, a payment timeline, numbered conditions and plain-language callouts, all with the app’s colours, icons and type scale. Scroll sideways to browse.O texto jurídico virou uma Confissão de Dívida estruturada, reescrita com o Jurídico e a agência de conteúdo BITS: índice, cards de glossário para cada encargo, linha do tempo de pagamento, condições numeradas e destaques em linguagem simples, tudo com as cores, ícones e escala tipográfica do app. Role para o lado para navegar.

Index · 9 sections, each with a one-line summaryÍndice · 9 seções, cada uma com um resumo
Charges explained in plain words, plus a payment timelineEncargos explicados em palavras simples, com linha do tempo de pagamento
Payment rules, early payment and late fees as cardsRegras de pagamento, antecipação e atraso em cards
What happens if enrollment changesO que acontece se a matrícula mudar
Validation rules as four numbered conditionsRegras de validação em quatro condições numeradas
Data protection, with “What changes for you? Nothing.”Proteção de dados, com “O que muda para você? Nada.”
Phase 3 of 3Fase 3 de 3

EvolutionsEvoluções

Every flow shipped, measured and iterated against the contact rate.Cada fluxo lançado, medido e iterado contra a taxa de contato.

03 · Evolutions03 · Evoluções

Four flows, each shipped and measuredQuatro fluxos, cada um lançado e medido

3.1
Home · Calendar or timeline?Home · Calendário ou linha do tempo?
27svs 212s to find what’s duevs 212s para achar o que vence

Two ways to show what’s coming next, tested with 425 students.Duas formas de mostrar o que vem pela frente, testadas com 425 alunos.

A · WinnerVencedorCalendarCalendário
27stime on tasktempo na tarefa
35%drop-offdesistência
BTimelineLinha do tempo
212stime on tasktempo na tarefa
74%drop-offdesistência

My decisionMinha decisãoWhy the calendar wonPor que o calendário venceuDue dates and renewal on a monthly grid were read at a glance. The timeline mixed financial events with editorial content and confused people.Vencimentos e renovação em uma grade mensal foram lidos num relance. A linha do tempo misturava eventos financeiros com conteúdo editorial e confundia.

3.2
Payments · Inline or modal?Pagamentos · Inline ou modal?
−44%misclicks on the new flowcliques errados no novo fluxo
My decisionMinha decisão

The decisionA decisão

Showing every option looked faster, but the data said the opposite: one action and a bottom sheet cut misclicks by 44% and time on task by 14%.Mostrar todas as opções parecia mais rápido, mas os dados disseram o contrário: uma ação e um bottom sheet reduziram os cliques errados em 44% e o tempo na tarefa em 14%.

The winning flowO fluxo vencedor
1 · Pay installmentPagar parcela
→
2 · Choose PIX or boletoEscolher PIX ou boleto
→
3 · Copied, with clearing timeCopiado, com prazo de compensação

The confirmation sets the 1–5 day clearing expectation, which prevents “I paid but it didn’t update” calls.A confirmação informa o prazo de compensação de 1 a 5 dias, o que evita ligações do tipo “paguei e não atualizou”.

See how we got here · V1 and the A/B testVer como chegamos aqui · V1 e o teste A/B
V1First release · payment cardPrimeira release · card de pagamento

What V1 taught usO que a V1 ensinou

Two equal actions and no PIX on the card. “Payment advance” became the #1 reason to call: 312 contacts, +80% in two weeks.Duas ações de mesmo peso e nenhum PIX no card. “Antecipação de pagamento” virou o motivo nº 1 de contato: 312 contatos, +80% em duas semanas.

V2 · A/B test, card onlyV2 · teste A/B, só o card
AInline
Every method visible on the card.Todos os meios visíveis no card.
B · WinnerVencedorModal
One clear action: “Pagar parcela”.Uma ação clara: “Pagar parcela”.
MetricMétricaA · InlineB · Modal
Direct successSucesso direto80.0%85.8%
Drop-offDesistência17.5%11.6%
Misclick rateTaxa de cliques errados1.91%1.07%
Avg. time (success)Tempo médio (sucesso)26.1s22.5s
SUS71.879.4

Unmoderated A/B test sent to 23,868 students: 259 on Inline and 245 on Modal.Teste A/B não moderado enviado a 23.868 alunos: 259 no Inline e 245 no Modal.

3.3
My Financing · What do I owe?Meu Financiamento · Quanto eu devo?
72%task completion in testingde conclusão da tarefa em teste
BeforeAntesLegacy appApp legado
A dense financing summary with no clear next action.Um resumo de financiamento denso, sem próxima ação clara.
AfterDepoisMy Financing V2 · componentscomponentes
Progress first (10 of 36 installments), then one card per semester with its status, contract and actions.Progresso primeiro (10 de 36 parcelas), depois um card por semestre com status, contrato e ações.
ComponentComponenteValue compositionComposição do valor
My decisionMinha decisão

Total, paid, outstandingTotal, pago, saldo devedor

“Amounts financed” stayed in the top 3 reasons to call. The balance now splits into three plain numbers, one tap from the progress card.“Valores financiados” seguia no top 3 dos motivos de contato. O saldo agora se divide em três números simples, a um toque do card de progresso.

51%expand the compositionexpandem a composição
67%open the semester detailabrem o detalhe do semestre
32.8kunique users at the July 2025 peakusuários únicos no pico de julho de 2025
72%task completion in 156 unmoderated tests + 5 interviewsde conclusão da tarefa em 156 testes não moderados + 5 entrevistas
See the usability test and design critiqueVer o teste de usabilidade e a crítica de design

“The installment composition is crystal clear now. Before, I couldn’t understand it.”“A composição da parcela ficou muito clara agora. Antes, eu não conseguia entender.”

Participant #14, usability testParticipante nº 14, teste de usabilidade
Design critique · 11 Sep 2025Design critique · 11/09/2025

The critique board: every My Financing screen annotated by the team with questions, problems and ideas. Click to open full size.O quadro da critique: cada tela do Meu Financiamento anotada pelo time com dúvidas, problemas e ideias. Clique para abrir em tamanho real.

Why nowPor que agora55k unique users, 85% of them opening My Financing, while “amounts financed” and “boleto” stayed in the top 3 contact reasons.55 mil usuários únicos, 85% deles acessando o Meu Financiamento, enquanto “valores financiados” e “boleto” seguiam no top 3 dos motivos de contato.
Pay vs. historyPagar vs. históricoTwo jobs were competing on one screen. The next version separates present, past and future, with paying always on top.Dois jobs disputavam a mesma tela. A versão seguinte separa presente, passado e futuro, com o pagamento sempre no topo.
Plain languageLinguagem simplesTechnical terms like “montante” and a single bucket of fees (late fee vs. IPCA) confused students. Copy was rewritten and fees split by type.Termos técnicos como “montante” e um único bolsão de taxas (multa vs. IPCA) confundiam os alunos. Os textos foram reescritos e as taxas separadas por tipo.
3.4
Renewal · Renew without callingRenovação · Renovar sem ligar
80%of renewing students used the appdos alunos em renovação usaram o app
ComponentComponenteRenewal status cardCard de status da renovação
Each step (“Under review by the college”) shown where the contract lives.Cada etapa (“Em análise pela faculdade”) aparece junto ao contrato.
Why it matteredPor que importavaRe-hiring was bureaucratic: 7 of 7 interviewees struggled with it, with 13.7k renewal accesses in June and July alone.Recontratar era burocrático: 7 de 7 entrevistados tiveram dificuldade, com 13,7 mil acessos à renovação só em junho e julho.
What we builtO que construímosEligibility, document upload and digital signature in the app, with a status tracker in My Financing.Elegibilidade, envio de documentos e assinatura digital no app, com status dentro do Meu Financiamento.
StatusTested with students and rolled out to production in 2026.Testado com alunos e lançado em produção em 2026.
Documents & income proof · the hardest step, made followableDocumentos e comprovação de renda · a etapa mais difícil, feita para ser seguida

Regulated, full of rules, and often done by a parent or grandparent acting as guarantor.Regulada, cheia de regras e muitas vezes feita por pais ou avós como garantidores.

A
My decisionMinha decisão
AThe income rule, in one sentenceA regra de renda, em uma frase

To renew, the student and the guarantor together must prove a monthly income of at least 2× the full monthly tuition. It can come from the student alone or be added up with the guarantor.Para renovar, aluno e garantidor juntos precisam comprovar renda mensal de pelo menos 2× o valor integral da mensalidade. Pode vir só do aluno ou ser somada à do garantidor.

Monthly tuitionMensalidade R$ 1.669,75× 200%= R$ 3.339,50
Example · fictitious valuesExemplo · valores fictícios
StudentAluno R$ 1.200
GuarantorGarantidor R$ 2.500
CombinedSomado: R$ 3.700 ✓MinimumMínimo: R$ 3.339,50

The exact amount shows before any upload, so nobody sends documents that would fail.O valor exato aparece antes de qualquer envio, para ninguém mandar documentos que não passariam.

80%of renewing students used the new in-app renewal.dos alunos em renovação usaram a nova renovação no app.
See the full document flow · steps 2–6 and researchVer o fluxo completo de documentos · etapas 2–6 e pesquisa
“I contacted support many times just to know when my renewal would be done.”“Eu entrava em contato muitas vezes só para saber quando a renovação seria concluída.”

A student interviewed during the renewal study (anonymised).Aluno entrevistado no estudo de renovação (anonimizado).

2 · One proof, five options2 · Um comprovante, cinco opçõesPayslip, INSS, bank statement, tax return or private pension.Holerite, INSS, extrato bancário, IR ou previdência privada.
3 · Rules before the upload3 · Regras antes do envioValidity rules, right where you pick the file.Regras de validade, onde se escolhe o arquivo.
4 · Upload with feedback4 · Envio com feedbackProgress and file name, with room to add more.Progresso e nome do arquivo, com opção de adicionar mais.
5 · Status, always visible5 · Status sempre visível“In analysis” instead of silence.“Em análise” no lugar do silêncio.
6 · The guarantor’s turn6 · A vez do garantidorShare or resend the signature link.Compartilhar ou reenviar o link de assinatura.
Interactive prototypeProtótipo interativoMy Financing V2
Try the final version yourselfExperimente a versão final
ℹ️This prototype covers only the My Financing flow. Other areas of the app are not clickable here.Este protótipo cobre apenas o fluxo de Meu Financiamento. Outras áreas do app não são clicáveis aqui.
  1. Start on the Home screen.Comece na Home.
  2. Tap Meu Financiamento in the tab bar, or Ir para Meu Financiamento → on the card.Toque em Meu Financiamento na tab bar, ou em Ir para Meu Financiamento → no card.
  3. Explore the balance composition, amount paid, outstanding balance, installments and contract details.Explore a composição do saldo, valor pago, saldo devedor, parcelas e detalhes do contrato.
Open full screenAbrir em tela cheia ↗
ImpactImpacto

What changed for students and the businessO que mudou para alunos e negócio

In production · after the April 2025 rolloutEm produção · após o rollout de abril de 2025
55kunique users (Sep 2025), 85% of them using My Financingusuários únicos (set/2025), 85% deles usando o Meu Financiamento
4.4CSAT in production, with 75% positive commentsCSAT em produção, com 75% de comentários positivos
57%30-day retention, with 75% notification opt-inretenção em 30 dias, com 75% de opt-in de notificações
80%of renewing students used the new in-app renewal flowdos alunos em renovação usaram o novo fluxo de renovação no app
Fewer callsMenos ligaçõesApp users contacted the call center less than students without the app. Each human contact cost around R$16, so self-service became a direct cost saving.Usuários do app entraram menos em contato com a central do que alunos sem o app. Cada contato humano custava cerca de R$16, então o autoatendimento virou economia direta.
A better-paying profileUm perfil mais adimplenteApp users showed a more on-time payment profile, a segment the business could now reach with the right message at the right time.Usuários do app mostraram um perfil mais adimplente, um segmento que o negócio passou a alcançar com a mensagem certa, na hora certa.
Stable at scaleEstável em escala0.02% crash rate and uninstalls of 8% on iOS and 12% on Android, well below the 30% target.0,02% de crashes e desinstalações de 8% no iOS e 12% no Android, bem abaixo da meta de 30%.

Thanks for reading this far!