A phone that floats over whatever you're doing

A draggable phone in three sizes that remembers where you put it and can be parked in the sidebar or the top-right corner.

What it is

The phone is a dock, not a page. Full size gives five tabs — Recents, Contacts, Keypad, Voicemail, Queue. Compact is the on-a-call bar. Dot is a single puck that pulses while a call is live. It can be dragged anywhere, dropped onto the sidebar to become an ordinary menu row, or parked in a fixed top-right slot. On mobile there is no puck at all: the header icon is the whole interface.

Also called: phone widget · floating dialer · call while I work · phone button

See it
A phone that floats over whatever you're doing
New lead 2
Marlin Hoover
$29k
Delia Yoder
$38k
Sutter Kline
$57k
Contacted 3
Sutter Kline
$40k
Ronan Petsch
$45k
Ivy Brubaker
$54k
Estimate 2
Ivy Brubaker
$45k
Gideon Alt
$39k
Sold 2
Marlin Hoover
$77k
Delia Yoder
$69k
Three states side by side: the full 360px panel with its five tabs, the compact on-call bar, and the puck mid-drag with both drop zones outlined. PhoneDock.tsx. Sample data — no customer information appears here.
How it works
  1. 1One persisted value — the dot's anchor — with every other position derived at render, never written back
  2. 2The panel grows away from the nearer screen edge, and that side is latched while it stays open
  3. 3The anchor is clamped against the box you can actually see, so minimising never strands the puck off-screen
  4. 4Drop zones are discovered by a DOM attribute, so the sidebar decides where its zone is
  5. 5Placement changes are broadcast so the sidebar and the dock cannot both draw a phone
Why we built it

A phone is not a destination — it is a tool you use while doing something else, and a full-page dialer forces you to leave the estimate or the schedule the call is actually about. The floating version had its own problems: opened near the right edge it pushed itself off screen, and closing it left the button somewhere different from where you had put it. It now comes in three sizes, remembers its position, and parks in the sidebar or the corner — and on a phone-sized screen it stops floating entirely rather than covering the content and fighting the nav bar for thumb room.

The problem
  • Full-page dialers that hide the work the call is about
  • A floating widget that drifts or strands itself off-screen
  • Duplicate phone UI when it is docked into the nav
Sound familiar?
What you get
Keep the call visible while you walk the pipeline
Park the phone where your habit says it should be
Open→close is a perfect round trip
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →