Self-initiated · For Plata's Business Platform Design role

Plata Business Platform. A V1 design exercise.

Onboarding, daily operations, permissions, states, edge cases. The operational layer of a Mexican B2B banking platform — designed end-to-end across mobile and web.

SurfacesiOS · Android · Web
Owner app + accountant console
ScopeOnboarding · operations
permissions · states · edge
Timeline2 weeks · solo
May 2026
PremiseHypothetical · public
sources only
The work · part 1 of 3
A 10-minute mobile onboarding for a Mexican PFAE, with CLABE as the first delivered value.
9:41●●●
01/08

Tu cuenta para tu negocio. En 10 minutos.

Cero comisiones. CLABE para cobrar. Tarjeta. Todo desde tu teléfono.

  • Sin saldo mínimo
  • Sin mantenimiento
  • SPEI gratis ilimitado
WelcomePromise before friction
9:41●●●
03/08

¿Cómo está registrado tu negocio?

Esto define cómo abrimos tu cuenta.

Está a mi nombre
Persona Física con Actividad Empresarial
Tengo una empresa registrada
Persona Moral · Próximamente
No estoy segura
Te ayudamos
Business typeHonest about V1 scope
9:41●●●
04/08

Toma una foto de tu INE

Frente primero. Todas las esquinas dentro del recuadro.

Tus datos están encriptados.

ID capturePhoto, not form
9:41●●●
04/08

Ahora una selfie

Mira a la cámara y parpadea cuando te lo pidamos.

Confirma que eres tú.

LivenessTrust, not surveillance
9:51●●●
08/08

Listo, Mariana.

Te tardaste 9 min 47 seg.

Tu CLABE empresarial
012 180 01234567890 1
SuccessCLABE as first value
9:52●●●
Hola Mariana
PlataNegocios
•••• 4729
CAFÉ DEL MOLINO
Saldo disponible
$0.00
Empieza aquí
→ Comparte tu CLABE
→ Agrega a Apple Pay
→ Invita a tu contador
Home3 actions, no empty dashboard
Context

Why a business platform, not a business app.

A business banking product isn't a feature set. It's an operational system that has to behave correctly across many client types, many states, and many edge cases — most of which the user only sees when something goes wrong. That's the design problem this exercise focuses on.

Plata's banking license unlocks B2B. The market is 4.5 million Mexican SMBs, mostly underserved by incumbents and partially served by competitors that each own one slice — Konfío owns SMB credit, Clara owns expense management, Clip owns acceptance. Nobody owns the operational bank. The V1 designed here is the foundation that makes everything else possible.

4.5MMexican SMBs
70%Are PFAE, not PM
9Account states modeled
3User roles with permissions
States & permissions

An account is a state machine. The UI follows.

A business account isn't always "active". It moves through nine states across its lifecycle, each with different permissions and different UI affordances. The state machine is the source of truth — every screen renders from it, not from a hardcoded happy path.

Account state machine

draftkyc_in_progresskyc_submittedactivelimitedfrozen
draftin_progressmanual_reviewkyc_rejectedclosed
Pre-activation
Operational
At risk / restricted
Blocked
Terminal

Roles and permissions matrix

ActionOwnerAccountantEmployee · V2
View balance & movementsown card only
Send SPEI≤ daily limit
Manage card (block / replace)own card
Export reports (CSV, Contpaq)
Categorize movements
Dispute card transactionown card
Invite / remove users
Close account
Insight

The matrix doubles as the contract with engineering. Every screen has a permission requirement; every UI state checks it before render. A read-only accountant viewing the same balance screen as the owner sees the same data, with destructive actions hidden — not greyed out, hidden — because permission-by-removal is easier to reason about than permission-by-state.

Edge cases

Three failure modes. Three recovery flows.

A bank that only works on the happy path is not a bank. The screens below show how three common failure modes resolve into states the user can act on, without ever exposing an error code or a dead-end.

9:43●●●
04/08
!

No pudimos leer tu INE

Se ve borrosa o le falta una esquina. Inténtalo otra vez con buena luz.

Tip: apoya la INE sobre una superficie oscura.

OCR failedDiagnose, suggest, allow retry
9:52●●●
REVIEW

Estamos revisando

Tu información está completa. Necesitamos un par de horas para confirmar todo.

Estado
Documentos recibidos
Identidad confirmada
Revisión finalen curso

Te avisamos por WhatsApp en cuanto esté lista.

Manual reviewNever "rejected" — always "in progress"
14:22●●●
Tu tarjeta
Bloqueada
PlataNegocios
•••• 4729
CAFÉ DEL MOLINO
Bloqueamos tu tarjeta
Detectamos un cargo inusual de $4,800 MXN en Costco Aguascalientes. ¿Fuiste tú?
Cargo en duda
Costco Aguascalientes$4,800
Card frozenProtect first, ask later
Insight

Each edge case follows the same three-beat structure: state the problem clearly, show what we already know, offer the single most useful next action. The OCR case offers retry plus an alternative document. The review case shows progress, not waiting. The card freeze case respects the user enough to ask whether the suspicious activity was theirs — and protects the money first.

Operational flows

The day after onboarding. What the product actually does.

Onboarding is one day. Operations are every day after that. Four flows account for roughly 90% of the daily sessions in a typical business account: receiving, sending, categorizing, and reconciling. Each one is designed to be a single tap from the home screen.

10:14●●●
Cobrar
3 formas de cobrar
Por transferencia (SPEI)
Comparte tu CLABE. Llega en segundos.
012 180 01234567890 1
Link de pago
Para WhatsApp o Instagram.
Tu código QR
El cliente escanea con su banco.
Cobrar · ReceiveThree methods, one tap each
10:15●●●
Pagar
¿A quién le pagas?
Café Olmedo SA
Banorte · Último: $8,200 · 3 días
CFE Servicios
Último: $1,840 · 14 días
Lupita (renta local)
BBVA · Programado · 1 nov
prog.
+ Nuevo destinatario
Pagar · SendMemory by frequency, not alphabet
10:18●●●
Movimiento
28 may · 17:32
+$1,500 MXN
de Juan Pérez Hernández
SPEI · BBVA · ref. 7240392
Categoría sugerida
Venta · CaféCambiar
Emitir CFDIV2
Movement detailCategorize & receipt in one place
10:20●●●
Movimientos
Mayo 2026
142 movs
Ingresos
+$87,420
Egresos
−$54,180
28 mayo
SPEI · J. Pérez
Venta · Café
+$1,500
Café Olmedo SA
Sin categorizar
−$8,200
SPEI · M. Hernández
Venta · Café
+$420
ActivitySmart category + manual override
Insight

Two compounding decisions in these flows. First, the Pagar list orders recipients by recent frequency, not alphabet — because Mariana pays the same five vendors every month, and an alphabetical list buries Café Olmedo in a flat directory. Second, categorization is auto-suggested but always editable — the system makes a guess, the owner corrects it once, and the system learns. Small operational details. Big effect on daily session friction.

Web · accountant console

A second surface, scoped by permission.

Mexican accountants work on desktop. They serve 20–50 small businesses each. The web console is built for them: a multi-client list, read-only access to each client's account, exportable to the formats their software actually uses. Same backend as the mobile app. Different permissions enforced server-side, different UI rendered client-side.

  • Resumen
  • Movimientos
  • Estados de cuenta
  • CFDIs
  • Exportar
Cliente activo
Mariana Reyes
Café del Molino · PFAE

Resumen del periodo Solo lectura

1–31 mayo 2026 · acceso de Mariana Reyes · 23 clientes en cartera
Ingresos
$87,420 MXN
+12% vs abril
Egresos
$54,180 MXN
−3%
Sin categorizar
7 movs
Requieren atención
FechaConceptoCategoríaMonto
28 maySPEI · Juan PérezVenta+$1,500
27 mayCafé Olmedo SASin categorizar−$8,200
26 maySPEI · M. HernándezVenta+$420

The "Solo lectura" badge is visible at all times. Hidden, not greyed, are: sending money, managing cards, closing the account, inviting users. The accountant can categorize movements (which is useful for them), but they cannot dispute them — that's reserved for the owner, who has the legal authority.

Insight

The mobile app and the web console share the same backend, the same state machine, and the same design tokens. They differ only in permissions and in the affordances that surface from those permissions. That's what makes the system maintainable when V2 introduces employees, V3 introduces auditors — each new role is a new column in the permissions matrix, not a new product.

Design system

Built on Menura DS · my own system foundations.

This case isn't styled in a vacuum. Every token, type scale, and component comes from Menura DS — the design system I built for my own SaaS company. Bringing a mature system into a new product is faster than reinventing one each time, and it forces consistency across everything I ship.

The system underneath

Menura Design System

Plus Jakarta Sans + DM Sans + JetBrains Mono. Warm orange brand ramp + stone neutrals. 8px spacing grid. Generous radii. Subtle shadows. Motion tokens for ease-out / spring / smooth. Built for my own product. Applied here to a banking case study because a real DS travels.

Brand ramp · warm orange

50
100
200
300
400
500
600
700

Stone neutrals

50
200
400
600
900
950

Semantic

success
warning
error
info

Type system

Plus Jakarta Sans
Display · 800 · headings, CTAs, hero
DM Sans para body. Excelente legibilidad en pantallas pequeñas.
Body · 400 · text, descriptions, UI
012 180 01234567890 1
Mono · 500 · CLABE, amounts, codes

Primitives · sample

PrimaryButton · brand (CTA) / neutral (default) / outline · radius-lg 12px
Tu CLABE
012 180 01234567890 1
AccountIdentifier · CLABE / RFC variants · long-press to copy
Why this matters

Three composition layers: primitives ship once from engineering. Patterns compose primitives. Flows compose patterns. New products extend the primitives — never replace them. The same Button renders an active "Send SPEI", a disabled "Send SPEI" (when frozen), and a destructive "Confirm freeze" — by switching tokens, not components.

Лично от меня

Хочу работать с вами над Plata.

Plata — российская компания, строящая банк в Мексике. Это редкое сочетание, и оно совпадает со мной: я свободно говорю на русском, английском и испанском.

Почему именно я

Каждый пункт в описании вакансии — то, чем я занимаюсь каждый день: сложные B2B-продукты в финтехе, веб и мобайл одновременно, нативные паттерны iOS / Android / web, матрицы прав, состояния, edge-кейсы и собственная дизайн-система, на которой я строю свой SaaS. Этот кейс — две недели соло, с чистого листа — показатель того, как я веду задачу целиком: от ресёрча до DS. Я подхожу под эту роль не на 80%, а полностью — и мне действительно хочется делать этот продукт вместе с вами.

Open to talk.

Full research and design documents available on request. Or DM me on LinkedIn — I'll send links to the research doc, the MVP design doc, and Menura.