TeamPulse
about the project
TeamPulse is a web dashboard for the lead of a distributed team. It reads Jira, Calendar and a short self-report into one workload signal per person; Slack connects the team. Every signal traces back to the sources that produced it, and each teammate decides which of those sources may feed it.
Sole designer in a team of five engineers and a PM. I owned the product definition, the research, prioritization, information architecture and the design system, designed the seven key screens, and built a working front-end prototype on a mock data layer; the engineers build production from it.
Built at DigitalVertex for a client under NDA; names and data are changed. The product has not been released yet.
Role
Sole product designer
Team
5 engineers, 1 PM
client
DigitalVertex client · NDA
year
2026
Duration
2 months
Status
Not yet released
A lead and twelve people across six time zones — the same picture rebuilt by hand every morning.
current state
Six steps the lead repeats every morning
The morning read as it works today. Each step answers a different question and none of them answers hers — and nothing in the chain is recorded, so the next morning starts from zero.
research synthesis
Five patterns, one rule
Every design response traces back to a signal and the pattern underneath it. The rule the five share: nothing on screen may claim more than its data supports.
PRIORITIZATION
How twenty-eight features became fifteen Musts and two Won’ts
Twenty-eight features met three tests for Must: it serves the lead’s job directly, the morning read is impossible without it, or the category already treats it as given. The rest got a version number instead of an argument, and the two in Won’t carry the reason they were refused — one of them permanently.
system architecture
Three sources, one reading, consent in the middle
Three feeds resolve into one workload signal per person, and consent decides what may be shown at all. Where the reading can go wrong is marked on the diagram.
what the screen may claim
Consent against sources reporting
Vertical axis: consent. Horizontal axis: whether the sources are reporting.
information architecture
Thirteen sections, one role at the center
The full product maps to forty-four screens in thirteen sections, drawn from my Figma prototype (365 frames); seven key screens are built. Each section is labelled with who it is for, and the gaps are named rather than quietly left out.
design principles
Four rules the screens have to keep
the patterns have names
Four patterns, named
user flows
Two paths: the lead, and the teammate
The lead’s sequence from sign-up to standup, and the teammate’s consent path with one real branch — where declining everything is a designed end state, not an error.
Inside the product
The screens behind every decision
Seven screens from the running prototype. Seeded demo data, no backend — every number on them comes from the same mock layer the app reads.
decision anatomy
Six parts, and one of them is the right to say nothing
Six parts every teammate card carries. Take one away and the card either lies or says nothing at all.
feedback loop
The signal is a hypothesis the lead keeps testing
Sources report, the reading is computed and the lead opens it. In the first version the product team reviews the weighting by hand, using how often leads open the breakdown and where they disagree; automatic recalibration from lead feedback is planned, and the team approves it before it applies.
system states
The failure states are designed too
Awaiting consent, loading, a source error, a refusal, a cold start and a crash — each says what it knows and what it does not, instead of showing a confident number.
landing page
One claim, shown through the signal
The public page carries one promise — a five-minute morning read instead of twenty — and shows the signal rather than describing it. Each numbered section explains itself as it comes into view.
design system
One ramp, three meanings, light only
One file holds the dashboard's tokens in the same three layers as the Figma variables: primitives carry literals, semantics alias primitives, screens use semantics only. Light mode only, by decision: the product is read in the morning, on desktop.
mobile
One answer for the lead. One decision for the teammate.
On a phone the lead needs one answer — who needs attention today — and every teammate needs to see exactly what they share before anything leaves their account.








iteration
Where the build and the promise disagreed
outcome
What exists, and what is still a hypothesis
reflection
What I would carry into the next system
in one line
TeamPulse is built to turn a twenty-minute morning reconstruction into a five-minute read — one the team can see, question and refuse.
destinations
kompot.ai
CONNECT
BASED IN
San Francisco · remote · open to relocation
LOOKING FOR
Senior Product Designer · AI Product Designer · UX/UI












