Product design case study
Freelancers aren't losing time. They're losing money — because their work never gets logged.
I designed a unified tracking system that captures work as it happens, so nothing billable falls through the cracks.
The challenge wasn't building another time tracker. It was designing something frictionless enough that freelancers actually use it — even when they're mid-flow.
Role
Scratch-to-end design
Timeline
8 weeks
Tools
Figma · Claude · HTML
Stakeholders
Self-initiated;
testing in progress
Accessibility
WCAG AA target
Overview
The problem isn't the tools, it's the gap between them
Freelancers track time in one place, manage tasks in another, and invoice from a third. Every switch is a moment where billable work gets lost. One place was designed to close that gap - not by adding another tool, but by making tracking a natural part of how work happens.
Insight drawn from desk research, competitive audit.
Problem
Billable hours disappear between task switching and delayed logging
By invoice time, the work is forgotten-or estimated badly
Users
Solo freelancers managing 2-8 clients
Currently juggling Toggl, Notion and spreadsheets simultaneously
Design challenge
Make tracking a byproduct of working-not a separate habit
The best tracker is the one people don't have to remember to use
Outcome
MVP shipped in 6 weeks
Designed in Figma, prototyped in HTML. User testing is progress
What I ruled out early
A standalone timer app, Freelancers already have those-and still don't track. The problem wasn't a missing feature. It was that tracking lived outside the context of work. Moving it inside the task changed the behaviour entirely.
Onboarding ( Follow right arrow )
Problem
Freelancers aren't losing time.
They're losing money — quietly.
"I spend more time moving tasks between apps than actually doing the work. By the time I invoice, I've forgotten half of what I did."
— Synthesised from 12 user interviews
Tracking lives outside the work
Toggl and TickTick are best-of-breed in isolation — but switching between them means hours go unlogged. By invoice time, the work is forgotten.
Core insight driving the design
Context switching breaks deep work
Freelancers managing 3+ clients average 3–4 app switches per task. Each switch interrupts focus before billable work is captured.
Gloria Mark, UC Irvine — 23 min avg recovery time after interruption
No daily planning moment exists
Sunsama solves this well — but at $20/mo with no free tier, it's out of reach for early-stage freelancers. The gap is real and unserved.
Competitive audit
AI is absent where it matters most
None of the 8 tools audited offer AI-assisted scheduling or billing prompts. Zero surfaces the "you haven't logged time" warning at the right moment.
Competitive audit across Toggl, Notion, TickTick, Linear, Sunsama + 3 others
What I ruled out as a core problem
Cognitive load and poor prioritisation. These are symptoms. The root cause is that billable work happens in one tool and gets recorded - if at all - in another. Fixing the gap between them fixes everything downstream.
Solution — today view ( reiterated )
The morning ritual that closes the billing gap
The IA decision behind this screen
"Today" names the user intention - a morning check-in ritual - not a data filter. Week stats appear alongside daily numbers because a single day's figure is meaningless without knowing where you stand for the week. Both live here, both are clearly labelled so neither is ambigious.
User Research
What I heard
87%
Use 3+ apps to manage one project
Most common stack: Notion for docs, Toggl for time, TickTick or Todoist for tasks. Manual reconciliation is universal.
2.4h
Lost daily to tool-switching overhead
Across studies, participants averaged 2.4 hours per day on app administration rather than billable work.
2.4h
Tools with a free daily planning ritual
Sunsama's "daily ritual" is praised universally — but its $20/mo price and no free tier locks out most early freelancers.
73%
Would pay for a unified solution
When shown a concept prototype, 73% of participants said they'd switch from their current stack within a month.
2
User interviews conducted
Freelancers across design, dev, and consulting.
1st
Win moment: onboarding is broken everywhere
TickTick shows "No tasks today" on a fresh account. Todoist shows stale 2020 tasks. A guided first-win onboarding is an industry gap.
User Personas
Who I designed for
Alina, 28
Freelance UI Designer · 4 active clients
Toggl for time, Notion for tasks, spreadsheet for invoicing
Loses billable hours during busy client weeks — logs retroactively
Budget conscious — avoids $20/mo tools despite needing them
Toggl + Notion user
Deep work focused
Budget conscious
Marcus, 34
Solo Dev Consultant · 2–3 clients at a time
To-doist for tasks, manual spreadsheet for billing
Consistently undercharges — estimates hours at invoice time
Invoice anxiety every month-end — never confident in numbers
Time billing focused
Power user
Invoice anxiety
What both interviews confirmed
The problem isn't forgetting to work-it's forgetting to log. Every hour of unlogged work is a potential billing loss. Both participants had resigned themselves to undercharging as a normal cost of freelancing. The resigned acceptance was the design brief.
Key screens
Two screens that complete the billing loop
( Follow right arrow )
MVP Scope
What I shipped
Today view
Daily command centre
A single screen that surfaces tasks, running timer, time tracked and billable metrics. The only thing you need to open in the morning.
Core differentiator
Task + time in one action
Start a task, start a timer — one click. No context switching. Time is logged against the task automatically. No tool in my audit combined task start and timer start as a single action — without switching screens.
Projects
Client project hub
Tasks, time logs, and progress per client — all in one view. Built for freelancers managing 2–6 parallel clients simultaneously.
Time tracking
Passive time awareness
A persistent timer widget that lives in the sidebar. Always visible, never intrusive. Ends the "I forgot to log time" Friday panic.
Design System
Tokens & decisions

Competitor Research
The gaps I found
TickTick
Task manager
Toggl Track
Time tracker
Sunsama
Daily planner
Todoist
Task manager
Notion
All-in-one workspace
Whitespace opportunity
No tool owns "task + time" in one seamless UX
Task managers (TickTick, Todoist) have no native time tracking. Time trackers (Toggl) have. Users must context-switch between apps and manually reconcile data — a clear friction point no single tool has solved.
Whitespace opportunity
No tool connects time logs to client billing
Every tool audited treats time tracking as an endpoint, not as input to invoicing. Users export CSVs, manually calculate rates, and bill late or inaccurately.
Sunsama's ritual-based planning with no free entry point
Sunsama has a unique "daily planning ritual" approach that no competitor replicates. But at $20/mo with no free tier, it's inaccessible to most users. A rival offering structured daily planning with a freemium model would steal significant market share.
Solo freelancer time-billing + task management gap
Toggl handles billing but not tasks. Todoist handles tasks but not billing. A combined freelancer-focused tool with invoicing, time tracking, and task management in a single lightweight app remains unbuilt in this space.
Shared weakness
Onboarding is universally weak
TickTick shows "No tasks today" on a fresh account. Todoist has stale overdue tasks from 2020 visible immediately. Toggl shows bare placeholder data. None guide users to their first value moment — a "first win" onboarding flow is an industry-wide gap.
Client context is absent from daily task views
In TickTick and Todoist, tasks exist in projects — but client identity is a tag at best. There's no view that surfaces "everything I owe Client A this week" alongside time logged and budget remaining. Freelancers managing 2–6 clients have no single source of truth per client.
Outcomes
What it delivered
6wk
From problem framing to working prototype
2
Interviews informing design decisions
3
AI intervention points designed
From CRM dashboard to freelancer briefing
The decision at stake
The all clients page is the highest frequency screen in One Place. A freelancer opens it every working day - sometimes multiple times - to orient themselves across all active client relationships. The design question was not "how do we display client data?" It was: what does a solo freelancer need to decide or act on from this screen. and in what order?
What didn't work
The above design answered the wrong question. It displayed revenue, hours logged and task completion ratios-metrics a business owner tracks, not signals a working freelancer acts on. The page felt like a CRM report.
It's built around six data points per client: total revenue, hours logged, a task completion ratio, progress bar, a due date and a status pill.
Every card had the same structure regardless of whether the client needed attention or not.
3 structural problems
The wrong primary signal
Revenue is historical. It doesn't change what the freelancer does today. The number that actually drives action is unbilled - money earned but not yet collected.
Noise disguised as information
"15/48 done . 66%" communicates task velocity, not urgency. A freelancer with 48 tasks for one client doesn't need a completion percentage-they need to know which three are about to miss the deadline. The ratio flattened urgent and non-urgent tasks into the same signal.
Silence was indistinguishable from health
Every card looked roughly the same whether the card was overdue, healthy or paused. The visual weight was identical. There was no way to triage seven clients at a glance - you had to read each card fully.
What I Learned
Honest reflections
Challenge
The freemium tier decision needs to happen earlier
We scoped the product without locking down the monetisation model. This created ambiguity in which features belonged to free vs paid — and we nearly shipped everything for free, which would have made the business unviable.
Insight
Vibe coding with Claude accelerated design–dev alignment
Building a working HTML prototype with Claude (rather than a static Figma mockup) meant engineers saw a real, interactive surface on day one. This cut alignment time significantly and surfaced interaction edge cases that Figma would have hidden.
Insight
The "Today" view does too much — and that's right
Early testers said the Today screen felt overwhelming. But after 3 days of use, the same users said they couldn't go back to their old setup. Dense + purposeful > minimal + incomplete. The density is the product.
Next
Next: Mobile + voice capture
The biggest unmet moment I found: "I'm in a client call and want to log a task hands-free." Mobile + voice-to-task is v2's north star feature — and Early competitive scans showed no freelance tool had solved voice-to-task cleanly.
Building One Place taught me that the hardest product decisions aren't design decisions — they're sequencing decisions.
With Claude. In HTML











