Reference / checked September 22, 2026

Design log.

Every figure on the specification page was a decision. This log records the reasoning behind the ones that were not obvious: the 15% imbalance threshold, the two-clap pattern, why the lock covers scheduled movement, why the radio is 2.4 GHz only, and why calendar access stops at free/busy.

This page explains the reasoning behind the figures on the specification page — what each decision trades away, and where a number is a judgement rather than a constraint.

Nothing here has been validated in manufactured hardware. These are the intentions the design is being held to, recorded so they can be argued with.

Why the imbalance threshold is 15%

Four load cells make a distribution figure available, and once it is available the question becomes where to draw the line. Too low and the desk complains about a laptop and a monitor arm on the same side, which is a normal desk. Too high and the warning arrives only when the layout is already a problem.

15% is the point at which a typical 1400 mm desktop is carrying noticeably more on one column than the other — a single heavy monitor arm clamped at one end, or a desktop PC tower sitting on the frame rather than the floor. Below that, ordinary asymmetry is tolerated silently, because a warning nobody can act on is just noise.

The warning appears before travel rather than during it. A desk that stops halfway up because it noticed something is worse than one that says what it found while everything is still at rest.

The threshold applies front-to-rear as well as left-to-right. Depth imbalance matters less for column loading but more for how a desktop behaves at full extension, and it costs nothing to check both once the cells are there.

Why two claps, and why 1.5 seconds after

A single clap is not a command, it is an event that happens in an office. A door, a dropped book and a laugh all produce a transient at roughly the right amplitude. Requiring two within 600 ms turns one ambiguous event into a deliberate pattern.

600 ms is comfortable to perform and unlikely to occur by accident. Two separate sounds in an open room rarely land that close together and then stop.

The 1.5-second debounce after a recognised pattern exists for applause and for the second attempt people make when they think the first did not register. Without it, a double-clap that is heard correctly and then heard again immediately would send the desk up and straight back down.

Clap control toggles between the two most recent saved heights rather than acting as a general command language. A pattern with no vocabulary can only mean one thing, which keeps the cost of a false positive low: the desk moves to a height the user already chose.

It is also the input most likely to be triggered by someone who is not the user, which is why the child lock disables it outright rather than leaving it as a special case.

Why the lock covers scheduled movement

This is the decision the rest of the specification is organised around.

A keypad lock is the conventional implementation, and it is coherent on a desk whose only input is the keypad. Versoflip One has five ways to request movement: the keypad, a voice assistant, a clap pattern, an interval timer and a calendar gap. A lock covering one of those five leaves four open.

The failure case is specific. Someone engages the lock because a child is in the room, and twenty minutes later the interval timer reaches its target and the desk rises anyway. The lock did exactly what it said, and the desk still moved.

So the lock is a state of the controller, not a property of the keypad. While it is engaged, every movement request is refused regardless of origin. Automation does not resume silently on release either — the schedule recalculates from the current time instead of firing a movement that was queued while the desk was locked.

What stays available while locked is deliberate: the height display, audio playback and USB charging. None of those moves the desk, and disabling them would give people a reason to leave the lock off.

Refusals are stated rather than ignored. A voice command that is silently dropped reads as a broken integration; one that answers with the reason teaches the user the lock is on.

A control lock is not child detection. Versoflip One has no sensor that knows a person is near the desk, and nothing in this design substitutes for keeping the travel area clear.

Why the radio is 2.4 GHz only

A 5 GHz radio would be faster and is largely pointless here. The desk's total network traffic is a calendar poll every five minutes and an occasional firmware download. Neither is bandwidth-bound.

2.4 GHz penetrates walls better, which matters because desks end up in home offices, spare rooms and basements rather than beside the router. Range failures generate more support load than slow firmware updates do.

Stating the limitation is the point. "Wi-Fi enabled" invites the assumption that a 5 GHz-only guest network will work. It will not, and the buyer should know before the desk is assembled rather than after.

Why calendar access stops at free/busy

The desk needs to know when the user is unavailable. It does not need to know who they are meeting, what the meeting is called, or where it is.

Free/busy is a distinct permission scope in Google Calendar, Microsoft Graph and CalDAV, so this is an access decision, not an internal policy about what we choose to read. A connected account exposes availability windows and nothing else.

The design constraint that follows is real: without event titles the desk cannot distinguish a stand-up from a client call, so it cannot make posture decisions based on meeting type. Movement is planned into gaps of at least 10 minutes instead. That is a worse feature than a title-aware one would be, and it is the trade we chose.

Polling every five minutes rather than subscribing to push notifications is the same instinct. A poll needs no inbound connection to the desk and no webhook endpoint registered against the user's calendar account. A cancelled meeting takes up to five minutes to register, which for a desk is not a meaningful delay.

Why 120 kg, and why "distributed"

Load figures in this category are quoted several ways, and the differences are not cosmetic. A static rating describes what a desk can hold while stationary. A dynamic or lifting rating describes what the columns will raise. A desktop weight sometimes counts toward the number and sometimes does not.

120 kg is the distributed design load for the desktop plus equipment, excluding any force applied by leaning on it. Distribution is the qualifier that matters: two monitors and a tower placed on one half of a desktop can be within the total figure while loading one column far more than the other. That is precisely what the load cells are for, and it is why the imbalance warning is a separate mechanism rather than a subdivision of the capacity number.

Above the design load, travel is blocked and the display states why. The alternative — attempting the lift and relying on overload protection to abort it — is a worse experience and a worse habit.

These are the figures the desk is built around.

Why three-stage columns and 38 mm/s

Three-stage columns cost more than two-stage and buy two things: a lower minimum height and a higher maximum from the same collapsed length. The 620 mm bottom end is the more useful half. A desk that only descends to 700 mm is too tall for a shorter user in a normal chair, and that constraint is invisible on a spec sheet that only advertises the maximum.

38 mm/s unloaded, 32 mm/s at design load: a full 660 mm traverse takes roughly 17 to 21 seconds. Faster is achievable and unhelpful — travel speed is not a feature anyone uses, and higher speeds make collision detection less forgiving because more momentum has to be arrested.

The 250 ms soft-start and soft-stop ramps exist for what is on the desktop rather than for the desk. An abrupt stop at the end of travel is what tips a full mug.

±1 mm recall repeatability is the figure that actually gets noticed. A preset that lands a few millimetres off each time is perceptible to anyone whose forearms rest on the desktop.

Why the idle threshold is three minutes

A clock timer counts minutes whether or not anyone is there. Someone who spends the morning in meetings in another room returns to a desk convinced they have been sitting for two hours.

Screen-time linking counts active computer use instead, which requires deciding when use stops. Three minutes of no keyboard, pointer or touch input is long enough to survive reading a long document or a phone call at the desk, and short enough that leaving for a meeting registers promptly.

What crosses the network is an active/idle flag and a count of active minutes. No keystrokes, window titles, application names, URLs or screenshots — not as a privacy policy, but because the feature does not need them and collecting them would make the desk something else.

The signal comes from the desktop app on macOS and Windows only. Phones are not a proxy for desk work, and a phone-based signal would report activity for someone who has left the room.

Without the app the desk falls back to interval timers. That is a genuine downgrade, stated as one.

Why four profiles rather than more presets

Four saved heights are enough for one person: sitting, standing, and two variations. Adding more heights does not solve a shared desk.

What a second person needs is not a fifth height, it is a separate set of everything — their own presets, their own timer schedule, their own calendar connection, their own audio source. That is a profile, and it is why the specification separates the two words.

Four profiles is a deliberate ceiling. Beyond that the switching interaction matters more than the storage, and a desk shared by more than four people is a hot-desking problem that wants identity management, not a controller feature.

Switching is explicit — app, keypad menu, or an NFC tag. There is no camera and no presence sensor guessing who sat down. Automatic recognition would be a better experience when it worked and an uninterpretable one when it did not.

A profile switch does not move the desk. Changing settings and changing height are separate actions, and combining them means walking up to a desk that starts moving because it thinks it knows who you are.

Why the desktop pivots instead of unbolting, and why there is no crossbeam

The first design of the reversible top used six quarter-turn cam fasteners and four locating pins: release the cams, lift the panel off, turn it, drop it on the pins, re-engage. It worked on paper and it had a two-minute, two-person target. That target was the problem. A 19 kg panel that has to be lifted clear, turned in the air and set down somewhere is a job you schedule, and a feature you schedule is one you use twice a year at most.

The current design turns the panel in place. A 20 mm steel axle is bonded into the core at the centre of each short end and runs in a bearing housing on top of each column, so the top swings about its long centreline like a page. Because the axle passes through the centre of mass, the panel is balanced: it does not want to fall either way, a half-turn can be paused, and one hand is enough. Spring detents hold it level in either orientation and a knurled collar on the right hub locks the rotation; the lock is part of the control lock so a locked desk cannot be turned over. The target is thirty seconds, one person, no tool, nothing lifted.

The price is the frame. A 700 mm panel turning about its centreline sweeps a 700 mm cylinder, and the crossbeam that almost every two-column sit-stand desk uses for side-to-side stiffness sits exactly inside that arc. So there is no crossbeam. The two columns are joined at the floor by the feet and electronically by the controller, and lateral stiffness has to come from the column sections and the hub housings, which makes the frame heavier than a beamed frame of the same rating. Nothing can be mounted under the desk — no cable tray, CPU holder or drawer — because that space is where the panel goes when it turns. Cables reach the panel through the hollow left axle instead.

The load cells moved with the mechanism. On the cam design they sat between the frame and four mounting plates; there are no mounting plates now, so the four cells sit in the two hub housings, two per hub. The hubs carry everything the panel carries, so measuring the hub reactions measures the load, and two per hub still gives the front-to-back split the imbalance warning needs.

We think the trade is right for a desk whose point is the second face. A reversible top that is a chore to reverse is a finish option; one that turns in thirty seconds is a different desk. Neither the lateral stiffness nor the detent wear has been measured, and both are stated as targets.

Why there is a local API, and no Matter support

The desk is usable with no account and no internet connection: keypad, presets and timers all run on the controller. Calendar sync and firmware updates need the network. That split is the point — the features that stop working when a vendor goes away should be the ones that obviously depend on it.

The local HTTP API exists so that the cloud is optional rather than structural. Documented endpoints for height, presets, lock state and events, token-authenticated, on the local network. Home Assistant integrates through these rather than through anything of ours.

Outbound webhooks carry an HMAC-SHA256 signature, because an endpoint that accepts unsigned POSTs claiming to be from a desk is not worth having.

Matter and Thread are not implemented. This is listed explicitly because a desk with Wi-Fi, Bluetooth, an API and assistant integrations reads like one that would speak Matter, and someone buying into a Matter home should not have to discover otherwise after assembly.

What this log is not

It is not a test report. No prototype has been built, no load has been applied, no acoustic measurement taken and no certification sought. Where this page gives a figure, it is the target the design is aiming at.

It is also not a claim about other products. Where a decision is framed against a common alternative — keypad-only locks, clock timers, saved heights as profiles — that describes a design pattern, not a named competitor's behaviour. Documented behaviour of real products is compared separately in the feature comparisons.

Common questions

Why does the Versoflip One desktop pivot instead of unbolting?

Because a reversible top only matters if you would actually reverse it. Unbolting a 19 kg panel needs two people, a clear floor and a place to put it down, so it happens twice a year at most. A panel that turns in place on a hub at each end, balanced about its centre of mass, is a thirty-second one-person job. The cost is a frame with no crossbeam and nothing mountable under the desk; both are stated on the specification page.

Why does the Versoflip One desk have no crossbeam?

The desktop turns about its long centreline, so it sweeps a 700 mm cylinder under and behind the desk. A crossbeam sits inside that arc and would stop the turn. Side-to-side stiffness comes from the column sections and the hub housings instead, which makes the frame heavier than a beamed one of the same rating.

Why does the Versoflip One child lock block scheduled movement as well as the keypad?

Versoflip One has five ways to request movement: keypad, voice, clap, interval timer and calendar gap. A keypad-only lock leaves four of them open, so a desk locked because a child is in the room can still rise when its timer reaches the interval. The lock is therefore a controller state that refuses every movement request regardless of origin. It is not child detection.

Why is the Versoflip One imbalance threshold set at 15%?

Below roughly 15% front-to-rear or left-to-right difference, asymmetry is normal desk behaviour — a monitor arm at one end — and warning about it would be noise. At or above it, one column is carrying noticeably more, which is the case worth surfacing. The warning appears before travel rather than interrupting it.

Why does Versoflip One only read free/busy calendar data?

The desk needs to know when the user is unavailable, not who they are meeting. Free/busy is a distinct permission scope in Google Calendar, Microsoft Graph and CalDAV, so the account exposes availability windows and nothing else. The cost is that the desk cannot tell a stand-up from a client call, so it plans movement into gaps of at least 10 minutes instead.

Why does Versoflip One use a 2.4 GHz radio instead of 5 GHz?

Total network traffic is a calendar poll every five minutes and occasional firmware updates, so bandwidth is not the constraint; wall penetration is. The limitation is stated explicitly because a 5 GHz-only guest network will not work with the desk.

Why four user profiles rather than more saved heights?

More heights do not solve a shared desk. A second person needs their own presets, timer schedule, calendar connection and audio source — a profile, not a fifth preset. Four is a deliberate ceiling; beyond that it becomes a hot-desking identity problem rather than a controller feature.