Work

Kosh case study

// 01 Brief

The agreement breaks before the payment does.

Kosh began from a simple observation: freelancers and clients already have ways to send money, share files, and discuss work. What they do not have is one shared place where scope, proof, review, payment, ownership, and the final record stay connected.

Evidence

Payment is solved. Agreement state is not.

UPI can confirm that money moved. Drive can confirm that files were shared. WhatsApp can confirm that someone said yes. None of them creates one shared contract state both sides can trust.

Negotiation

WhatsApp carries the discussion.

Scope, revisions, approvals, and expectations are scattered across informal messages.

Files

Drive carries the work.

Files can be shared before payment is settled, creating review access without ownership clarity.

Payment

UPI carries the transaction.

Payment moves quickly, but it does not explain what was approved, what changed, or what remains pending.

Record

Invoices and PDFs carry intention.

They document an agreement at one moment, but they do not stay alive as work moves through review, dispute, and release.

01

Scope is agreed in chat, then forgotten.

The work begins with informal clarity, but the actual scope lives across messages, screenshots, PDFs, and memory.

02

Work is shared for review, but ownership becomes ambiguous.

A client needs to see the work before paying, but sending files too early can quietly transfer leverage.

03

Payment and approval happen in different places, leaving no shared truth.

UPI confirms money moved. Drive confirms a file was sent. WhatsApp confirms someone said yes. None of them creates one shared contract record.

// 02 Research

India built payment rails. Not trust rails.

The research did not ask whether freelancers needed another payments product. It asked where trust breaks when agreement, proof, review, files, and payment all live in different tools.

01

User conversations

Eleven informal conversations, six freelancers and five clients, focused on scope, review, payment anxiety, file handoff, and what happens when a project goes badly.

02

Tool audit

WhatsApp, UPI, Drive, invoices, contracts, and marketplaces were treated as one existing stack, then compared by what each tool carries and what each tool drops.

03

Secondary research

UPI scale, freelance work in India, MSME and formal recourse paths, and payment-partner constraints were reviewed to separate infrastructure problems from coordination problems.

04

Workflow teardown

A freelance engagement was mapped from first DM to final payment to identify where the agreement stops being readable by both sides.

Across every interview, the same gaps.

When both sides described a project that went badly, the visible failure was usually money. The underlying failure was earlier: what was promised, what was submitted, and what counted as done.

What broke first, in projects that went badly
Clusters named across interviews / qualitative
N=11 / informal
Scope was never written down clearly Most common
Proof of delivery scattered across chats Very common
Approval was silent, never explicit Common
Ownership transferred before payment cleared Common
No structured path when trust broke Universal

Two sides of the same break.

The freelancer and the client described different symptoms, but the missing layer was the same: no shared record of what had been agreed, submitted, reviewed, or released.

"I delivered the files. Then the proof disappeared into follow-ups."

The freelancer's problem was not only late payment. It was having no neutral place to point to scope, submission, approval, and ownership state.

Freelancer signal / paraphrased from conversations

"I paid because I thought it was done. Later, I wasn't sure what I had approved."

The client's problem was not only trust in the freelancer. It was not knowing whether review, revision, acceptance, and final ownership had been clearly separated.

Client signal / paraphrased from conversations

The pattern was bigger than individual behaviour.

UPI

Payment rails are strong.

UPI moves money quickly, but the payment record does not carry scope, proof, approval, or ownership state.

Direct freelance work

Work begins socially.

Many independent projects begin through referrals, DMs, and WhatsApp, outside formal marketplace rails.

Recourse

Recovery paths are not designed for this moment.

Formal dispute and recovery systems are easier to understand for registered businesses than for informal independent work.

Every tool moves something. None of them hold the agreement.

The tools most freelancers and clients already use each move one thing and assume the rest is handled elsewhere. The gap is the right-most column: a connected contract state.

Capability WhatsApp UPI Drive / transfer Marketplace Kosh direction
Scope is structured and shared
Proof of delivery is timestamped
Review is separate from ownership
Money is tied to the agreement
Dispute has a structured path

Not built in Partial / depends on discipline Built into contract state Regulated payment partner

From finding to decision.

The research became useful only when each pattern forced a product decision.

01
Finding

Money could move, but scope, proof, approval, and ownership were rarely held together.

Decision

Design the agreement, not a separate money surface.

02
Finding

The same person could be provider in one project and commissioner in another.

Decision

The contract assigns the role, not the account.

03
Finding

Clients need to review work before payment, but freelancers need to protect final handoff.

Decision

Separate review access from ownership transfer.

04
Finding

When trust breaks, informal tools turn conflict into screenshots, reminders, and social pressure.

Decision

Treat dispute as a first-class contract state.

// 03 Thesis

Escrow without context is just money waiting.

The research shifted the product away from "hold the money until both sides are happy" toward a sharper idea: money only creates trust when it is connected to scope, proof, review, ownership, and record.

01

Agreement before custody.

The agreement is the artifact. Payment is the consequence. Kosh starts with scope, milestones, proof, and ownership terms before money enters the workflow.

02

Shared state, not stored doc.

A Kosh contract is not a PDF folder. It is a shared state machine both parties read at the same time: draft, accepted, funded, submitted, reviewed, disputed, released, and recorded.

03

Review access is not ownership.

Submitted work can be reviewed before release, but final ownership transfers only when payment is released. The product separates seeing the work from owning the work.

04

Dispute is a state, not an edge case.

When trust breaks, the contract should not disappear into support. Kosh treats dispute as a visible state with partner-custodied funds frozen, structured response, and a recorded outcome.

// 04 Strategy

Not a marketplace. Not payment-first. Not a PDF.

Kosh became clearer by rejecting three familiar product shapes and keeping only what helped the agreement stay alive.

Strategic question

What kind of product should sit between informal freelance work and high-trust payment?

The answer was not to replace the relationship, hold money as the whole product, or freeze the agreement inside a document.

01

Marketplace

Discovery-first

It would add profiles, discovery, bidding, ratings, and platform mediation before the real trust break had happened.

Existing relationships stay direct. Kosh only adds the agreement layer around work that already exists.

02

Payment-first flow

Money-first

Payment protection alone still leaves scope, proof, review, ownership, and release conditions scattered across tools.

Payment has meaning only when tied to contract state. Money follows the agreement instead of becoming the product.

03

Contract generator

Document-first

A PDF can clarify terms at the start, but it becomes static once work begins and proof starts moving.

The agreement stays alive after signing. Scope, proof, review, ownership, payment, and record move together.

Kosh became the coordination layer between agreement, proof, review, ownership, payment, and record.

// 05 IA

One account. Role-aware contracts. Milestone state machine.

Kosh could not split users into permanent freelancer and client accounts. The same person might provide work in one contract and commission work in another, so the architecture makes the contract assign the role, not the account.

Account model

One account

Kosh does not ask users to permanently choose freelancer or client. A user keeps one account, and their role changes inside each contract.

Shared object

Contract workspace

The contract is the shared object both sides can read. It carries scope, funding state, submissions, review, ownership, and record.

Trust unit

Milestone state machine

The milestone is the trust unit. Funding, proof, review, dispute, release, and ownership transfer happen around milestones, not around a vague project status.

Pre-auth · onboarding
Sign up / Sign in
Verify identity
Create contract
Accept invite
enters workspace ↓
Dashboard Personal
"What needs me?"
Actions
Active contracts
Role summaries
Updates
Empty state
Alerts
First contract
Contracts Shared
"Where does it stand?"
List
Detail · shared state
Overview
Milestones
Proof
Activity
Handoff
Issues
Amendment
Revision
Dispute
Notifications Personal
"What changed?"
Alerts
Review due
Funding
Release
Issues
Detail
Preferences
Profile Personal
"Who am I here?"
Identity
Payout setup
Partner status
Payout history
Security
Verification
Sessions
Tax details
Solid node = primary screen
Dashed node = drill-down
Personal action routing
Shared contract truth
SharedBoth parties read the same record
PersonalVisible to one user only
// 06 Design System

A paper system for an agreement two people read together.

Kosh handles real money between people who do not fully trust each other yet. The interface had to feel like a shared document, not a finance dashboard: warm paper surfaces, restrained product colour, and plain language wherever the system would rather explain its mechanism.

Design system principle

This system was designed to make agreement state readable, not to make finance feel exciting.

The section works like a compact design-system artifact, but every foundation, primitive, and component points back to the same product idea: both sides must understand what is agreed, what is live, what is recorded, and what happens next.

01 / Foundations
Paper
#FAF4EE
Live card
#FFFFFF
Agreement record
#FDF8E8
Orange, in motion
#C04010
Included / approved
#1A5C34
Excluded / disputed
#B52424
02 / Typeface and surfaces
Aa
Inter / one family
What does this cover?
Title / 700
Rahul reviewing, release due 19 Jun
Body / 500
₹30,000
Amount / tabular
Paper the working surface
Live card can still change
Record already happened
Rhythm
Radius 10 / 14 / 16
Spacing 8 / 12 / 16 / 22
Numerals tabular-nums
03 / Interface primitives
Buttons
Continue Back Release payment
Contract state chips
In review Draft Released Disputed
Release seal
Pressed once. Money and ownership move together
Contract builder / progress
Basics 2Scope 3Milestones 4Criteria 5Terms 6Send
Scope rows
Logo and wordmark
Packaging design
Money tiles / tabular
Milestone 2
₹30,000
in review, release due 19 Jun
Payment partner
₹55,000
partner-held funds
Inputs
Deliverable name
Milestone amount / ₹
04 / Core component, contract builder
What does this cover?
List what you will deliver, and what you will not.
Included
Logo and wordmark
Colour and type system
Not included
Packaging design
Live preview / what Rahul receives
Brand identity for Bhoomi Cafe
Akshat Singh ↔ Rahul Mehta
The work

Includes: logo and wordmark, colour and type system, brand guidelines PDF.

Excludes: packaging and social templates. Adding these later needs a recorded amendment.

Both of you see these up front.
Shared

Every edit on the left updates the agreement on the right in real time. There is one record, and both parties are reading the same draft before anything is sent.

Paper

The editor is the working surface. The agreement is the warm record. The colour difference tells you which half can still change and which half is becoming the document.

Plain

Includes and excludes are written as the client would read them, not as scope flags. The exclusion line states the consequence in human terms.

05 / Contract states
D

Draft

Being written. Not yet sent.

F

Funded

Money with the payment partner. Work can begin.

R

In review

Submitted. Preview only, not delivered.

Released

Paid. Files now belong to the client.

!

Disputed

Funds paused. A structured path opens.

A

Archived

Closed record. Read-only for both.

06 / Assembly rules
Recipe 01 Any contract screen
State + who acts now + the next action + what happens after
Recipe 02 Anything with money
Amount + payment partner + release condition + plain-language date
Recipe 03 Builder and review
Edit surface + live record + consequence beside the action + one shared truth
// 07 Decisions

Five moments where the non-obvious call was right.

Kosh did not become coherent through one big idea alone. It became coherent through a series of smaller decisions, each one separating something other tools blur together: role and account, review and ownership, dispute and support, release and payment, mechanism and language.

01 / 05
Account model

The contract assigns the role, not the account.

Kosh does not split users into permanent freelancer and client accounts. The same person can provide work in one contract and commission work in another, so the role belongs to the contract itself.

Why it mattered This keeps the IA simpler, avoids false identity choices, and matches how independent work actually happens.

kosh Contract setup
Role assigned inside contract

Brand identity for Bhoomi Cafe

Akshat provides work here. In another contract, the same account can commission work.

Your role: creator

Akshat Singh

Creator for this contract

Rahul Mehta

Client for this contract

02 / 05
Ownership logic

Review access is not ownership.

Clients need to review work before releasing money, but freelancers still need protection during that review. Kosh separates preview access from final ownership transfer.

Why it mattered That separation solves the usual file-sharing trap: work can be reviewed without quietly giving away the final handoff.

kosh Milestone review
Milestone 2

Rahul reviewing, release due 19 Jun

Preview access is open. Final files transfer only after release.

In review

Preview only

Watermarked proof is visible for approval. Ownership transfer is tied to release.

03 / 05
Conflict handling

Dispute is a state, not escalation.

When trust breaks, Kosh does not push people into vague reminders, screenshots, and support tickets. Dispute becomes a first-class contract state with paused funds, clear status, and a recorded path forward.

Why it mattered Treating dispute as product state makes conflict legible instead of social.

kosh Issue center
Contract state

Milestone disputed

Funds paused with payment partner while both sides respond on the record.

Disputed
Issue openedScope mismatch recorded by Rahul
Today
Next pathRespond, amend, or request review
Open
04 / 05
Release behaviour

Release is a ceremony, not a button.

The most consequential moment in Kosh is when payment and ownership move together. That moment needed more weight than a generic button press.

Why it mattered Giving release its own ritual makes the consequence visible: this is the point where money moves, files transfer, and the record becomes final.

kosh Release confirmation
Ready to release

Payment and ownership move together.

This records the approval, releases payment, and transfers the final files.

Confirm release
05 / 05
Product language

Human language held under system pressure.

Kosh avoids mechanism-heavy wording when the user really needs situational clarity. The interface says things like "Rahul reviewing, release due 19 Jun" instead of forcing people to decode internal system language.

Why it mattered Language becomes part of the product behaviour. It keeps the agreement readable when money, timing, and anxiety are in play.

kosh State language
Plain language states

Readable when money is under pressure.

Rahul reviewing, release due 19 Jun

Preview is open. Final files transfer on release.

Payment partner confirms funded commitment.

kosh New contract / role-aware setup
Contract decides your role

Brand identity for Bhoomi Cafe

Akshat signs in once. This contract assigns him as creator, while another contract can assign him as client.

Your role: creator

Akshat Singh

Creator in this contract. Owns proof submissions and handoff.

One accountRole scoped here

Rahul Mehta

Client in this contract. Reviews proof and releases payment.

Invite acceptedShared record

No permanent freelancer or client mode

The account stays personal. The contract carries the temporary relationship, permissions, and next action.

kosh Milestone review
Milestone 2 / Review access

Rahul reviewing, release due 19 Jun

The client can inspect the proof, but final ownership transfers only when payment is released.

In review

Preview access

Watermarked proof is open for review. Final files stay pending.

Review link active

Ownership transfer

Final files belong to Rahul only after release is confirmed.

Release required

Submitted proof

Logo system preview, brand guidelines PDF preview, and handoff checklist are attached for approval.

kosh Issue center
Milestone 2 / Contract state

Dispute active

Funds are paused with the payment partner while the issue is handled inside the shared record.

Disputed
Issue openedRahul says the final logo differs from the approved direction.
Today
Akshat response dueRespond with proof, propose amendment, or accept revision.
24h
Record attachedOriginal scope, proof upload, and review comments stay linked.
Saved
kosh Release confirmation
Ready to release

Payment and ownership move together.

This records approval, releases payment through the payment partner, and transfers the final files to Rahul.

Approved

Payment release

₹30,000

Milestone 2 payment moves after confirmation.

File handoff

Final files become available with the release record attached.

Confirm release
kosh Readable agreement state
Microcopy as product behaviour

Plain lines at tense moments.

The system explains what is happening without making users translate internal mechanism names.

In review

Rahul reviewing, release due 19 Jun

Preview is open. Final files transfer on release.

Payment partner confirms funded commitment.

Both sides will keep the same release record.

// 08 Screens

One contract, drawn in full.

Every state a real contract passes through, for both sides, grouped into the five flows it moves through.

42screens designed
5core flows
2roles, one record
1contract, end to end
// 09 Reflection

What changed. What didn't.

Changed my mind
  • Payment protection became agreement clarity. I started with the idea that Kosh should make payment safer. The project became sharper when the payment layer moved below the agreement layer. Money only creates trust when scope, proof, review, release, and record stay readable.
  • Dispute needed less drama. The first instinct was to treat conflict like escalation. Kosh became clearer when dispute was designed as a normal contract state: paused funds, visible evidence, shared record, and a path forward.
Still unfinished
  • Real-money pressure. Prototype reactions can validate comprehension, but not consequence. The next test is one live contract where both sides have money, deadlines, and ownership expectations on the line.
  • Payment-partner language. The product still needs sharper language around partner-held funds. It has to explain funding, release, and protection without making Kosh feel like a bank, wallet, or custody product.