/
01Core Idea

Send a note to your inbox without writing an email.

Write what you want to keep and pull down. Noteself sends it to your own email address. No recipient to enter, no subject to write and no send button to tap.

02Positioning

Your inbox stays. The email form goes.

Noteself is a native iPhone app for people who already email themselves notes. It keeps the place they already use and removes the repetitive setup before each note gets there.

02.1Notes to your own inbox.

Noteself is built around one job: write a note and send it to your own email address.

02.2Same destination. Less to do.

You write the note. Noteself already knows where it is going and handles the subject. Pull down to send.

  • Your own inbox is the destination.
  • Recipient and subject are already handled.
  • Pulling down sends the note.
  • Nothing needs to be filed before sending.
03Audience

For people who already email themselves notes.

Noteself is for tech minded iPhone users who use their inbox as a personal archive for thoughts and notes.

03.1The inbox is already part of the habit.

A thought is worth keeping. The user already knows where they want it to end up. The unnecessary part is writing an email to themselves every time.

03.2Market
  • Primary market: United States
  • Platform: iPhone
  • Default language: English
04Brand Identity

A private note, not another productivity system.

Noteself should feel personal because the note is written for yourself. The interface stays out of the way until it needs to explain the send gesture or confirm the result.

04.1The sign.

Four bands on one opacity value. Each band is shorter than the one above it and all four end on the same bottom edge, so density increases in reading direction.

Free-standing
Sign in accent on ground
Large tile
168 px · radius 36 · mark 95
60 pt
60 px · radius 13 · mark 34
29 pt
29 px · radius 7 · mark 17
noteself
Wordmark
Sign
04.2Four bands on a grid of 100 units.

Only the top edge moves. Every band has the same width and the same radius, and every band ends on the same bottom edge.

  • Drawing area: 0 0 100 100 — the viewBox of every mark.
  • Base form: rounded band — four filled bands, no stroke width, no fill rule.
  • Layers: 4
  • Direction: upright, read from the top — unlike a circle the sign has a reading direction; the bands grow downward.
  • Width: 52 — the same on all four layers, from x 24 to x 76.
  • Corner radius: 6 — the same on all four layers.
  • Top edges: 8 · 29 · 50 · 71 — step of 21 units, even.
  • Heights: 84 · 63 · 42 · 21 — step of 21 units. Each band is exactly one step shorter than the one above it.
  • Outer size: 52 × 84 — upright, not square.
  • Clear space: 24 at the sides, 8 at top and bottom — uneven, because the base form is an upright band. Set, not an oversight.
  • Opacity per layer: 0.28
The shared edge

8 + 84 = 29 + 63 = 50 + 42 = 71 + 21 = 92. All four layers end on the same line; only the start moves.

Stepping

Four tones out of one value. Every layer sits at 0.28; because each band is shorter than the one above and all end on the same edge, four layers lie on top of each other at the bottom and one at the top. The values below are calculated, not set.

top · 1 layer
0,280
2 layers
0,482
3 layers
0,627
bottom · 4 layers
0,731
  • Set value: 0.28 — once in the code, the same on all four layers.
  • Effective values: 0.280 → 0.731, top to bottom. The bottom zone never reaches full opacity — the sign stays transparent throughout.
  • Tone zones: y 8–29 · 29–50 · 50–71 · 71–92
  • Zone height: 21 units — all four are equal, because the edge step and the height step carry the same value.
  • Smallest gap: 0.104 — between the third zone (0.627) and the fourth (0.731). The gap narrows downward, because the same rule meets an already covered ground.
Limits
  • Not tested below 29 pt. Tested sizes are 60 pt and 29 pt. Smaller sizes are neither drawn nor judged.
  • The shared edge cannot be cropped. All four layers end on y 92. Cropping the bottom takes the closing edge off all four bands at once and erases the densest zone. The sign must not be cut off at the bottom.
  • The sign is upright. 52 wide on 84 high; in a square tile 24 units stay clear at each side. It fills a square differently than a round base form would.
  • On mid-tone grounds the top zone loses its separation. At 0.28 it barely differs from the ground — and on an upright band that hits the top edge, the start of the reading direction.
  • Four layers are the maximum. Beyond that the inner steps merge at small sizes.
04.3Two lines of four characters.

The stacked wordmark is the primary form. Both lines have four characters — that is what lets stacked setting sit flush without optical correction.

noteself
noteself
noteself

96 px · 40 px · 22 px

  • Typeface: Geist — loaded in weights 300, 400, 500 and 600.
  • Upper line: Geist 300
  • Lower line: Geist 500 — the weight difference carries the separation of the two word parts. There is no difference in color and none in size.
  • Case: lowercase throughout — no capital, not even at the start of the word.
  • Line height: 0.92 — below 1, so the two lines read as one block instead of two lines of text.
  • Tracking: 0 em — tracking is not used. If it is set, an equal negative right margin cancels the trailing space after the last letter, otherwise centred setting sits half a tracking step to the left.
  • Line length: 4 and 4 characters — note / self.
  • Opacity: 1 and 0.45 — the second word at 0.45, the same as in the single-line version. The stepping belongs to the sign, not to the wordmark; this is one set difference, not a series.
  • Technical labelling: Geist Mono, 11 to 12 px, only for identifiers, measurements and navigation. Never for the wordmark.
noteself

Secondary version for narrow surfaces · Geist 500 · tracking −0.035 em · second word at opacity 0.45

04.4Voice

Real strings, not adjectives.

Marketing

Send a note to your inbox without writing an email.

Instruction

Pull down to send

During Pull

Keep pulling

Release

Release to send

Confirmation

Sent to your inbox.

05Interface System

The note comes first.

Color, type, motion and haptics support writing and make the send state clear without adding another control.

–
Color Tokens
–
Type Steps
–
Motion Keyframes
–
Sections
How these are counted

Color tokens — swatches in 05.1, counted as #tokens .sw-grid .sw across the groups Surfaces, Text, Lines, Accent, Status and Sidebar. Radius and Motion carry no color and stand as value rows, so they are not counted.

Type steps — rows of the specimen in 05.2, one row per step.

Motion keyframes — demos in 05.3 carrying data-anim. The pull spring carries none: it runs on a spring, not on keyframes, and is therefore not a sixth entry.

Sections — the fixed IDs from the structure standard that are present in the document. 06a and 06b are two presentations of one section; the ID governs, not the visible label.

05.1Threshold means ready to send.

Ink and Paper carry the interface. Threshold appears when releasing can send the note.

Surfaces
--ink
#0E1014
Primary content background
--ink-raised
#16181D
Raised second surface, controls
--ink-card
#1E2127
Card and panel surface
Text
--paper
#F4F1EA
Primary text, highest contrast
--paper-dim
#A8A39A
Secondary text, descriptions
--paper-mute
#6B6862
Eyebrows, Labels, Meta
Lines
--hair
#2A2D33
Hairline, separation inside blocks
--hair-strong
#3A3E46
Hairline strong, borders and placeholders
Accent
--threshold
#D6E84A
Only brand accent: send boundary, caret, active state
--sign
#D6E84A
Sign for noteself and mailself
Status
--draft
#E8B85A
Gesture below the send state
--outbox
#D6E84A
Sent surface
--outbox-glow
#B5C625
Sent highlight, confirmation tag
Sidebar
--sb-bg
#16181D
Sidebar background
--sb-text
#F4F1EA
Sidebar text
--sb-label
#A8A39A
Group label, muted
--sb-num
#A8A39A
Section number
--sb-hover
#1E2127
Hover surface
--sb-active-bg
#1E2127
Active surface
--sb-active-text
#D6E84A
Active text
Rule

One accent per surface. Threshold is the only signal that asks for something. Where Threshold appears, no second accent appears — otherwise the send boundary loses its meaning.

Radius and Motion
  • --r-xs … --r-pill: radius steps for chip, control, card, panel and pill · 4 · 6 · 8 · 12 · 999
  • --d-fast … --d-draw: duration for state change, aura and drawing · 120 · 240 · 320 · 540ms
  • --ease-out: default ease-out for surfaces and aura · cubic-bezier(.2,.7,.2,1)
  • --ease-draw: line drawing, check · cubic-bezier(.5,.05,.15,1)
  • Spring: pull gesture, spring instead of curve, as interpolatingSpring · stiffness 240 · damping 28
05.2Interface text supports the note.

Typography keeps the note readable and separates product content from instructions, state feedback and technical information.

Section
Your inbox stays.
clamp 28–52 / 600
Statement
Send a note to your inbox without writing an email.
24 / 400 / 1.6
Lede
Noteself keeps your inbox and removes the email form.
20 / 400 / 1.6
Subheading
Pull down to send
20 / 600 / 1.2
Body
The recipient and subject are already handled.
16 / 400 / 1.6
Small
Sent to your inbox.
14 / 400 / 1.45
Wordmark
Noteself
16 / 700 / 0.04em
Label
Release to send
12 / 500
tracking 0.2em
Spec
stiffness 240 · damping 28
12 / 400
tracking 0.08em
05.3Motion follows the gesture.

The interface responds to pull progress and send state. Motion explains what is happening instead of decorating it.

aura-swell
The aura grows with pull progress.
1600ms × 2 · ease-in-out · scale 0.86↔1.08
tick-snap
The tick locks in when the send state is reached.
1600ms · ease-out · height 16→32→24
wave-drift
The line changes with pull progress.
3200ms · linear · translateX -40px
check-draw
The confirmation mark draws after sending.
540ms · ease-draw · dashoffset 130→0
caret-blink
The caret marks the active writing state.
1040ms · steps(2) · opacity 1→0
240 / 28
stiffness / damping
pull-springSpring, not a curve
The surface follows the finger and returns when the gesture is cancelled.
Demo in 06a

Click or press Enter on a stage to replay. With reduced motion enabled the demos rest in their end state.

05.4There is no send button.

Pulling down is the send control. Components support writing, gesture feedback and confirmation. They are shown in the playable pull in 06a, where the real states apply.

Touch targets stay at 44 points following the Human Interface Guidelines, including where the visible area looks smaller.

05.5Design Tokens
06aProduct Applications

Write. Pull. Send.

Write the note and pull down. When the send state is reached, release. Noteself confirms that the note was sent to your inbox.

The bookshop of tomorrow is a furniture store with service.
0
Pull progress
Pull down to send
Sent to your inbox.
du@noteself.co · 09:41
StateWrite
Pull progress0 %
Send statenot reached
075 · threshold100
Keyboard: ↓ pull, Shift+↓ larger steps, Enter send, Esc cancel.
Stage 402 × 874 pt, shown at 0.796 scale. Type and metrics from the bound iOS 26 token set.
Core States
Write

Writing

The note is being written.

Pull

Moving toward send

The interface shows progress toward the send state.

Release

Release will send

The gesture has reached the send state.

Sent

Sent to your inbox

The note was sent to the verified email address.

Canonical UI Strings
  • Note to Self
  • Pull down to send
  • Keep pulling
  • Release to send
  • Sent to your inbox.
Teach the gesture once.

The first run needs to make one thing clear: write the note, pull down and release when Release to send appears.

06bBrand Applications

Show the idea before the feature list.

Marketing should make Noteself understandable before explaining secondary features: write a note and send it to your own inbox without composing an email.

Send a note to your inbox without writing an email.
Type the note. Pull down. Noteself sends it to you.
Landing page
Make the pull clear in the first screenshot.
The interaction is the product difference. The first screenshots need to make writing and pulling understandable immediately.
App Store
Answer the question directly.
Legal and support surfaces stay factual and avoid campaign language.
Legal & Support
07Technology

A native iOS app.

  • Platform: iOS
  • App: Swift and SwiftUI
  • Backend: Supabase · Frankfurt
  • Email: Resend EU via Supabase Edge Functions
  • Subscriptions: RevenueCat Swift SDK
  • Haptics: CoreHaptics with a continuous ramp during the pull
  • Web: Next.js and TypeScript on Vercel
  • Distribution: TestFlight → App Store Connect