Phase 02 — Product Discovery
Prioritization, ideation, prototyping, backlog structuring and assessment of Cagan’s 4 risks.
Navigable Prototypes
Synthetic Personas
4 personas representing MEI and micro-business market segments. Built by triangulating SEBRAE, IBGE data, public PJ bank reviews and behavioral analysis of digital freelancers.
P-01 — Primary Persona (MVP / Beachhead)
Lucas Ferreira, 28 years old — Designer/Dev Freelancer (MEI)
Segment: Digital Freelancer MEI | Income: R$ 5,000–8,000/month (variable) | CNPJ: MEI for 2 years
Context: Works 100% on computer, serves 3–5 simultaneous clients. Uses PF account (Nubank) for everything — personal and professional mixed. Issues invoices via the MEI portal but does not track receivables.
Frustrations: Mixes PF and PJ expenses in the same account. Doesn’t know how much is left from the business. Needs to grab the phone for every Pix. Tried to open a PJ account but gave up due to bureaucracy. Uses spreadsheet for financial control (updates 1x per month).
Goals: Separate PF and PJ without complications. Issue professional charges. Know how much the business actually earns. Operate everything from computer.
“I know I should separate the accounts, but opening a PJ account is insane bureaucracy. If I could do it in 3 minutes, without leaving the computer, I would have done it yesterday.”
Insights: INS-01, INS-02, INS-03 | KRs: KR-01, KR-02, KR-03
P-02 — Primary Persona (MVP)
Juliana Ramos, 31 years old — Social Media Manager Freelancer (MEI)
Segment: Digital Freelancer MEI | Income: R$ 4,000–6,500/month (variable) | CNPJ: MEI for 3 years
Context: Manages social media for 6 clients, charges a fixed monthly fee + one-off projects. Receives via Pix but doesn’t issue invoices because “it’s complicated and expensive.” Does everything on notebook.
Frustrations: Clients delay payment and she has no way to charge formally. Wastes time checking PF statement to find PJ receipts. PJ bank (Itaú) charges R$ 75/month in fees, closed the account.
Goals: Issue free invoices with Pix QR. Automatically reconcile client receipts. Have a clear view of monthly revenue.
“My biggest problem is not attracting clients, it’s collecting. I send Pix on WhatsApp and hope the person remembers to pay. I need something professional that costs me nothing.”
Insights: INS-02, INS-04, INS-05 | KRs: KR-02, KR-04
P-03 — Secondary Persona (Cycle 2)
Camila Duarte, 34 years old — Marketing Agency Owner (ME)
Segment: Micro-business ME | Income: R$ 25,000/month (revenue) | CNPJ: LTDA with 3 employees
Context: Needs to issue invoices to clients, control team expenses and separate owner’s draw from company cash flow. Uses Inter PJ but complains about the interface.
Frustrations: PJ bank charges abusive fees per invoice. No consolidated cash flow view. Manual reconciliation between spreadsheet and statement. Needs to give financial access but with limits.
Goals: Real-time cash flow dashboard. Multi-user control with profiles. Corporate card with per-person limit.
“My employee handles the finances, but I need to see what she did. Today she sends me a screenshot of the statement via WhatsApp. It’s ridiculous.”
Insights: INS-01, INS-05, INS-06 | KRs: KR-01, KR-04
P-04 — Tertiary Persona (Cycle 2+)
André Mendes, 26 years old — Freelancer Programmer (newly opened MEI)
Segment: Digital Freelancer MEI (beginner) | Income: R$ 3,000–4,000/month | CNPJ: MEI opened 2 months ago
Context: Recently left a CLT position to freelance. Just opened MEI, knows nothing about business financial management. Only has a PF account at Nubank.
Frustrations: Doesn’t know the difference between PF and PJ accounts. Afraid of opening an account at the wrong bank. Doesn’t understand DAS, owner’s draw, revenue.
Goals: PJ account that works immediately without configuration. Everything in the same app as the PF account. Zero bureaucracy, zero fees.
“I just want to receive from my clients in an organized way. I don’t want to become an accountant. If the bank does that for me, perfect.”
Insights: INS-02, INS-03 | KRs: KR-01, KR-03
Key Insights
6 insights extracted from competitive analysis, SEBRAE data and digital freelancer behavior.
INS-01 — High confidence
No PJ bank offers a native web-first experience — the gap is total
All PJ competitors (Inter PJ, Cora, Conta Azul, C6 Business) are mobile-first or have limited web. MEIs who work on computer are forced to use their phone for banking operations. First-mover window of 12–18 months.
INS-02 — High confidence
PF/PJ mixing is the biggest silent pain — 72% of MEIs don’t separate
SEBRAE data shows 72% of MEIs use personal accounts to receive from clients. Native PF-PJ integration with instant toggle solves a problem most don’t even perceive as a problem until they see the solution.
INS-03 — High confidence
PJ onboarding is the #1 barrier — bureaucracy makes them give up
Opening a PJ account at competitors takes 3–7 days with extensive documentation. By leveraging the KYC already validated in the ECP Bank PF account, we can reduce to < 3 minutes with zero additional documents.
INS-04 — Medium confidence
Freelancers give up on formal billing because invoices are expensive
Traditional PJ banks charge R$ 3–8 per issued invoice. Freelancers prefer to send Pix via WhatsApp and lose control. Free invoice with embedded Pix QR is a direct activation differentiator.
INS-05 — Medium confidence
Multi-user control is a barrier for micro-businesses with employees
MEs with 1–5 employees need to give financial access with clear limits. Most digital PJ banks do not offer granular RBAC. For the MVP, 3 profiles (Admin, Financial, Viewer) cover 90% of scenarios.
INS-06 — Medium confidence
Real-time cash flow view is what retains
MEIs who see where the company’s money goes have 2x more retention (competitor benchmarks). PJ dashboard with inflows vs outflows, pending charges and projected balance is what transforms a tool into a primary bank.
Opportunity Prioritization (RICE)
12 OST opportunities ranked by RICE Score. Grouped into P0 (mandatory MVP), P1 (amplifiers) and P2 (deferred).
| Rank |
OPP |
Description |
RICE |
Priority |
| 1 |
OPP-11 |
Full desktop-first experience |
283.5 |
P0 |
| 2 |
OPP-01 |
Fast PJ account opening |
270.0 |
P0 |
| 3 |
OPP-03 |
Pre-configured account with no setup |
210.0 |
P0 |
| 4 |
OPP-09 |
Instant PF↔PJ transfer |
149.3 |
P0 |
| 5 |
OPP-02 |
Immediate value in 1st session |
140.0 |
P1 |
| 6 |
OPP-06 |
Automatic invoice reconciliation |
130.7 |
P1 |
| 7 |
OPP-04 |
Simple and free invoice |
115.2 |
P0 |
| 8 |
OPP-07 |
PF/PJ toggle in the same app |
113.4 |
P0 |
| 9 |
OPP-05 |
Professional charges |
112.0 |
P1 |
| 10 |
OPP-10 |
Cash flow dashboard |
89.6 |
P1 |
| 11 |
OPP-08 |
Consolidated PF+PJ dashboard |
56.0 |
P2 |
| 12 |
OPP-12 |
Partial multi-user access |
28.0 |
P2 |
Solution Hypotheses (9 validated hypotheses)
H-01
OPP-11 — Desktop-first
Desktop-first layout 1280px+ with fixed sidebar (280px) + fluid content
Outcome: Freelancers perform banking operations without switching to phone during work
Customer Value
H-03
OPP-01 — Fast opening
3-step onboarding wizard leveraging PF KYC, < 3 minutes
Outcome: MEI opens account and makes first operation the same day
Usability
H-04
OPP-03 — Pre-configured
Zero-config: automatic CNPJ Pix, preset categories, invoice defaults
Outcome: Account ready to use with no manual configuration
Customer Value
H-05
OPP-09 — PF↔PJ Transfer
Transfer in 2 clicks with dual balance display side by side
Outcome: Entrepreneur moves money between PF and PJ without friction
Customer Value
H-06
OPP-04 — Simple invoice
2-step charge form (details → preview+send) with embedded Pix QR
Outcome: Issue a professional invoice in < 60 seconds
Usability
H-07
OPP-04 — Invoice status
Colored semantic badges + InvoiceTimeline for instant status
Outcome: Know the status of each charge without effort
Usability
H-08
OPP-07 — Toggle PF/PJ
ProfileSwitcher dropdown with indicator dots + 200ms transition
Outcome: Switch between PF and PJ without losing context
Usability
H-09
OPP-07 — Differentiation
Header + Sidebar change by content, not by visual theme
Outcome: Total visual consistency between PF and PJ
Usability
Epics (Portfolio Level)
EPIC-01
Express PJ Onboarding
“For MEIs who lose time with banking bureaucracy, express onboarding enables opening a PJ account in < 3 min with zero configuration, unlike banks that require extensive documentation, because we leverage KYC already validated in the PF account.”
OPP-01
OPP-03
KR-01
EPIC-02
Business Charges
“For freelancers who give up on formal billing because invoices are expensive and bureaucratic, business charges enable issuing invoice+Pix QR in 2 steps for free, unlike banks that charge per invoice, because we automate defaults and reconciliation.”
OPP-04
KR-02
EPIC-03
Unified PF-PJ Ecosystem
“For entrepreneurs who mix personal and business expenses, the unified ecosystem enables switching between PF and PJ and transferring money in 2 clicks, unlike having 2 separate apps, because we natively integrate the accounts.”
OPP-07
OPP-09
KR-03
EPIC-04
Desktop-First Bank
“For digital freelancers who work 100% on computer, the desktop-first bank offers a complete banking experience at 1280px+ with sidebar and dashboard, unlike mobile-only banks, because we design for the screen where they already are.”
OPP-11
KR-04
Features (Program Level)
| ID | Epic | Feature | Benefit Hypothesis |
| FEAT-01 | EPIC-01 | 3-Step Onboarding Wizard | If we simplify opening to 3 steps with CNPJ auto-fill, then 35% activation in 7 days |
| FEAT-02 | EPIC-01 | Zero-Config Account | If we pre-configure Pix CNPJ + categories + defaults, then 1st operation happens the same day |
| FEAT-03 | EPIC-02 | 2-Step Invoice Issuance | If we reduce issuance to details + preview, then average 2+ invoices/company/month |
| FEAT-04 | EPIC-02 | Charge Status Management | If we show status with badges + timeline, then MEIs track charges without manual reconciliation |
| FEAT-05 | EPIC-03 | ProfileSwitcher PF↔PJ | If we offer toggle with smooth transition, then average 2+ toggles/session |
| FEAT-06 | EPIC-03 | PF↔PJ Transfer | If we allow transfer in 2 clicks with visible balances, then 70%+ of active companies use it |
| FEAT-07 | EPIC-04 | Desktop SidebarPJ Layout | If we offer fixed 280px sidebar + fluid content, then freelancers stay on desktop |
| FEAT-08 | EPIC-04 | PJ Dashboard | If we show balance + cash flow + charges + quick actions, then D30 retention reaches 45% |
User Stories (BDD/Gherkin) — Top 3 Features
US-001 M
As a MEI, I want to enter my CNPJ and see the company data filled in automatically, so I don’t need to type everything manually
Feature: Automatic CNPJ lookup
Scenario: Valid and active CNPJ
Given I am on the PJ account opening screen
When I enter CNPJ "12.345.678/0001-95"
And I click "Look up"
Then the system validates the CNPJ (module 11)
And automatically fills in company name, legal type and address
And displays the data for confirmation
Scenario: Invalid CNPJ
Given I am on the PJ account opening screen
When I enter a CNPJ with incorrect check digits
Then the system displays error "Invalid CNPJ"
And does not advance to the next step
Rules: BR-12 (active CNPJ + CPF validated in PF), BR-14 (CNPJ module 11 validation)
US-004 M
As a MEI, I want to issue a billing invoice by filling in only the client data and amount, so I can charge professionally without bureaucracy
Feature: 2-step invoice issuance
Scenario: Issuance with intelligent defaults
Given I am on the "New Charge" screen
When I fill in name "Carlos Mendes", CPF, amount R$ 2,500.00
And I select due date for 30 days
Then the system pre-configures 1% monthly interest and 2% late fee
And generates preview with barcode + Pix QR Code
And displays buttons "Send by email" and "Copy link"
Scenario: Insufficient balance does not block issuance
Given my PJ balance is R$ 0.00
When I issue an invoice for R$ 5,000.00
Then the invoice is issued normally
Because invoice issuance does not depend on balance
Rules: BR-08 (UUID idempotency), BR-09 (values in cents), BR-14 (30d validity, 1% interest, 2% late fee), BR-15 (receipt with CNPJ)
US-007 M
As a MEI, I want to transfer money between my personal and PJ accounts in 2 clicks, so I can separate finances without bureaucracy
Feature: PF↔PJ Transfer
Scenario: PJ → PF transfer with sufficient balance
Given my PJ balance is R$ 8,750.00
And my PF balance is R$ 3,200.00
When I select direction "PJ → PF"
And enter amount R$ 1,000.00
And confirm the transfer
Then PJ balance updates to R$ 7,750.00
And PF balance updates to R$ 4,200.00
And transaction is recorded with idempotency_key
Scenario: Insufficient balance
Given my PJ balance is R$ 500.00
When I try to transfer R$ 1,000.00 to PF
Then the system blocks with message "Insufficient balance"
Rules: BR-04 (insufficient balance blocks), BR-08 (idempotency), BR-09 (cents), BR-13 (instant, same ownership)
Assessment of Cagan’s 4 Risks
Confidence: Medium
Supporting evidence: 23.5M MEIs+MEs, 48% dissatisfied, no web-first + PF-PJ + AI competitor. Personas validate real pains.
Reservation: 4 HIGH assumptions (A-01, A-03, A-05, A-08) not yet tested with real users. Validate in first 30 days post-launch.
Confidence: Medium
Impacted KRs: Pix usage (low risk), activation (medium), invoices (medium), D30 retention (HIGHEST RISK).
Reservation: Revenue model (float + future credit) viable but thin in Year 1. D30 retention is the critical KR — needs retention playbook in MVP.
Confidence: High
6 hypotheses validated via low-fi and high-fi prototypes. Proven patterns (Nubank PJ toggle, desktop banking). Component library reused from PF.
4 friction points: ProfileSwitcher context, invoice fields, RBAC comprehension, empty chart — all with clear mitigations.
Confidence: High
Identical stack to ecp-digital-bank PF (Fastify 5 + SQLite3 + React 18.3). High reuse of components, utils and auth infra. Tech spec details 12 tables, 35 endpoints, seed data.
5 challenges: shared JWT, SQLite concurrency, FEBRABAN barcode, CNPJ lookup, 35 endpoints — all manageable. Estimate: 3–4 weeks.
Conditions to Proceed
- C-01: Instrument assumptions A-01 and A-08 for measurement from day 1 of launch
- C-02: Include retention playbook (weekly digest, alerts, invoice reminders) in MVP scope
- C-03: Implement empty-states for Dashboard, Cash Flow and Charges List
- C-04: Pre-fill invoice defaults (interest/late fee) and profile descriptions in InviteModal
- C-05: Plan 30-day post-launch validation cycle with go/no-go criteria
HITLs #2 to #6 — Phase 02 Approval Decision
#2: Right opportunities prioritized? •
#3: Hypotheses approved? •
#4: Low-fi validates concept? •
#5: High-fi validates usability and identity? •
#6: 4 risks approved? Ready for Delivery?
- ✅ Approved — Discovery validated. Advance to Phase 03 (Product Delivery) with the 5 conditions above.
- ⚠️ Approved with reservations — Discovery ok, but with specific adjustments before advancing.
- ❌ Rejected — Return to ideation or prioritization with specific feedback.