2026

DotSet

A personal newsletter, written by your own agents.

Role
Designer and builder, with Codex
Team
Solo
Timeline
2026
Status
Working desktop app, v0.3.27
Tools
Figma, Codex, Tauri, React

Problem

Scheduled agents return their work as long chat messages, which are hard to scan and impossible to compare from one day to the next.

Approach

A board where agents publish cards, with three controls on reading cost: the shape the content takes, how far you open it, and how much the agent writes.

Outcome

A working desktop app on its way to release, sharpened one bad case at a time; next, a calendar and local files on the board.

The agents did the work. Reading it was the chore.

Every morning my scheduled agents in ChatGPT and Codex sent back their results as messages: two new papers, one on recent HCI and one on disability innovation, and a note on sterling against the yuan. Chat is built for a question and its answer. For things that arrive every day it fails in three ways. The text is long and hard to scan, nothing sits next to yesterday’s result, and last week’s findings are buried somewhere up the thread.

A chat thread of daily paper picks: each morning two papers, each with a long write-up of what it says, why it is good and why it was picked, running on past the screen.
Before: every day's picks in one long chat thread.
The same task on the DotSet board: a column of recent HCI papers and a column of disability innovation papers, today's card open with a summary and AI insight, earlier days as compact cards, one starred and marked Deep Read.
After: the same task as two columns of cards.

One column per channel, one card per day.

DotSet collects every recurring task into a board. Each task is a channel with its own column, and each run adds a card to it. Columns can be dragged into a new order, scroll on their own and page sideways as a set. Search, filters, bookmarks, Seen and notes work across all of them, so a result from last Tuesday is one search away instead of a long scroll.

The name comes from the same idea: every day’s card is a dot, and a channel is the set they form over time. The dots also run along the top of the board, one per column, and their tone shows whether that column is fully in view, partly hidden or off screen.

Page dots and the bin
Dot calendar
Filter
Deep Read and bookmark

Read as much as it's worth.

An exchange rate deserves a glance; a paper you might cite deserves ten minutes. A chat answer gives both the same treatment. DotSet lets the reading cost follow the value, through three controls: the shape the content takes, how far you open a card, and how much the agent writes in the first place.

Shape, depth and length: the three controls on reading cost.

Glance, focus, read.

Every card opens in three steps, and each step adds a kind of information rather than more of the same. Compact shows the title, source and a tag or cover, enough to decide whether to stop. Focus adds a larger image, a short summary and why it was picked. Deep View opens the full reading: findings, the agent’s interpretation, and the sources with what was actually read.

The newest card in each column opens at Focus. Moving between cards doesn’t mark anything as read; only opening Deep View does, so Seen means you really read it.

  1. CompactTitle, source and tags: enough to decide whether to stop.
  2. FocusA short summary and why it was picked. Today's card opens here.
  3. Deep ViewThe full reading. Opening it is what marks a card as read.

Recent HCI Paper

2026-11-15

arXiv (cs.HC) · Nov 12Nov 2026

Neural Representations as New Modes of Interactivity

Stanley Huang and three others

HCIhuman-AI interactionarXivcs.HC

A recent cs.HC preprint proposing Neural Representation Interaction (NRI), treating a neural network's internal representations as material people can inspect, steer and edit.

AI insight

A design-space proposal for letting people inspect and edit neural network internals, with speculative applications rather than tested ones.

View original

CHI 2026 · Apr 13Apr 2026

Understanding the Effects of AI-Assisted Critical Thinking on Human-AI Decision Making

Harry Yizhou Tian, Hasan Amin, Ming Yin

HCIhuman-AI interactionCHI 2026

A randomised experiment with 402 people: the AI examines the reasons a person gives for their own judgement, points to where they may be weak, and helps them revise.

AI insight

People leaned less on wrong AI advice, but rejected correct advice more often and reported a heavier mental load.

View original Deep Read

Click today's card to read it, or an older one to bring it forward.

A dial for how much the agent writes.

A recurring task has a value that rarely changes, so length is set per channel, not per message: Concise, Standard or Detailed. The exchange rate stays at one line; a reading list on history can run long. The setting applies from the next run, so the history keeps what was written and a short channel costs fewer tokens every day.

The dial never changes the glance. Compact is identical at every setting and Focus stays within the same few lines. What moves is the reading below it: Detailed adds the question, the method, the limits and more of the findings, while Concise keeps a few parts of a sentence or two each.

CHI 2026 · Apr 2026

Understanding the Effects of AI-Assisted Critical Thinking on Human-AI Decision Making

Harry Yizhou Tian, Hasan Amin, Ming Yin

HCIhuman-AI interactionCHI 2026
TL;DR

A randomised experiment with 402 people: the AI examines the reasons a person gives for their own judgement, points to where they may be weak, and helps them revise.

AI insight

People leaned less on wrong AI advice, but rejected correct advice more often and reported a heavier mental load.

AI Summary

The AI asks people for the reasons behind their own judgement, then questions those reasons before they decide. Tested with 402 people, it made them more careful, and more effortful too.

Key Findings
  • Less reliance on wrong AI advice, but more correct advice turned down.
  • A heavier mental load, with no clear gain in accuracy or learning.
Value for you

A concrete pattern for slowing people down before they trust a suggestion.

Every morning, recommend one frontier HCI paper from the last five years.

Drag the dial: what the card shows stays put; the rest is rewritten at that length.

The agent picks the shape, then keeps it.

Not every result reads best as text. A rate wants a trend, a reading plan wants a timeline, an album wants its cover, a new word wants its sound. The agent doesn’t write interface code. It plans a layout from a fixed catalog (41 components and chart presets today) and the product renders it, so every screen stays legible, accessible and on brand.

A channel has to look the same every morning, so you learn where to look. DotSet plans a channel’s layout once, when its content first takes shape, and then binds each new day’s content into the same layout without another model call. It replans only when the content changes structure or you ask for a different view.

A rate card: sterling against the yuan at 8.9141, up 0.45% this month, over a five-week line with its high and low marked.

A rate

Checked daily, where the change matters more than words: the number leads, and the month's line marks its high and low.

A reading plan card: seven classics in a week, two read so far, each day on a timeline with its book cover, the part to read and how long it takes; today is Wednesday.

A reading plan

A goal that runs all week: progress along the top, today marked on a timeline, and each day's sitting with its length.

An album card: the cover of Satie's Gymnopédies beside its record, one line on why it suits the morning, and the three pieces with their lengths.

An album

Chosen by feel, so the cover comes first, one line says why this morning, and the pieces are ready to play.

A word card: candid, set large, with its pronunciation, a button to hear it, and two senses with an example of each.

A word

Learnt by sound and by use: the word set large, how to say it, and each sense with an example.

P.S. Yes, ChatGPT does something like this now. Great timing: I was halfway in…Theirs is made for one answer; mine, for a daily one.

What the agent decides, and what code guarantees.

Each task runs in three stages. The first turns a plain sentence into a goal: what to find, the hard constraints, how often, and how the result should be shown. The second researches with search, reading and data tools. The third plans the layout. Everything else belongs to code: the schedule, the budget, which tools exist, and the checks before anything is published.

Those checks are what make a card worth trusting. A number in a table has to appear in a source the agent actually fetched, and percentages are computed by code, not written by the model. Every card says what was read, an abstract or the full text, and keeps the agent’s interpretation apart from what the source says. When nothing good is found, nothing is published.

A new kind of request is expensive the first time, because the agent has to find a way to do it. When a run succeeds, it can save the method it used. The method is kept only if the run’s own records show it worked, and it lapses after seven days. The next run starts from that method instead of from scratch, but fetches every fact again.

Working, and on its way to release.

DotSet runs end to end as a desktop app and is getting ready for release. Most of the work now goes into the agent, one bad case at a time: each failure is kept, traced to its cause and fixed in the flow or in code. Cost came first, so that a routine run is budgeted at about a cent. Then the generated layouts, the accuracy of what the agent writes, and the detail dial above.

94%

Scheduled runs that publish a card

98%

Facts in a card found in the source it read

$0.01

Average model cost per task run

From 600 scheduled runs across 20 everyday tasks; facts checked by hand on 100 cards.

Next comes a calendar you schedule in plain words, and local files (papers, music, pictures) brought onto the board for the agent to sort, so the board becomes the one place to look each morning.

What building DotSet taught me.

An agent becomes reliable through what is taken away from the model, not what is asked of it: everything that can be checked, from the schedule and the budget to the sources and the parts a reading must have, moved into code, and the model kept only the judgement nothing else can make.

And when a platform ships the feature you are halfway through, it shows the feature was never the product: what lasts is what one daily job needs and a general assistant doesn’t, the same shape tomorrow, a method remembered, a cost of a cent.