Fellow

Designing an AI-Powered CRM for Brazilian Quick-Print Shops

Role

Product Designer (research, flows, prototyping, usability testing, AI conversation design)

Role

Product Designer (research, flows, prototyping, usability testing, AI conversation design)

Year

2026 (pilot phase with first client)

Team

Tarik Malagoli - Design/Vibe Coding
Danilo Trivelatto - Programming/Vibe Coding

Tools

Figma, Figma Make, Cursor, Claude Code, Lovable, Supabase, Vercel, n8n

OVERVIEW

From a pile of 30 unanswered WhatsApp messages to instant, AI-driven service.

Fellow is a CRM built for Brazilian quick-print shops (gráficas rápidas), businesses that live on speed but run on WhatsApp chaos, manual price math, and paper-based order tracking. I led the end-to-end UX: field research inside a working print shop, order-flow design, a pricing matrix that eliminated manual calculations, and the conversation design for an AI agent that handles customer service on WhatsApp.

THE PROBLEM

Quick-print shops sell speed, but their own operations are the slowest thing about them.

Brazilian quick-print shops handle two sales channels at once: walk-in counter service and a flood of WhatsApp messages. During my first visits to the pilot client, I watched a single employee juggle both — and lose both.

Three problems kept surfacing:

1. No order control. Client, product, and order data lived in the staff's heads, in notebooks, and in scattered chat threads. No clear flow from order intake to delivery meant rework and lost time.

2. WhatsApp overload. On one visit, an employee showed me a backlog of ~30 messages from the previous day with no initial response. For a business selling same-day printing, a customer waiting 24 hours for "hello" is a customer walking to a competitor.

3. Pricing was tribal knowledge. A business card order involves format, size, paper type, finish, special cuts, quantity, and the shop had no documented logic for how those combine into a price. Every quote was a manual calculation by whoever happened to answer.

The insight only field work revealed: the shop didn't think of these as three problems. To them it was just "a busy day." The lack of process was invisible from the inside, which is exactly why an outside researcher watching the counter for hours could see what they couldn't.

Field immersion at the pilot print shop — WhatsApp backlog
A crowded WhatsApp inbox meant customers were waiting, and potential sales were being lost - complete chaos. 🤯
Before Fellow, the print shop managed orders and products across Excel sheets, folders, and Trello, making the operation fragmented and harder to control.
USERS & AUDIENCE

Three users, three completely different contexts — one order.

Design implication: one order object had to flow through three radically different interfaces — a dense desktop CRM, a natural-language WhatsApp conversation, and a glanceable mobile app. Consistency of data, not consistency of UI, was the design principle.

Print shop staff

Marcos, 34, counter attendant
Standing at a counter, interrupted constantly, switching between walk-ins and WhatsApp. Core need: create accurate orders fast, without doing math.

The customer

Ana, 29, small business owner
On WhatsApp, in a hurry, often ordering while doing something else. Core need: an instant, clear quote and a painless way to pay.

Shop manager / owner

Carlos, 41, the owner
Needs a 360° view of the business, know what sold, what's late, who's producing, what came in today.

MY ROLE

Solo designer, AI-accelerated — research to working product in weeks, not months.

I owned the full design process: field research, flow definition, prototyping, usability testing, and iteration. What made this project unusual was the build workflow: I used Figma and Figma Make for design exploration, and Cursor + Claude Code to translate validated designs into working software on Supabase/Vercel, with n8n orchestrating the WhatsApp AI agent.

Why this matters to a hiring team: AI tooling didn't replace the UX process — it compressed the distance between "validated prototype" and "testable product." Instead of testing static Figma prototypes for months, I was testing the real system with real employees within weeks of each design decision. Every usability finding could ship as a fix in days.

SCOPE & CONSTRAINTS

A pilot client, no historical data, and a pricing model that existed only in people's heads.

No baseline data. The shop had no metrics on response time, order volume per channel, or quote accuracy. All "before" numbers came from direct observation and manual timing during my visits.

A live business. I couldn't pause operations to test. Every usability session happened between real customers, with real orders.

Undefined pricing logic. The client couldn't articulate how prices were built — a hard blocker for both the CRM and the AI agent.

Pilot stage. Fellow is live with one client; results are from that pilot, not a broad rollout.

RESEARCH & DISCOVERY

I spent days inside the shop before drawing a single screen.

Across multiple visits, I shadowed counter service, watched WhatsApp conversations unfold, followed orders into production, and sat with the owner during the daily delivery phone-tag with riders. I documented every handoff where information was retyped, remembered, or lost.

What this revealed that interviews wouldn't have: staff didn't complain about the pricing chaos — they were proud of knowing it by heart. The pain was invisible to them; only timing the tasks exposed it. A quote that "took a minute" actually took 4–6 minutes with interruptions.

The order didn't have a flow. It had gaps.

I mapped the full lifecycle — intake → quote → payment → production → delivery/pickup — and marked every point where the shop lost visibility. Three blind spots became the pillars of the product:

1. Payment verification (nobody checked if payment receipts were real)
2. Delivery coordination (pure phone-tag)
3. WhatsApp response time (the 30-message backlog)

No one could explain the prices — so I built a system that could.

Products like stickers and business cards carry stacked variations: format, dimensions, finish, paper type, special cuts, quantity. Staff calculated combinations manually, and the client had no documented pricing data.

My solution: a pricing matrix where each variation carries its own price component, and the combination generates the final value automatically.

Why it mattered twice:
At the counter: staff select options; the system does the math. This is the core of the 35% reduction in order-creation time.
On WhatsApp: the AI agent queries the same matrix, so automated quotes are precise, not approximate. One source of pricing truth across human and AI service.

The hard part: extracting the logic. I ran working sessions with the owner , decomposing past orders until patterns emerged.

The hardest interface had no screens.

The WhatsApp agent is trained on the shop's real products, prices, and policies. The design challenge wasn't technical — it was anticipating the messy ways real customers actually order and designing conversation mechanisms that feel natural while still collecting every field an order needs.

My process:
• Mapped real conversation transcripts from the shop's WhatsApp history
• Designed the conversation flow in FigJam, covering happy path + edge cases
• Defined the human-handoff moment: the agent conducts the conversation up to order confirmation, then transfers to staff

When the customer approves the quote, a payment link is sent automatically in the chat.

THE INITIAL PROTOTYPING ATTEMPT

The first version slowed people down. Testing told me where.

Initial rounds of in-person usability tests with shop employees exposed flows that were delaying the operation. Testing between live customers meant sessions were interrupted, which turned out to be a feature: I saw exactly how the system behaved under the shop's real conditions, not lab conditions.

Example finding → fix:
Finding: Staff abandoned order creation mid-flow when a walk-in customer arrived, losing all entered data.
Fix: Auto-saving draft orders, resumable from the dashboard.
Result: Order abandonment during creation dropped to near zero.

After multiple test rounds and iterations, the streamlined flows produced the measured 35% reduction.

DESIGN DECISIONS

The order board: keep the kanban, rebuild what's under it

Before: Orders lived in Trello. It worked as a team board, but: customers and products couldn't be linked to records - everything was typed by hand with no source of truth; unrelated information like invoice generation was mixed into the same board, creating confusion; the team retyped repetitive data constantly; and the business couldn't answer basic questions - how many orders last month? how much did we bill this year?

BEFORE

AFTER

Decision: Keep the kanban method (Jakob's Law), rebuild the data model beneath it. Orders now pull from a real customer base and product catalog. Every order gained a code, a history, and a report. I added two views Trello never had: by order status and by employee, giving the manager a full panorama.

Why it mattered: zero retraining cost, and the shop moved from "we think it was a good month" to knowing exactly what it sold, to whom, and by whom.

Don't redesign the habit - redesign the substrate

The team already worked in kanban, via Trello. Rebuilding their mental model from scratch would have cost weeks of relearning during live operation.
I applied Jakob's Law: users spend most of their time on other products and expect yours to behave the same way. Fellow kept the kanban metaphor the team had mastered and replaced what was actually broken underneath it - disconnected data, retyped information, no source of truth. Familiar surface, rebuilt foundation.

What used to live in spreadsheets and memory became a reusable product and pricing model.
FROM LOVABLE TO CURSOR

Solo designer, AI-accelerated — research to working product in weeks, not months.

I owned the full design process: field research, flow definition, prototyping, usability testing, and iteration. What made this project unusual was the build workflow: I used Figma and Figma Make for design exploration, and Cursor + Claude Code to translate validated designs into working software on Supabase/Vercel, with n8n orchestrating the WhatsApp AI agent.

Why this matters to a hiring team: AI tooling didn't replace the UX process — it compressed the distance between "validated prototype" and "testable product." Instead of testing static Figma prototypes for months, I was testing the real system with real employees within weeks of each design decision. Every usability finding could ship as a fix in days.

DESIGN DECISIONS

The ORDER BOARD: keep the kanban, rebuild what's under it

Previously, creating an order meant moving between Trello, WhatsApp, product references and spreadsheets.
I redesigned the order as a central workspace.

AFTER

From a single order, employees can access customer information, product configuration, payment and relevant context.

Quick customer access
Instead of leaving the order to search another system, employees can quickly open customer information.

Direct customer contact
Clicking the customer's contact information provides a shortcut to communication instead of forcing employees to continually switch between the order and WhatsApp.

Order history
Gráfica SF previously had no centralized order history.
That meant useful context from previous purchases disappeared.
Fellow connects previous purchases to the customer profile and introduces

Repeat Order
A previous order can be reused as the foundation of a new one, a common scenario in printing businesses.

Design principle:
Don't make users reconstruct information the system already knows.

DESIGN DECISIONS

Designing for speed at the counter

During testing, we discovered that a structured order workflow could still be too slow for simple counter requests. That was an important failure.

The interface made logical sense, but real counter interactions demanded something faster. The team asked for a Quick Order workflow for simpler products such as small print runs and copies.

I redesigned the flow around three focused steps: Customer → Products → Payment

The objective was not to expose the full power of the CRM. It was to expose only what was necessary at that moment.

UX lesson: The most complete workflow is not always the best workflow.

The correct amount of interface depends on the context of use. This redesign contributed to the 16% faster order creation time observed during pilot testing.

Select/Add CUSTOMER

Choose PRODUCT

Receive PAYMENT

Don't redesign the habit - redesign the substrate

The team already worked in kanban, via Trello. Rebuilding their mental model from scratch would have cost weeks of relearning during live operation.
I applied Jakob's Law: users spend most of their time on other products and expect yours to behave the same way. Fellow kept the kanban metaphor the team had mastered and replaced what was actually broken underneath it - disconnected data, retyped information, no source of truth. Familiar surface, rebuilt foundation.

DESIGN DECISIONS

The pricing engine: the heart of the CRM

Before: A single business card can be configured 240 different ways. Pricing was manual, from memory or fragmented spreadsheets, making every quote slow and error-prone. New employees lost significant time just learning prices.

Problem: The client couldn't articulate how prices were built. There was no document to design from.

BEFORE

AFTER

Decision - and how it was built: This was the most challenging part of the project, and the one that most required design and engineering to work as a single loop.

• It was designed the variation matrix: each variation (format, size, paper, finish, special cuts, quantity, art) carries its own price component, and their combination generates the final price. I ran the working sessions with the owner to extract the tacit rules and modeled how variations should compose.

• Danilo Trivelatto turned that model into a calculation engine that holds up under real conditions - handling the combinatorial explosion of variations, the rounding and rule-precedence edge cases, and the performance needed for both the counter and the AI agent to query it in real time. Several rounds of attempts and failures were needed before the model was correct; his engineering judgment on how to structure the calculation is what made the design viable rather than theoretical.

What used to live in spreadsheets and memory became a reusable product and pricing model.

Two extensions came from field reality:

Smart calculation: customers ask for odd numbers - "325 stickers, 0.8 × 0.8 in." Staff used to work out manually how many fit on an A3 sheet, losing time and delaying the order. The system now computes the layout.

Graphic calculation: bleed, margins, A4 vs A3, sheets vs meters vs units - a per-product configuration, because each product carries its own logic.

Why it mattered twice: at the counter, staff stopped calculating. On WhatsApp, the AI agent quotes from the same engine, so automated quotes are precise rather than approximate. This was the make-or-break module: without pricing working, the entire CRM collapses.

Smart calculation

Graph calculation

DESIGN DECISIONS

Designing a real customer database

BEFORE

Before: Gráfica SF did not have a centralized customer base. That meant:

- Lost contacts;
- No complete order history;
- No single place for addresses;
- Limited understanding of customer behavior.: The client couldn't articulate how prices were built. There was no document to design from.

AFTER

Fellow introduced structured customer profiles containing contact data, addresses and purchase history.
That enabled a subtle but meaningful experience improvement.

When a known customer contacts the company through WhatsApp, the AI Agent can identify them by phone number and address them by name.

From:
“Who is this customer?”

To:
“We already know who we're talking to.”

That transforms the CRM from a passive database into part of the service experience.

What used to live in spreadsheets and memory became a reusable product and pricing model.

Customer record shortcut: main information, phone, address, order history, and notes one click away instead of hunting across screens and systems.

Quick customer access
Instead of leaving the order to search another system, employees can quickly open customer information.

Order history
Gráfica SF previously had no centralized order history.
That meant useful context from previous purchases disappeared.

Customer Financial Profile
Fellow centralizes each customer’s financial information in one place, including credit limits, invoice terms, overdue tolerance, outstanding balances, billing restrictions and financial history

DESIGN DECISIONS

What if the customer didn't have to wait for the first reply?

BEFORE

One of the strongest research moments happened while standing next to employees answering WhatsApp.
I saw conversations waiting from the previous day.

At certain points, dozens of people could be waiting for an initial response.

For the customer:
silence feels like bad service.

For employees:
every new message increases the backlog.

AFTER

The first opportunity

Centralize WhatsApp conversations inside Fellow.

Instead of treating customer service as a completely separate tool, we integrated it into the operating context of the CRM.

Employees can now see:

- Customers;
- Current products;
- Existing orders;
- Payment context;
- Conversation.

New messages are surfaced directly from the Fellow interface.

Conversation design: the interface with no screens

Open questions I had to answer: How should the conversation open? What tone should the agent hold? Which information must it collect before quoting?

Decision: Before building, I mapped the full conversation flow in FigJam - service guidelines plus the range of situations that can occur: the happy path and the edge cases (vague requests, mid-conversation changes, price objections, customers who vanish and return days later).

A detail only a customer database makes possible: returning customers rarely introduce themselves. The agent identifies them by phone number and greets them by name from the first message.

Conversation architecture: intake, specification, quoting, objections, payment, human handoff.

Before: Service happened directly in WhatsApp. Staff told me they got lost among simultaneous conversations and couldn't tell:

• whether a customer had paid: the trigger for starting production. Paid orders sat idle because a message slipped past unnoticed.
• which conversations were stale: they archived chats manually just to keep the inbox usable.
• how to quote quickly: they typed the product name, every variation, and sent reference photos and prices by hand, stretching each conversation.

• The AI agent replies at any hour, so nothing needs archiving to stay manageable.

• The agent builds the quote/order itself and hands the conversation to a human only for validation.

Pause AI: staff take over instantly by typing a message or pressing a button.

Why the Pause AI button matters more than it looks: it's the trust mechanism. Automation a user can't interrupt is automation the user resents. A one-tap override is what made the team willing to let the agent run.

Don't redesign the habit - redesign the substrate

The same order object had to behave correctly in a dense staff web app and in a natural-language WhatsApp conversation. The rule: consistency of data, not consistency of interface. The AI agent quotes from the same pricing engine the counter uses - otherwise the system would lie to customers.

DESIGN DECISIONS

Designing data the company never had

BEFORE

Gráfica SF did not have immediate answers to basic business questions such as:

How many customers do we have?
Which products sell most?
How much did we sell today?
Which employee sells most?
Which payment method is most common?
How many orders were counter pickup vs. delivery?

The Reports area converts operational data generated by Fellow into business visibility.

AFTER

The system now brings together revenue, orders, customer data and product performance so managers can make decisions without manually requesting fragmented reports.

Design evolution

This represents an important shift:

Fellow started by organizing work.
It gradually began creating information for decision-making.

A reporting layer for the owner
Revenue trend, order distribution by status, average ticket, active customers

Plus: Order-level answers: top-selling employee, most frequent payment method, counter vs. delivery split, biggest customer, daily sales.

DESIGN DECISIONS

Configuration instead of assumptions

AFTER

Research also made something clear:

No two print shops operate exactly the same way.

Rather than hardcoding one “ideal” workflow, we created configuration options for:

- Kanban columns;
- Employee flows;
- Order rules;
- Labels;
- Payment methods;
- AI Agent instructions.

The goal is for Fellow to adapt to the operation instead of forcing every operation to become identical.

Product design principle:

Standardize the experience where consistency helps. Configure the workflow where the business genuinely differs.

Flexible Kanban Flows
Reorder Kanban columns to adapt workflows to different production needs and give teams greater control over order management.

Payment Methods
Configure and manage the payment options available to the print shop in one place.

AI Agents
Centralize the intelligence behind AI Agents. Define their knowledge base, response behavior, service tone, instructions, and customer interaction guidelines.

Outcomes

Fellow is currently running as a pilot with its first customer, so I intentionally treat the results as early signals rather than final business impact.

That distinction matters.
I want the project to demonstrate evidence, not manufacture certainty.

16% faster - Counter order creation
Tests of the redesigned workflow showed a 16% reduction in the time required to create an order.

37% less employee conversation time - WhatsApp orders
Testing with the AI-assisted workflow showed that employees spent 37% less time actively communicating with customers because the Agent handled a significant part of the initial interaction and information gathering.

Immediate first response - Online service
The Agent can engage customers immediately instead of requiring every conversation to wait for an available employee.

Structured pricing - More consistent quotations
Product variables are being transformed into a pricing model that both employees and the AI Agent can use.

Verified payments - Lower operational risk
Direct payment status replaces manual interpretation of payment screenshots.

Connected delivery - More operational visibility
Delivery status is brought back into the order lifecycle instead of being coordinated entirely through calls and messages.

Solo designer, AI-accelerated — research to working product in weeks, not months.

Challenges and Lessons Learned

What I learned

The biggest lesson from Fellow is that good UX wasn't about making a CRM easier to use.
It was about understanding a business deeply enough to decide what the system should do in the first place.

Visiting the print shop changed decisions I would never have questioned from behind a screen.
Testing with actual employees exposed workflows that looked good in a prototype but slowed down the real operation.

Designing the AI Agent taught me that conversational experiences require uncertainty, guardrails and human escalation to be treated as first-class design problems. And using AI throughout the product development process showed me something equally important:

AI dramatically increases how fast we can build.
UX determines whether what we build is worth building.

PHASE 2 — WHERE FELLOW CAN GO NEXT

Insights gathered during field research also uncovered opportunities that go beyond the scope of the first release. Rather than adding them prematurely, I proposed validating the core product with more print shops first and using those learnings to prioritize the next phase.

Recommended Phase 2 opportunities:

- Validate Fellow with additional quick-print shops to identify shared patterns and business-specific differences.
- Payment integration, enabling verified payment status and automated payment links instead of relying on receipt screenshots.
- Delivery & rider experience, connecting dispatch, drivers, delivery status, and the order lifecycle.-
WhatsApp voice-message support for the AI Agent, reflecting how customers actually communicate.
- Full-funnel analytics, measuring the journey from first contact to quote, payment, production, and delivery.

The product was delivered. The learning isn’t finished.

Fellow’s first phase transformed a fragmented operation into a connected workflow. Phase 2 is about taking what worked at Gráfica SF, testing it across more businesses, and turning those learnings into a product that can scale.