# The empty screen is the point

Dean Fankhauser, Founder · Published 8 Sept 2026 · Inside Postdom

_Our first dashboard had a calendar, a wall of charts and a composer. We deleted all three. What replaced them, and why the best thing a review screen can say is that nothing needs you._

## The short answer

- We cut the calendar, the chart wall and the composer because each one assumed a human was doing the posting.
- Every screen has to answer one of three questions, or it does not ship.
- Trust is set per account, only a human raises it, and lowering it takes one click.
- Success is silent, so the default emails cover only the six things that actually need a person.

I still have the first mockup of the Postdom dashboard. A month calendar across the middle, a row of charts down the right, a composer at the top with a placeholder asking what I wanted to say today.

It looked like software. It looked, specifically, like every social tool any of us had ever used, which felt reassuring at the time and turned out to be the problem.

We deleted all three. The deletions were the design, so this is about what came out and what the holes taught us.

## The calendar went first

A calendar is a production plan for a person. It shows you empty squares and asks what you are putting in Thursday. That question only makes sense if you are the one doing the posting.

When an agent drafts and schedules, the schedule is a queue you supervise, not something you fill in. A queue wants a list. Schedule survived, the grid did not. Each row carries the account, the exact time, the authority mode, the state and the next action. Two kinds of late stay visibly apart: never authorised in time, and authorised but gone stale before it ran. Both offer the same two choices, publish now or reschedule, and neither slips out late because you tapped approve.

## The chart wall went second

I went through the charts asking what question each answered. Most answered a question nobody had asked. A few charted numbers the platforms do not give us at all, so the honest version was an empty box with an explanation in it.

Performance is answer-shaped now. Per post and per account: the normalised numbers, what changed since last time, and when a number is missing, why. Where a sentence does the job, we write the sentence.

## The composer went last, and it hurt

The composer is the emotional centre of every tool in this category. It was also the part of the old job I was best at.

But a composer on the home screen is a monument to work that has moved. If the agent drafts, a blank box first thing is the software handing you its job back. The composer still exists, as a manual publish action inside Runs, for the days you want to write something yourself. It is not where the day starts.

## The test that killed the rest

Every screen has to answer one of three questions. What needs me. What happened. What is the agent allowed to do. A screen that answers none of them does not ship.

It is a cheap test and it is brutal on good-looking ideas. Engagement feeds fail it. Streaks fail it. Most of what we sketched in the first fortnight failed it. The nav that survived is Overview, Schedule, Performance, Runs, Review, Accounts and Policy, and each one answers one of the three.

## Nothing needs you

The best thing the review screen can say is that there is nothing on it.

That sentence, "Nothing needs you", is the written empty state for Review, and I want to be honest about how uncomfortable it was to ship. An empty screen looks broken. Every instinct says fill it: a tip, a suggested post, a chart of last month's approvals. Each one makes the screen look like work is happening. Each one is the product inventing a reason to be opened.

So the empty states are written rather than left over. An empty Schedule says what the agent could schedule next. Performance before there is data says what will appear and when. Review, when it is empty, is telling you supervision is working.

## Runs, borrowed from deploy pipelines

Publishing to several destinations is a deploy. One post can succeed in one place and fail in another, and software already has a model for that.

A run carries per-destination states: queued, sent, published, partial, failed. Retries are visible. A failure gets a plain reason and the first thing to do about it, not a provider error code pasted into a toast. Every run has its own link, and the detail page reads like a build page: the timeline, the retries, the raw error next to the normalised one.

## Approvals, borrowed from code review

A pull request gets one page, everything you need on it, and buttons that mean something.

An approval card has the same shape. The video, the caption, the destination chips with their consent and disclosure flags, the preflight checks laid out the way a PR shows its checks, and which agent asked, with what it said it was doing. One card, one decision. Approve, or request changes with a reason, and the reason travels back to the agent that wrote the post. Feedback that stays in your head gets re-typed into a brief later. Feedback attached to the thing it is about gets used.

Approve all is deliberately narrow. It acts only on the cards you can see, and tells you how many and over what range of scheduled times before it does anything.

## Autonomy, borrowed from self-driving levels

Authority is set per account, with four settings. Manual: the agent drafts, you publish. Post review: every agent post waits for you. Plan review: you approve one bounded plan covering the accounts, the window, the objective and a maximum number of posts, and eligible posts flow inside it. Bounded autonomy: the agent publishes within limits you saved, a daily cap, allowed visibility, quiet hours in the account's own timezone.

What says an account is ready to move is its record: your edits, rejections and pauses over the posts in a window. That is the number worth watching per account, because trust nobody measures is just a mood.

## Notifications, borrowed from the alarm room

Air traffic control and industrial plants worked this out decades ago. An alarm that fires for routine events does not make you alert. It trains you to ignore alarms. Alarm fatigue is a design defect, not a user failing.

Success is silent, then. The default emails are exactly these: an approval batch is ready, a deadline is approaching, an approval was missed, a schedule was missed, a publish failed, an account needs reauthorising. Everything else, the good news included, you switch on yourself.

## Up is slow, down is instant

Only a human moves an account up a level. The product will make the case with that account's record, but it never promotes itself, and the agent's credential is refused on that route just as it is for policy changes. Moving down is one click, immediate, and the interface does not ask whether you are sure.

That asymmetry is most of the product. Being early with trust is a mistake other people see. Being slow with it costs you a quieter week. So the ratchet turns upward only under a human hand, and lets go the moment you want it to.

## One line per account

Each connected account keeps a status line that does not go away: authority level, active or paused, the next thing it is due to do. The workspace-wide pause lives there too.

That part is borrowed from aviation, which has spent decades on mode confusion, being certain which mode you are in and wrong about it. You should never be surprised by what your agent was allowed to do, and "why did it do that" should be about two clicks from any run.

Policy and the brief do different work. Policy is the boundary the system checks: level per account, allowlists, quiet hours, caps, the pause. The editable default today is three posts a day and quiet hours from 23:00 to 07:00. The brief is how you sound, which no system can check for you.

## Who this is not for

If you like writing captions, if the composer is the part of the day you enjoy, there are tools built around that and they are good at it. Use one. Nothing here will make you a better writer, and this app assumes the writing has moved.

Postdom is for small teams that publish a lot and already have agents doing part of the work. The promise is not that you will get through the posting faster. It is that you will stop doing it, and the app you check will usually have nothing to say to you.

> **See an empty review queue**
>
> Connect one account, approve one plan, and watch how little the app asks of you afterwards.
>
> [Start free](https://app.postdom.com/signup)

## FAQ

**Isn't an empty screen just an unfinished one?**

Blank is a screen with nothing to say. These say something specific when empty: nothing to decide, nothing due, or here is what will appear and when. We wrote them for the empty case on purpose, because that is the usual case.

**What if I want to see everything the agent does?**

Runs is the full timeline and nothing is kept out of it. Filter by account or state, open any run, read what happened per destination. You go and look when you feel like it, instead of being emailed every time something works.

**Do I have to move accounts up the ladder?**

No. Post review is a fine place to stop, and some accounts should never leave it. The ladder exists so your reviewing can match one account's record, not so everything ends up at the top.

---

Canonical: https://postdom.com/blog/the-empty-screen-is-the-point
