5 days → 30 mins. Redesigning Caribou's client onboarding from a manual task list to an AI-first data-dump flow
Timeline
2026
Team
Core: 4 Engineers, 2 Tax experts, 1 Accountant, 1 Product Designer (me)
Review: 1 AI/ML expert, 1 Tax partner, 1 Accountant
Caribou had already solved the hardest part by replacing weeks of consultancy interviews with a structured digital process for data collection. But customers were still spending 4-5 days on it. When we dug in, the reason was clear: we were asking people to manually type in information that already existed in their files. The problem wasn't the data. It was the approach.
I designed the flow that collapsed the time to completion to under an hour.

Bringing down onboarding and data collection time to under an hour
The Problem
Before Caribou existed, onboarding a new client meant the traditional consultancy playbook: weeks of functional interviews across multiple stakeholders, manually extracting entity details, financials, contracts, people data, and more. For a typical organisation with 3 entities, that process took 2 to 3 weeks. Not because the information was complex, because the process of getting it out of people was slow, fragmented, and entirely manual.
Caribou's product replaced that with a structured task-list approach, which was a genuine step forward. It brought the timeline down to 4 to 5 days. It still involves a lot of work filling in forms covering 100+ fields, and the information already exists somewhere in documents the customer has on hand.

The MVP version was an unorganised list of tasks
The data wasn't missing. It was just trapped in scattered files, spreadsheets, and people's heads. The task list gave it structure, but customers were still doing all the extraction themselves, field by field.

The data was trapped in files, still needing users to manually find the information field by field
Before: Caribou's task list requesting information. It replaced weeks of consultancy interviews, but was still a long list of tasks that compounded.

User flow in the task list model: straightforward, but tediously manual
What I Did
Identified the data-dump flow as the single highest-leverage onboarding problem. Caribou had already replaced the slow per-hour billing consultancy approach. The remaining bottleneck wasn't "customers don't have the information", it was "we're still making them type it all in manually."
Proposed a fundamentally different approach: let customers upload their existing documents, process and classify them automatically, and present the extracted insights as one-click suggestions inside the same forms they'd otherwise fill by hand.
Scoped the MVP with engineering. The full vision was ambitious, and the shippable version needed to be useful from day one without waiting for perfect extraction accuracy. We designed for graceful degradation: if the AI was confident, one click. If it wasn't, the field was still there for manual entry. No dead ends.
One of the challenges was that it was difficult to give an estimate on progress, because some answers opened up a few additional questions.
My earlier design took into account dependencies and mapped out the steps visually, similar to a skill tree. The idea was that they would unlock sequentially, based on previous answers.

Initial iteration of the steps that unlocked sequentially
We tested this iteration with users, where the unguided completion rate was 80%. The remaining customers requested guidance mainly around case-specific complexity, such as an entity that was in the process of incorporation and so they didn't have some data, or a large planned restructuring in the near future, etc. Overall clarity and user satisfaction improved, but…
The largest point of failure was that the average time to completion actually increased by 4 days!
On digging deeper, I found the reason…
In this approach, further steps were blocked until all the previous information was filled. One of these was the Financial data, which our customers often outsourced to their Accountants, who took time to turn around. So while actual active time to completion had reduced, this additional blocker in the middle meant that the process still ended up taking longer and depended on external turnaround time.
This iteration while an improvement on the task list in terms of clarity and progression, revealed some opportunities for improvement, which helped me design the new flow:
A possible win by integrating with standard accounting software. This could sidestep the manual delay from external accountants where possible. We identified the most commonly used accounting software for our customers, and the integration would be added to the next iteration.
A clear need for the flow to be as modular as possible, planned around different user roles so they didn't block each other unnecessarily. This was especially true for the Personnel step which was commonly done by an HR officer, who wasn't responsible for any other data.
In the sequential approach, users still needed to fetch and upload the right documents per section, so the burden of identifying and sorting files was still on the user. We tested out a PoC to check if AI could be leveraged from the get go to sort files, and the results were reliable enough to move the upload step all the way to. the beginning of the new flow.
I observed that in reality, users were downloading some files from online registries and then uploading them into Caribou. We could have fetched these directly! So in the next iteration, we pulled information like filed taxes or entity details directly from official sources, like Companies House or Delaware database, instead of uploads only.
With these learning in mind, I then…
Designed the end-to-end flow:

User's workflow after implementing the AI-first solution: effortless, with high control
The user initially sets up their company profile which allowed us to know how many entities they had and where they were incorporated. This provides sufficient information to be able to unlock most modules and give the AI model context on sorting the files.
1. Upload: Customer uploads their existing documents (financials, contracts, org charts, whatever they have).
2. Auto process & classify: The system ingests, parses, and classifies the content, mapping it to the relevant forms and fields.
3. Form-by-form human review: Customer moves through each form (entity details, accounting, people, contracts, production, etc.). In each field, processed insights are surfaced and available to accept with one click.
4. Confirm without skipping:The flow ensures every key field is addressed. The user could accepted from a suggestion, edit an accepted suggestion, or manually enter from scratch.
Shipped the flow to customers (May 2026), replacing the task-list approach entirely. The new analytics in place include time on task and time to completion of flow. Additional tracking for acceptance rate for AI suggestions.
The Trust v/s Speed Trade-off
One-click accept, not auto-fill: It would have been easier to just dump the extracted data into every field automatically. But trust matters. When you're entering financials and contract details, you want to see what the system found and say "yes, that's right", and not discover later that it guessed wrong! The one-click pattern gave users control without giving them work.

Approaches considered
Graceful degradation: The AI extraction wasn't perfect. Some fields would have high-confidence suggestions, some would have low-confidence ones, some would have nothing. The design handled all the different states without breaking the flow. Only suggestions with a high level of confidence were shown, to build trust and prevent noise. Manual entry was always an option.

AI sometimes predicted multiple options with high confidence, while at times, none were certain enough. The design had to be flexible and account for varying levels of confidence.

The UI pattern was flexible, surfacing only high-confidence suggestions while always allowing simple manual edit/override
Confirmation without skipping: The old task-list approach at least had one advantage: every field was explicitly required. The new flow needed the same discipline. Every required field had to be explicitly addressed before moving on, either by accepting a suggestion as is, editing it, or typing something in.
Human and AI Stakeholders
Form-by-form, not all at once: 100+ fields on one screen would be overwhelming. Breaking it into logical forms (entity details, then financials, then people, then contracts) meant each step felt manageable. You're never staring at the whole mountain, just the next stretch.

Simplified form, with information directly pulled from government registries like Companies House and uploaded sources like tax returns
This also made it scalable to larger organisations, where user roles come into play… where Hannah from HR could own all tasks related to people data, while Bill from Accounting filled in the financials.

Logically chunked information architecture for modules futureproofs V2, which is slated to have user roles for larger organisations
Providing context to AI at the right time: The initial company profile step provided context to the model that was sorting the uploaded files, and providing insights for all the following forms.
Weighted sources for improved predictions: The prompt was weighted in favour of official sources over unofficial ones, increasing confidence for insights and helped to flag contradictions.
The Outcome
Onboarding time: Traditional consultancy method took 2-3 weeks → Caribou's task-list approach brought it to 4–5 days → The data-dump flow I designed brought it to 30–45 minutes (even when filled entirely manually, ~1 day; still a 5x improvement over the previous product experience)
Forms covered: 8–12 per typical engagement, 100+ fields total
Feature flagged with PostHog. Early signals we're watching: AI suggestion acceptance rate, time-to-completion per form, and drop-off points. (I'll update this as data matures). We A/B tested the sequential flow v/s the modular approach. Modular approach won by a large margin for metrics like time to completion, reduction in stray and rage clicks, while providing improved support for multi-user collaborative usage. It has created a basis for future iterations with demarcated user roles and easy data management.
Where it began, with a compounding task list:

Before: a compounding list of tasks with no end in sight
The middle iteration, with sequential unlocks:

Before: a compounding list of tasks with no end in sight
The key difference, leveraging AI to process information:

The key difference: upload-first, let the system do the work, then confirm extracted data
Where we landed, simple modular forms with one-click accept:

After: A structured upload-first flow with clear progression
Why this matters for what I do next
Going AI-first changed my approach to designing experiences. The solution had to adapt to varying outputs of the system, and dealt with edge cases and states outside human error.
The thing that stuck with me: designing for AI output isn't the same as designing for human input. The system has its own failure modes, confidence gradients, and edge cases. Once I started treating it as a collaborator with limitations rather than a black box, the design got sharper.
Most importantly, this project involved a workflow where I functioned as a design engineer in addition to my role as a product designer. Not only did I prototype ideas in code, but also directly built and shipped features agentically through Cursor.

Working in Cursor to affect changes directly in the codebase
