Alphy

A desk plant that gets me to drink water.

He does it by asking me to water him.

15 seconds of him: slide in, perk up, swing, stretch, pour, thank you, leave

Personal project

2026

Design + build

The problem

Every hydration app is

a notification machine

I know I should drink more water. Knowing was never the problem. The reminders

were. Alarms and notifications demand attention at a moment they choose, not

one I choose, and after a week I dismiss them without reading. I work on this

laptop most of the day; anything that interrupts that gets uninstalled.

The bet

Caring for something

beats being nagged

Watering a plant is a small, pleasant act. Being told to hydrate is a chore. So the

app never mentions me at all. A plant slowly droops, and the deal is that when I

water him, I drink a glass too.

Two assumptions under that: posture can carry the whole message (a drooping

leaf needs no copy), and a boring app I keep running beats a delightful one I quit. Every decision below follows from one hard constraint: it must never interrupt me. No sound, no badges, no popups over my work. Ever.

thriving

content

thirsty

drooping

wilted

sleeping

Six states. Tiers 0 and 1 use zero words: his posture is the reminder.

The solution

Escalate the plant,

never the interface

Alphy isn’t on screen at all while I’m hydrated. When it’s been a while, he slides

down from the top of the screen and simply hangs there, drooping a little more as

time passes. He asks in words exactly once per cycle: one line, six words max.

Then he folds the card away and waits.

0 min

Ambient

Breathing, swaying.

Nothing to read.

55 min

Droop

A leaf lowers. That is the

entire reminder.

sip?

hold me

90 min

Ask

One line, once. Gone in 20

seconds.

2.5 hr

Wilt

He stops asking and just

waits. He can never die.

The interaction

Hold him. That’s it.

There’s no button. Press and hold Alphy himself and a watering can tips in; soil

darkens, leaves lift, a small meter counts the millilitres. A full pour is three seconds

and logs 250 ml. Letting go early gives partial credit: half a hold is half a glass,

never an error. Moving him instead swings him like a real pendulum. Drag, flick,

pull. The hook stays screwed to the ceiling while the cords stretch.

15 seconds of him: slide in, perk up, swing, stretch, pour, thank you, leave

Hover. Two words of instruction, the

only ones in the app

The pour: the can, the arc, the count

Release: spring, overshoot, four words

max

The craft

Details that make him feel alive

He grows. 80% of target makes a good day. Three good days grow a leaf, and

growth never goes backwards: bad days wilt today, they never cost him a stage.

stage 1

day one

stage 3

10 good days

stage 5

50 good days

He speaks like a plant, not a coach. One line at a time, matched to the hour, never

repeated within a week.

still parched

sip?

no rush. mildly desperate.

ahh

much better

half counts

new leaf. yours too.

off duty

He knows when to freeze.

screen share

camera on

fullscreen

he holds still

And back from a two-hour meeting: one reminder, never a queue.

Where it is now

Living quietly in my menu bar

He launches at login and stays away until he genuinely needs something. For the

first time, the reminder is something I look forward to touching.

0

notifications,

sounds or badges

3 s

for a full pour,

partial credit

below

6

words max, once

per cycle

24

leaves he can

grow, three good

days at a time

that’s Alphy. he says see you soon.

Alphy

A desk plant that gets me to drink water. He does it by asking me to water him.

15 seconds of him: slide in, perk up, swing, stretch, pour, thank you, leave

Personal project

2026

Design + build

The problem

Every hydration app is a notification machine

I know I should drink more water. Knowing was never the problem. The reminders

were. Alarms and notifications demand attention at a moment they choose, not

one I choose, and after a week I dismiss them without reading. I work on this

laptop most of the day; anything that interrupts that gets uninstalled.

The bet

Caring for something

beats being nagged

Watering a plant is a small, pleasant act. Being told to hydrate is a chore. So the

app never mentions me at all. A plant slowly droops, and the deal is that when I

water him, I drink a glass too.

Two assumptions under that: posture can carry the whole message (a drooping

leaf needs no copy), and a boring app I keep running beats a delightful one I quit. Every decision below follows from one hard constraint: it must never interrupt me. No sound, no badges, no popups over my work. Ever.

thriving

content

thirsty

drooping

wilted

sleeping

Six states. Tiers 0 and 1 use zero words: his posture is the reminder.

The solution

Escalate the plant,

never the interface

Alphy isn’t on screen at all while I’m hydrated. When it’s been a while, he slides

down from the top of the screen and simply hangs there, drooping a little more as

time passes. He asks in words exactly once per cycle: one line, six words max.

Then he folds the card away and waits.

0 min

Ambient

Breathing, swaying.

Nothing to read.

55 min

Droop

A leaf lowers. That is the

entire reminder.

sip?

hold me

90 min

Ask

One line, once. Gone in 20

seconds.

2.5 hr

Wilt

He stops asking and just

waits. He can never die.

The interaction

Hold him. That’s it.

There’s no button. Press and hold Alphy himself and a watering can tips in; soil

darkens, leaves lift, a small meter counts the millilitres. A full pour is three seconds

and logs 250 ml. Letting go early gives partial credit: half a hold is half a glass,

never an error. Moving him instead swings him like a real pendulum. Drag, flick,

pull. The hook stays screwed to the ceiling while the cords stretch.

15 seconds of him: slide in, perk up, swing, stretch, pour, thank you, leave

Hover. Two words of instruction, the

only ones in the app

The pour: the can, the arc, the count

Release: spring, overshoot, four words

max

The craft

Details that make him feel alive

He grows. 80% of target makes a good day. Three good days grow a leaf, and

growth never goes backwards: bad days wilt today, they never cost him a stage.

stage 1

day one

stage 3

10 good days

stage 5

50 good days

He speaks like a plant, not a coach. One line at a time, matched to the hour, never

repeated within a week.

still parched

sip?

no rush. mildly desperate.

ahh

much better

half counts

new leaf. yours too.

off duty

He knows when to freeze.

screen share

camera on

fullscreen

he holds still

And back from a two-hour meeting: one reminder, never a queue.

Where it is now

Living quietly in my menu bar

He launches at login and stays away until he genuinely needs something. For the first time, the reminder is something I look forward to touching.

0

notifications,

sounds or badges

3 s

for a full pour,

partial credit

below

6

words max, once

per cycle

24

leaves he can

grow, three good

days at a time

that’s Alphy. he says see you soon.