Selected Work

Oryne

An iPhone app that catches ideas the moment they strike and brings old sparks back.

Overview

An app where thoughts come back on their own

Oryne is an iPhone app for people whose best ideas get lost in a notes list. Say or type a thought and let it go. The phone names it, drifts it next to related thoughts, and brings it back on a day it might matter.

Selected WorkAI-Native UXiOSOn-Device AIBuilt & Shipped

Role

0→1 Product Designer & Builder

Timeline

June 2026–Present

Tools

SwiftUI · SwiftData + CloudKit Foundation Models · Claude Code

Output

Live on the App Store · v1.5 · English & Chinese

Highlights

Let a thought go, and it finds its way back

01Catch

Type it or say it, in under two seconds

02Let go

Release it, and the phone names it

03Drift

It joins a current of related thoughts

04Return

A forgotten thought rises on its own

Live on the App StoreFirst commit to 1.0 in 23 daysSix releases in 15 daysBuilt with Claude CodeIntelligence runs on the deviceEnglish and Simplified Chinese

The Problem

Every notes app buries what it promised to keep

Every notes app promises to keep your thoughts organized, and every one breaks the promise the same way: not by losing them, but by burying them. Neatly, chronologically, in a list you never scroll back through.

Lists optimize for putting things in. Minds optimize for things coming back. A thought from three months ago surfaces because something today rhymes with it, not because you scrolled to March.

01

The List Buries

Neat, chronological, and never scrolled back through.

02

Memory Is Not a Timeline

A thought returns because something today rhymes with it.

03

The Moment Is Too Short

Unlock, open, find the note. The thought is already gone.

The list is honest about storage and dishonest about memory. The problem was never the list, it was the monopoly. So the design had to start from how a thought comes back. Every tool a creative person already keeps inspiration in has an answer to that, and they are not the same answer.

Competitive

No tool catches a thought, gives it a place, and brings it back

One question, put to each tool a creative person already keeps inspiration in: what happens to a thing after you save it, and whether it ever finds you again. I asked it in February, three and a half months before the first commit.

Three capabilities settle the answer. Capture has to be fast enough that you do it at all. The saved thing has to live somewhere you can look around in, not just scroll. And something has to return it to you without being asked.

Pinterest

One tap

An endless grid

Other people’s ideas

Milanote

Mobile quick note

Boards you arrange

Only what you open

mymind

One click

A visual grid

Serendipity

Freeform

Place it yourself

An infinite canvas

Only what you placed

Notion

Quick add, then file

Pages and databases

A search box

Oryne

Two seconds, by voice

Currents that drift

A thought a day

Each one breaks the chain somewhere. mymind comes closest, and it collects what you find rather than what you think. Nothing was doing all three for a thought of your own, and that is the gap the idea was built in.

The Idea

Your mind as an ocean, and every decision derived from it

The gap was a tool that catches a thought, gives it a place, and brings it back. Water does all three without a filing system: things drift, related ones gather, and what sank comes up again on its own. So the mind became an ocean, and a thought became something you let go of rather than something you put away.

That only helps if the metaphor makes decisions, so it was held to one rule: every interaction has to be explainable as how water works, never as how apps work. Capture is a thought falling into the ocean. Categorization is a thought flowing into a current, and that is the literal copy in the app, because “assign to category” would have been the list sneaking back in through the language.

Felt vs Legible: Four Places, Not One Compromise

01

Capture, for Catching

Two seconds, before you judge it. Not a room, the door.

02

The Ocean, for Encountering

Enter with no goal. Drifting past things is the point.

03

The Library, for Finding

A waterfall of cards you can scan. Finding is a job.

04

The Thought, for Working

One fragment, your full attention. Edit it or grow a branch.

A Thought Comes Back, Gathers, and Grows

The Ocean: a forgotten thought rises on its own
The Library: long press, and the waterfall reorders by kinship
The Thought: a new thought grows out of this one

Thought

“Release into the Ocean”

One captured fragment, named and themed on the device.

Whisper

“Catch a whisper”

A thought caught by voice. Words appear while you speak.

Current

“8 thoughts drift here”

Related thoughts drift together. Nothing is filed.

Resurfacing

“Catching a thought that drifted away”

One forgotten thought rises per day.

Ask the Ocean

“Responses come from what you’ve captured.”

A question answered only from your own thoughts.

Grow a Branch

“Grow a branch”

A new thought grows out of this one, as a question, a concept, research, or a project.

A field that feels alive is illegible by default. So the Ocean is for encountering, the Library is for finding, and neither pretends to be the other. A metaphor that settles questions this large should not live in one person's head, so it was written down as rules.

Principles

Eight principles, each with a test it has to pass

Two days into the native build I wrote the metaphor down as eight principles and put the file in the repository next to the code. Each one ends in a question, and the question is the whole point: a review can cite “violates Trust, confirmation before verification” instead of “feels wrong,” and if the answer is yes, the change does not ship. Five belong to one of the four places. Three hold everywhere.

Capture

Capture

Would this make someone hesitate before capturing?

The Ocean

Motion

If every animation froze, would the app lose any meaning?

The Ocean

Memory

Does this make old thoughts return, or make the user go get them?

The Library

Retrieval

Can someone who never learned the field's layout reach every thought?

The Thought

Ownership

Can the system ever silently replace something the user wrote?

Everywhere

AI Behavior

If the network died mid-session, would the user be told anything untrue, by words or by omission?

Everywhere

Trust

Does the UI ever say done before the system knows it is done?

Everywhere

Calm

Would this make Oryne feel like a tool that needs tending?

A principle without a test is a mood. These eight were written for the third version of this idea. The two versions before it are why there was anything to write.

Iterations

Three versions before the ocean moved, six releases after

The metaphor arrived before the product did. It went through a web prototype, a set of wireframes, and a first native build before the Ocean looked like water, and each version kept something the next one still has.

01

Lovable, the first version

A Web Prototype Called InspireOcean

Cards on a dotted canvas, a list view one keystroke away, and a Rediscover panel that surfaced older ideas not opened recently.

What survived

The three verbs were already here: capture, browse spatially, and let old ideas come back on their own.

What changed

The canvas was a whiteboard, not water. Cards sat wherever they were dropped, nothing moved, and nothing was related to anything.

The InspireOcean web prototype: note cards scattered on a dotted canvas with a search bar and Add and Rediscover buttons
Canvas: cards wherever you dropped them, on a dotted field
The InspireOcean web prototype’s Rediscover panel listing older ideas not opened recently
Rediscover: older ideas not opened recently, the seed of resurfacing
02

Claude Design, May 24

Wireframes That Argued With Themselves

Eight flows as storyboard rows, and under each hard question a row of side-by-side alternatives. Navigation, the Ask surface, the Library, and the capture entry points shipped as drawn. The three rows below did not.

What survived

Four tabs named for the four verbs, Capture, Ocean, Ask, and Library, and long press as the canonical gesture: chosen there for branching, kept in the shipped app for kinship.

What changed

The Ocean Field question was never settled by picking one. The build went Cluster first, on day two, and drift arrived in July. The shipped Ocean is both: currents that move.

Three Rows That Did Not Ship as Drawn

Wireframe row: four Ocean Field layouts side by side, Drift, Cluster, Depth, and Timeline, each as a phone screen
Ocean Field: four layouts from most spatial to most legible, and the shipped Ocean is Drift and Cluster together
Wireframe storyboard: idle Ocean, a radial mode picker, a two-second capture, and a ripple confirming release
Drift Capture: thought to Ocean in under two seconds, and release as the verb; both shipped, the radial picker became a Thought and Whisper toggle
Wireframe row: four branching gestures, long-press radial, directional swipe, an inline button, and a bottom sheet
Branching: four gestures for the same four kinds; the recommended radial lost to the bottom sheet, and the long press went to kinship instead
03

SwiftUI, from June 9

Version 1: The First Build

By the end of day one the four tabs existed. The Ocean was a handful of gray orbs on a dark field, the Library a list, Whisper a mic and a timer, and Ask a chat with four lenses. Fast Capture and the widgets followed on day two.

What survived

The skeleton shipped as it was: the four tabs, Thought and Whisper capture, Grow a Branch, Ask answering only from the water.

What changed

Orbs became glass bodies that drift in currents and light up their relatives on a long press. The Library became a waterfall you can sort by meaning. Ask kept its lenses and gained a floor under which it admits it has nothing.

Version 1 Against Shipped

Ocean

Version 1’s Ocean: ten gray orbs with icons scattered on a dark field
Version 1: gray orbs scattered on a dark field, and no currents yet
The shipped Ocean: glass orbs drifting in currents, one lit by a long press
Shipped: glass bodies in currents, relatives lit on a long press

Library

Version 1’s Library: a single-column list grouped by week
Version 1: a list, newest first, one thought per row
The shipped Library: a masonry waterfall of cards
Shipped: a waterfall of cards, by time or by meaning

What survived all three was the skeleton: four verbs, four tabs, and a long press.

Shipping did not end the iteration, it changed the clock. I had never written production Swift. Twenty-three days after the first commit Oryne was on the App Store, and five more releases followed within two weeks, each closing something the last had left open.

The agent wrote the code. I designed the review, because when the author and the reviewer share the same blind spots you do not have a review. You have a rubber stamp with extra steps.

Six Releases in Fifteen Days

Jun 9

First commit

Fast Capture, widgets, and the Ocean field by day two.

Jul 2

1.0

On the App Store, 23 days in.

Jul 4

1.1

Currents that breathe. Kinship on long press.

Jul 6

1.2

Export the Ocean as a readable archive.

Jul 8

1.3

Masonry Library. Add a thought into an open current.

Jul 16

1.4

Chinese and English, transcribed live on the device.

Jul 17

1.5

Waterfall Library, Recent and Related.

Live on the App Store.

Don’t Review the Work. Design the Review.

01

Author

Writes the code with the full design intent.

02

Auditor

Reviews cold, from an isolated context. No persuasion channel.

03

The Ship Gate

Nothing irreversible without a human command.

04

Rules as Contracts

“Zero commits until the human replies.” No adverbs.

Speed was the agent's job. Judgment stayed mine, and the gates exist so that nothing irreversible ever happens at machine speed.

Final Design

One thought, from caught to returned

One thought, start to finish, and the decisions underneath. Every screen is the shipped app.

Act One: You Catch It

Capture is built for the moment a thought arrives, before you have judged it.

01

Catch

Whisper capture listening, with a live waveform and a stop button
Whisper: speak or type, and the words appear while you are still talking
02

Release

A typed thought above the Release into the Ocean button
Release: one button, no title, no folder, no category

Act Two: The Ocean Works

Everything you never get around to happens on the device after you let go. Then, one day, it comes back.

03

Understand

An expanded thought with its title, themes, and nearby thoughts
Thought: the device names it and finds its themes, and anything you edit stays yours
04

Drift

The Ocean: currents as glass orbs, one lit by a long press
Ocean: it flows into a current, and a long press lights up its relatives
05

Gather

A current opened: eight thoughts drift here, with related currents above
Current: eight thoughts drift here, and nobody filed them
06

Return

A resurfaced thought from last month, opened over the Ocean
Resurfacing: one forgotten thought a day, more likely when it echoes what you are exploring

When an effect you love is fighting the information it carries, the effect loses.

Act Three: When You Go Looking

Rediscovery is a rhythm, not a search. When you do go looking, there is a place for that.

07

Find

The Library: a masonry waterfall of thought cards
Library: a waterfall of cards, by time or by meaning
08

Ask

Ask the Ocean answering a question from the user’s own thoughts
Ask: an answer composed only from what you captured, with its sources named

Act Four: Around the Loop

Four more features, each built to keep the Ocean simple.

09

Fast Capture

The Fast Capture overlay floating over the Ocean tab
Fast Capture: from the Action Button, Control Center, or a widget, over anything
10

Widgets

Home screen with the Oryne Fast Capture widget and a resurfacing widget
Widgets: a Thought or Whisper button one tap from the home screen
11

Grow a Branch

The Grow a branch sheet with Question, Concept, Research, and Project types
Branch: a new thought grows out of this one, in one of four kinds
12

Show Related

The Library after a long press: the chosen thought’s closest companions rise to the top
Show related: long press, and its closest companions rise to the top

No new gestures on the Ocean, ever.

Capture in under two seconds from anywhere. If a change would make someone hesitate before capturing, the answer is no. And what you are willing to capture in the first place depends entirely on where you believe it goes.

Privacy

Nothing you capture leaves the phone

An inspiration tool only works if you will feed it your half-formed, 2 a.m. thoughts, so nothing you capture transits a server I can read.

On-device models are smaller than the cloud's, and classification, kinship, and resurfacing were all designed around what local intelligence can actually do rather than what a server could have done. I would make the same trade again.

01

On-Device Intelligence

Apple’s Foundation Models name, theme, relate, and answer.

02

Local Speech

Live transcription on the phone, in both languages.

03

Your Own iCloud

Private CloudKit sync. No server I can read.

On-device is not a spec-sheet line. It is the precondition for the honesty the whole product depends on.

What the Ocean Taught Me

Nearly every choice trades control for encounter

Nearly every choice trades control for encounter: browsing over managing, drift over sorting, restraint over reach. That is the trade I keep wanting to make, and probably the most honest description of the kind of designer I am.

01

A Metaphor Is a Decision Machine

It answered questions about gestures, copy, and motion. Or it is decoration.

02

Spaces Beat Compromises

Felt and legible were never resolved on one screen.

03

The Best Features Are Refusals

Restraint does not demo well. It ships well.

Next up

Locant

0→1 Product Designer & Builder · 2026GitHub
AI-NativeDesign Engineering

NeuraLyfe

Product Designer, Maker · 2026
Data VisualizationAI-NativePhysical Prototyping
Aura

Aura

Product Designer · 2025
Hardware UXUX ResearchPhysical Prototyping