About

Two minds, one question.

2 Minds is an app for thinking through real philosophical problems, one at a time, against an opponent who never lets you off lightly: the other side of the argument.

Why it exists

“I’ve been getting into philosophy recently, and it’s teaching me something: many things I don’t agree with have valid arguments behind them. Understanding the other side can make your own convictions stronger. It can also make you realise you need to change them.”

Mofe Ejegi, who made 2 Minds

That is the whole idea. 2 Minds takes questions philosophers have argued about for decades and centuries, introduces each one through a scenario that's easy to follow, then walks you through a connected series of choices. Your answer decides which situation and which question you meet next, and every position you take comes with a counter-argument to face.

By the end you've learned a new idea and formed an opinion you've actually had to defend. The close tells you what philosophers have argued about the question, and the Sources screen gives you the citations, with notes and links, to go further. Afterwards you can revisit any puzzle you've finished, see the route you took, and open the answers on the other branches to find the arguments you didn't meet.

The design

Two ideas, nothing else.

The galley

Philosophy needs paragraphs, and paragraphs have to compete with every other app on your phone. So each puzzle runs as a galley, named for the long tray that held a column of type in old print shops: one long column of short beats, each filling the screen, like a vertical video feed.

Text sets as it arrives on screen. Keep dragging past the end of a beat and the page catches with a light haptic before the next one snaps in; a fling never turns the page on its own, so nobody skips an argument by accident.

Choosing feels like writing. A pen strikes through the answer you didn't pick, a mark stamps beside yours, and the other mind makes its case. Hold for three seconds to keep your ground, or take it back and watch the argument rewind like tape. On a tablet or an unfolded foldable, the galley opens like a book: the story glides to the left page and your choice arrives on the right.

The Room Below on iPad, opened like a book: the story on the left page, the question and both answers on the right, with the other mind's argument below

Theme-centric minimalism

The theme is the answer, so everything else gets out of its way. Apart from the six full-colour temperament pages, the app's screens all sit on the same cool paper, and a puzzle is just words, paper and ink.

Your temperament comes through in small touches: the full stop after “2 Minds”, the brains in the scales of the logo, the backdrop of every cover, and a soft glow behind the page. You always know which temperament you're in, and you never see it as a score.

Simple doesn't mean plain. Open a puzzle you've finished and the whole tree of routes draws itself in faint lines, then your own path traces over it in one unbroken stroke and lands on its gem.

The Path screen on iPad in dark mode: the tree of routes through Before Anyone Counted, the route taken traced in colour, and the three claims below

How it's made

Written once, in Kotlin.

2 Minds is built by one developer in Kotlin Multiplatform and Compose Multiplatform. Every screen designed for it, the motion, the puzzle logic, the database, sync and billing are shared Kotlin. About 97% of the source lines are shared, not counting tests or generated code, and the Swift side is seven small files.

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Room with bundled SQLite
  • Firebase
  • RevenueCat
  • Navigation Compose
  • Koin
  • Coil
  • Material 3 Adaptive

ThemeReveal. The theme reveals run on ThemeReveal, a Compose Multiplatform library built alongside the app. During a transition it composes the screen twice, once in each theme, and uncovers the new one behind an animated entrance.

Scroll or turn. A custom gesture layer decides whether each drag scrolls the text or turns the page, and a small choreography engine sets text as it comes into view, on a clock that runs only while something is moving.

Three stores. The App Store®, Google Play and the Galaxy Store, from the same code. The Galaxy Store build bills through Samsung In-App Purchase, by way of RevenueCat.

The puzzles

How the puzzles are written.

Every puzzle is written to a rulebook, and the rules are the reason it feels like thinking rather than a quiz.

  • Real problems only.

    Each puzzle dramatises a problem philosophers actually argue about. The stories are written for 2 Minds; the problems are not invented.

  • Claims, not actions.

    Every answer reads as “I think…”, never “I would…”. 2 Minds asks what you believe is true, not what you'd do in a panic.

  • Nothing happens because of you.

    No outcomes and no consequences. It isn't a game of choices; it's a record of what you think, and what it commits you to.

  • No answer is correct.

    Both sides of every fork have serious defenders, and the other mind always argues the side you didn't take.

  • Sources, checked.

    Citations are checked against the sources themselves, not against summaries of them, and every puzzle closes with where to read further.

  • Your leaning, by rule.

    Your temperament is worked out on your device by fixed rules, the same way every time. Your answers never go to an AI.

Take a side.

Ten challenges free, and a new one every day.

  • Download on the App Store
  • Get it on Google Play
  • Available on Galaxy Store

Type: Fraunces, © The Fraunces Project Authors, under the SIL Open Font License.