GHOST.
v1.0 · ios only
unsent messages · a private journal · ios

ghost.

a private journal for the messages you write but never send. nothing leaves the phone. words fade in 4 seconds, then live in a small dark space — yours alone — until you choose to delete them.

local-only no servers · no analytics imagined replies fictional · opt-in ios 17+ swiftui $9.99 once no subscription
01

three lines, then a door.

onboarding is one screen. the lines fade in over five seconds, one at a time. there is no carousel, no permissions request, no account.

the only button reads begin. when you tap it, you are inside. you can never see this screen again.

fade5sno signup
9:02
this app is for the texts you'll never send.
you can write. you can send.
they will never see.
02

the graveyard. empty.

your home is a yard. on the first day there is nothing in it — only a single italic line and a small + in the corner.

the upgrade pill in the top right is the only commercial gesture. it never raises its voice.

homecoldquiet
9:04
upgrade

the graveyard.

no one yet.
for the texts you'll never send.
tap + to begin.
+
03

four ghosts. one to go.

each tile is a small grave: a blurred avatar, a lowercase name, the platform you knew them on, and a quiet count of how many times you wrote.

the counter reads "4 of 5 ghosts" on the free tier — never red, never urgent, just a fact.

gridblurred facescontextual menu: let go
9:04
upgrade

the graveyard.

4 of 5 ghosts
m
maya
dating
3 sent
j
j
messenger
1 sent
s
sam
friend
7 sent
a
alex
work
1 sent
+
04

ninety days later. still need it?

once a ghost has been quiet for three months, the app asks. it doesn't push, doesn't badge. it just appears the next time you open the door.

not yet dismisses. let go deletes everything you ever wrote to them, irreversibly.

90 daysfull screendestructive · confirmed
9:04
you wrote to maya 92 days ago.
still need this thread?
not yet let go
05

messenger. but only one side.

the other person's bubbles never fill. they hover empty in the upper-left, dotted, suggestive — placeholders for words that will never come.

your bubbles are blue. there is no send button. you hold the bar above the keyboard for 1.5 seconds, then swipe up. the message lifts off and disintegrates.

if imagined reply is on, the app assembles a fictional response from word banks. it's clearly marked as imagined; the real person is never contacted, never aware, never involved.

hold + swipe upprivate screenimagined reply · optional
9:06
m
maya
messenger
this is the only safe place to say it.
i still don't know why you stopped answering.
i guess i kept it kinda warm just in case.
honestly ive been thinking about us lately 🥲
i didnt know how to say any of this
hold here, then swipe up
say it.
06

four seconds. then gone.

after you swipe up, the bubble lifts away from the conversation, blurs, and breaks into ~140 cold-blue particles that drift upward and dissolve.

the animation cannot be skipped. you watch the words leave. a single word — gone. — replaces them.

the message is now permanently saved to that thread. but the ritual happens every time — every send is its own small ceremony.

4.0sunskippabletap haptic
9:06
i should have said this sooner.
gone.
07

who is this for?

creating a ghost is one form: a name, an optional photo (blurred forever), and the platform you knew them on.

imagined reply is opt-in and off by default. when off, no replies appear — true to the original promise. when on, the app assembles a fictional response from word banks: openers, fillers, hedges. the reply is clearly marked as imagined; never sent, never seen by the real person, never their words.

blurred faceslocal onlyimagined reply · off by default
9:06
close
who is this for?
name
maya
photo (optional, blurred forever)
+
add face
where
dating app
messenger
encrypted chat
work
friend
imagined reply
show imagined replies
fictional. words assembled on your phone, never theirs, never sent. clearly labeled "imagined". off by default.
open the channel
08

the graveyard fills up at five.

the first five ghosts are free. forever. for the sixth, the app asks for $9.99 — once, paid one time, kept forever. no subscription, no renewal. that is the only commercial moment in the product.

no ads, no upsell carousels, no urgency. one button, one price, one promise: nothing about your relationships is ever sold or syncs anywhere.

$9.99 · oncestorekit 2no ads · no data sale
9:06

the graveyard fills up at 5.

for what it costs, it doesn't.
unlimited ghosts.
custom send animations.
export thread to image.
no ads. nothing leaves your phone.
$9.99 · once
restorenot now
one-time purchase. no subscription. no renewal.
09

what ghost is, and isn't.

ghost is a private writing app. not therapy, not counseling, not a substitute for talking to someone who can help. if you're in crisis, please reach out — 988 (us) or findahelpline.com (global).

imagined replies are fictional. assembled locally from word banks and clearly labeled "imagined". the real person is never contacted, never aware, never involved. nothing is sent to anyone, ever.

your data stays on the phone. no servers, no analytics, no telemetry, no tracking. ghost cannot read what you wrote — there is no "ghost" reading on the other side, only your own device.

export is optional. save any thread to a still image kept in your photo library. ghost never auto-posts, never shares, never syncs. if a thread leaves the app, you put it there.