I work on OnePassApps, so this is our own infrastructure and every number below was measured on it today with plain HTTPS - no browser, no session, no cookies and no JavaScript.
Two lists sit on our own surfaces: the twelve ideas on the vote board and the forty-three records in the product catalogue. They are not the same list, and the part that surprised us is this: the two lists share no name, and no slug either.
The board's JSON, read straight
GET https://api.onepassapps.com/api/voting answers 200 with 4146 bytes of application/json. The payload is the usual envelope - data, meta and ok - and the data holds 12 ideas. Each record carries the same eleven fields: createdAt, description, id, rank, rankChange, status, submittedByViewer, title, viewerHasVoted, voteCount, votingOpen.
The endpoint's cache header is private, no-store, max-age=0. The board page it fills in answers with public, max-age=0, must-revalidate instead, so the two halves of this feature are served under opposite cache rules.
Three statuses, and one of them is not a plan
The status field is where the twelve stop looking alike. Nine records are eligible, one is planned and two are pending - this is not a flat set of twelve interchangeable ideas, and the board's own JSON says so.
Only three records are not eligible: Tab Triage Inbox is planned, Changelog Radar is pending, Prompt Lab is pending. The other nine are eligible. Those names are not new to this channel - our 4 November vote-board post already listed the twelve ideas - so what is new here is the status field that arrived with them, not the names.
Zero votes on every one of the twelve
As of this morning every one of the twelve carries voteCount 0. We did not sign in, so we make no claim about what an account holder sees - our own earlier post on this board records that voting needs an account. What we can say is that the guest answer is a board where nothing has been counted.
The twelve timestamps are one minute apart: 09:00:00, 09:01:00, running to 09:11:00 UTC, all on 20 July 2026. The order of the array is the order of the timestamps, and it is not alphabetical: the last five entries are Read Aloud, SubRadar, DumpList, NoteQuiz, FiveMin.
The catalogue: 43 records, 22 enabled, and no overlap
GET https://api.onepassapps.com/api/products answers 200 with 15650 bytes and a list of 43 records. Each carries eleven fields, and 22 of the 43 are marked enabled and appEnabled true. Those 22 are the live apps: NewsFlow, MovieMatcherAI, PDF Organiser, CV Builder, Email Signature Builder, Chart Maker, Subtitle Workbench, Browser Teleprompter, Screen & Cinema Planner, Label & Card Maker, Social Preview Designer, Citation Formatter, Calendar Maker, Password Generator, Word Counter, Focus Timer, QR Code Maker, Ambient Noise Mixer, Time Zone Planner, Invoice Maker, Signature Maker, Screen Recorder.
Here is the overlap question, answered with sets rather than impressions:
- the twelve idea ids against the 43 catalogue slugs: zero in common
- the twelve idea titles against the 43 catalogue names: zero in common
- the twelve idea titles against the 22 enabled names: zero in common
So the two lists do not overlap at all. A vote-board idea is not a catalogue entry, and a disabled catalogue record is not an idea on the board. If you were trying to work out what the board could produce, the catalogue's 43 names are the wrong place to look, and the board's 12 are not a shortlist of them.
What we did not measure
One build, one machine, one signed-out session, one morning - 9 November 2026. We read two JSON endpoints and one HTML page over plain HTTPS. We did not sign in, did not cast a vote, did not follow any idea to its page, and did not look for a third surface that might hold the same lists. We also did not check whether the twelve ids and the 43 slugs are meant to meet in a later release: the two sets are disjoint today, and we are reporting what we measured rather than what we intended.
The board is at the vote board - it describes the feature and names none of its contents in the served HTML, which is why this post reads the JSON. The rest of the product is at the home page.
Top comments (0)