Workflow example · freelance
Workflow Example: Sales Call to Freelance Contractor Proposal
A 40-minute scoping call with a fintech startup covered platform requirements, feature scope, weekly hours, milestone breakdown, and IP assignment. This workflow example shows exactly how those commercial terms move from the transcript into a traced proposal, a contract clause, and a payment milestone without re-entry.
Call to proposal: the full trace
[09:15] Client: "We need a React Native app, iOS and Android, with a dashboard for our internal team. The main thing is the transaction history view and the push notifications." [09:28] Developer: "OK. So a cross-platform mobile app with two core features: transaction history and push notifications. Plus a web dashboard for your ops team. Is there an existing API or am I building that too?" [09:40] Client: "We have a REST API already. You would be consuming it, not building it." [09:45] Developer: "Good, that simplifies things. I am thinking three months, roughly 20 hours a week. First month is architecture and the transaction view, second month is notifications and the dashboard, third month is testing and App Store submission." [10:05] Client: "What is the rate?" [10:07] Developer: "120 per hour. At 20 hours a week over 12 weeks that is 28,800 total. I would break it into three milestones, one per month." [10:20] Client: "That is in our range. One thing, we need full IP assignment on delivery." [10:25] Developer: "Understood. I will include that in the contract. IP transfers on final payment."
| Term | Value | Evidence |
|---|---|---|
| Platform | React Native · iOS + Android | "React Native app, iOS and Android" [09:15] |
| Core features | Transaction history view · push notifications · web dashboard | "transaction history view and the push notifications" [09:15] and "dashboard for your ops team" [09:28] |
| API scope | Consume existing REST API · no backend build | "We have a REST API already. You would be consuming it" [09:40] |
| Hourly rate | CHF 120/h | "120 per hour" [10:07] |
| Weekly hours | 20h/week | "roughly 20 hours a week" [09:45] |
| Duration | 3 months · 12 weeks | "three months" [09:45] and "12 weeks" [10:07] |
| Total budget | CHF 28,800 | "28,800 total" [10:07] |
| Milestone structure | 3 milestones · 1 per month | "three milestones, one per month" [10:07] |
| IP assignment | Full IP transfer on final payment | "full IP assignment on delivery" [10:20] and "IP transfers on final payment" [10:25] |
Month 1: Architecture + Transaction View · 80h × CHF 120 = CHF 9,600 Month 2: Notifications + Dashboard · 80h × CHF 120 = CHF 9,600 Month 3: Testing + App Store Submission · 80h × CHF 120 = CHF 9,600 Total: CHF 28,800
The Contractor shall develop a cross-platform mobile application (iOS and Android) using React Native, consuming the Client's existing REST API. Deliverables include a transaction history view, push notification system, and a web-based internal dashboard. The engagement is 20 hours per week over 12 weeks at CHF 120 per hour. All intellectual property rights transfer to the Client upon receipt of final payment.
Milestone 1: CHF 9,600 due upon delivery of architecture and transaction history view (end of month 1). Milestone 2: CHF 9,600 due upon delivery of notifications and dashboard (end of month 2). Milestone 3: CHF 9,600 due upon delivery of tested app and App Store submission (end of month 3). IP transfers on Milestone 3 payment. Payment is collected through the client review link after each milestone sign-off.
How does the transcript become a proposal?
The developer imports the call recording from their meeting tool. The AI reads the transcript and extracts every commercial term: platform, features, rate, hours, timeline, milestones, and IP terms. Each extracted term carries a reference to the timestamp where it was discussed. The proposal is generated from these terms, with every line traceable to the conversation. The developer reviews the output, adjusts if needed, and sends.
- Terms are extracted, not invented. Every value links back to the call.
- Milestone totals and hourly calculations are done in code, not by the language model.
- The developer reviews before sending. The AI does not send proposals.
What does the client see?
The client receives a single link. The page shows the proposal with the feature scope, milestone breakdown, timeline, and total. If anything looks wrong, the client can request changes inline. After approval, the page moves to electronic signature. After signing, the first milestone payment is activated from the same terms. The client never sees the raw transcript or the extraction step.
- One link for review, changes, signature, and payment.
- Change requests are visible to both sides before the contract is signed.
- Payment milestones match the monthly structure agreed on the call.
How does IP assignment work in the contract clause?
The IP assignment term was extracted from the call at timestamp 10:20. The contract clause states that intellectual property transfers to the client on final payment, matching what was agreed verbally. This means the developer retains IP during the build and the client receives it only after the last milestone is paid. If the client needs a different IP structure, they request the change before signing.
- IP terms are extracted from the call like any other commercial term.
- The default is transfer on final payment, matching the most common freelance arrangement.
- The client can request changes to the IP clause before signing.
What happens when scope changes mid-project?
Scope changes are common in app development. If the client requests a new feature after signing, the developer creates a change order from the existing proposal. The change order inherits the rate and terms from the original contract and adds the new scope. Both sides sign the change order before work begins. The original proposal and contract stay intact as the baseline.
- Change orders inherit the rate from the signed contract.
- The original scope stays locked as a reference point.
- Both sides sign the change order before additional work starts.
FAQ
What if the developer works more than 20 hours in a given week?
The proposal sets 20 hours per week as the baseline. If the developer needs to exceed that, they flag it before going over. The contract clause governs whether overage is billed at the same rate or requires a separate approval. The milestone total adjusts accordingly.
Does the App Store submission count as a deliverable?
Yes. In this example, App Store submission is part of the month 3 milestone. The developer submits the app and the milestone is considered delivered once Apple accepts the build. If Apple rejects the submission, the developer addresses the issues within the contracted hours.
Can the developer use this workflow for a fixed-price project instead of hourly?
Yes. The extraction works the same way. If the call discussed a flat project fee instead of an hourly rate, the AI extracts that structure. The proposal line shows the fixed price per milestone rather than hours multiplied by rate.
Try it with one real call
Use one call recording or transcript. See extracted terms traced back to the conversation, with the proposal ready to review and send.
Start with one call