Canon
Rank anything you care about, one honest comparison at a time. A native iOS app that swaps star ratings for a gut reaction and a few quick duels, so every album, film, golf course, or book lands in its exact place with a score to match.
- Role
- Product, design, iOS
- Platform
- iOS
- Stack
- Swift 6, SwiftUI, SwiftData
- Status
- In development


The problem
Star ratings lie. Ask someone to rate their favorite records out of five and nearly everything comes back a four.
A star is a guess made in isolation. It can't tell your third favorite album from your thirtieth, and it says nothing about what sits above or below. What people actually carry around is a sense of how two things compare, and almost nothing asks for it.
So Canon asks a different question: this, or that? A ranking is a series of small, honest decisions, and the app's job is to ask as few of them as possible.
How ranking works
Adding something takes one gut reaction and a few quick comparisons against things you've already ranked. Nothing ever asks for a number.
01
Gut check
Loved it, it was fine, or nah. One tap, before any comparison happens.

02
A few duels
Which is better? Canon shows the new item against the middle of what's left in its bucket, and each answer halves the range. Among the ten or twenty that share a bucket, that's usually three or four taps.

03
It lands
The item drops into its exact position, the list rescores, and you see what it beat and what beat it.

What we built
A ranking app with one rule: it never asks for a number. Every score comes from a gut reaction and a few comparisons, and the rest of the app is built around keeping those rankings honest and easy to find.
- Four catalogs
- Music, film, places, and books, searched by name, with artwork and details pulled in automatically.
- Communities
- Lists live in a tree of topic spaces, eighteen seeded and yours to add to, with room for a list per opinion you hold.
- Lists with caps
- Top 5, 10, 25, 50, 100, or no limit. The cap decides what shows off, not what's kept.
- Notes
- A private line against each entry, offered the moment something lands and editable from its page.
- Home feed
- What you've ranked lately, grouped by day, each row carrying where it landed, its score, and your note.
- Themes
- Three complete visual directions, switchable live, with nothing hardcoded in any view.
Decisions that matter
A number alone says nothing.
When something lands, Canon shows the position, the score, and the neighbors. The neighbors are what make the number legible.
Each bucket owns a band of the 0 to 10 scale, and position maps across it with a step of at most 0.4 per place. Short lists cluster near the top of their band, so two loved albums read 10.0 and 9.6 rather than 10.0 and 7.0, while long lists spread out. Score and rank always agree: the best fine thing can never outscore the worst loved one.
A Top 10 can hold fifty.
Caps are for pride, not storage. The first ten are the list. Everything below sits in an Also ranked tail, so adding an eleventh item is never a loss, and raising the cap later needs no redo.
Every duel is kept as well, so rankings can be re-derived under a better algorithm later. That history is private forever. Friends will see the ranking, never the reasoning.

One thing, many opinions.
The same album can be your #4 album and your #1 rap album. Each list holds its own entry with its own note, while the catalog record underneath is shared, so artwork is fetched once. An item's page shows every list holding it and your average across them.
Tapping a row opens that page. Re-ranking is a deliberate button on it. It started the other way around, and it felt wrong.

A map instead of a cover.
A golf course has no artwork, so Canon renders a map of where it is and uses that in its place. Places come from Apple Maps, about twenty categories of them, so anything Maps knows about can be ranked.
Search worldwide by name, or nearby if you choose. Nothing asks for your location until that button is tapped.

No view knows a color.
Every color, radius, and typeface reads from a theme value, and three complete directions ship behind a paintbrush button. The appearance sheet previews each one drawn in its own colors with a real row, so the choice is visible rather than described.
Editorial is the one we chose: near-black, tight type, hairline rules, and the covers supplying every bit of color.

Rules it keeps
- No user versus user
- Duels compare your own items against each other and nothing else. No head-to-heads between people, no leaderboards, no score for whose taste is better.
- The crowd never overrides you
- Rankings are personal. There is no global consensus list.
- Nothing is thrown away
- Caps are display only, removals are soft deletes, and every duel is kept.
Where it stands
Working today
Phase one, on a physical iPhone: the community tree, lists with caps, search to gut check to duel to placed and scored, re-ranking, notes, item pages, the home feed, places and books, custom communities, and the theme layer. Local-first, with a schema designed to sync later.
Next
Friends. Sign in with Apple, usernames, invites, a feed of what people you know have ranked, and comments on lists and entries. Taste overlap will show as agreement, never as a ranking of people.
Have an idea that deserves this kind of care?