It did not start that way. It started with one button because I didn’t know what to say to a guy.
A Button Because I Didn’t Know What to Say
The first Peach was barely Peach. I used MacroDroid, an Android app that can run a chain of phone actions with one tap, to grab a screenshot of a Grindr or Sniffies chat, hand it to AI, get three possible replies back, and type one in.
The fantasy was tiny: help me understand this interaction and answer without embarrassing myself. Then the shortcut got tone settings. Then rules. Then “edit this.” Then “try a different direction.” Then locks, exceptions, little safety rules, and visual controls. Every solved problem exposed three more problems.
The name was less mysterious than the software eventually became: peach meant ass. That was basically the naming meeting.
At some point I stopped caring only about whether the thing technically worked. I started caring about whether it felt deliberate. Homemade floating buttons and giant black rectangles were no longer charming evidence that I had made something. They were ugly.
I Don’t Speak Engineer
I’m not a programmer by trade. My actual work has been restaurant service and training. I learned to direct software by describing what I wanted to AI, looking at what came back, saying no, drawing arrows on screenshots, sending another voice note, swearing, and trying again.
ChatGPT, Claude, Codex — whichever model had the wrench that day — became less like a chatbot and more like a studio full of very fast contractors who needed relentless art direction.
The language got extremely specific without becoming technical: “girl,” “ate,” “go,” “no,” “wrong,” “that’s not what I meant,” “make it more harmonious,” “what the fuck is this,” “perfect.” Half sentences and screenshots became specifications.
Peach moves in
The phone shortcut pile eventually outgrew the phone. Memory, identity, and rules moved to a private backend, and for a while Peach lived in Shadow, a private web dashboard where it could watch my conversations, sort them into piles like Needs Reply, Promising, and Planning, and draft without ever acting.
It finally looked like a product. Which made the next question obvious: why was I leaving the dating app to operate my dating-app assistant?
So Peach moved into Sniffies itself: the message box, the chat controls, the flow between one man and the next. It stopped asking me to come to it.
The sprite psychosis
Then I lost my mind over tiny pictures. Pixel-art Peach. A pixel font. Icons for face, ass, camera, sparkle, photos, play, pause, each with numbered official versions. An entire update just to make the controls 140 percent bigger and take their outlines off. An objectively deranged amount of effort to make tiny pictures feel exactly right.
Kaomojisan
A little woman made out of keyboard characters became Peach’s emotional body. She thought, waited, blinked, reacted, sparkled, got speech bubbles, and eventually became beloved enough to be a layout problem.
Strongest production Kaomojisan / Peach Queen frame. Use the real artifact, not a recreated illustration.
Peach Meets the Men
A chat is not a man
Peach slowly stopped treating each conversation like an isolated text box. The same person comes back. What happened last time matters. What pictures he has seen matters. Whether I actually intended to meet him matters.
A normal chatbot tends to assume more conversation is the goal. Hookup-app conversation is much less philosophical. Who can host? How far away are you? Are you looking now? What are you into? Did you already send him that picture? Is this moving toward an actual plan, or are we just generating text because text can be generated?
Sometimes the correct reply is no reply.
The pics saga
Face, ass, dick, full body, action. Saved sets, remembering who had already seen what, matching the right photo to the right request. A technically irritating problem wrapped around a very simple human request: send him the right ass.
To know who had seen what, Peach had to keep track of everyone.
Too Many Men
The first half of this story makes it sound like Peach exists because I was shy. That was true. It was also nowhere near the whole truth.
At some point dating stopped feeling like one person, one conversation, anticipation. It became logistics. Who replied? Who is nearby? Who wants what? Who has seen my pics? Who is waiting on me? Who disappeared? Men could start turning into little units of unfinished business.
Fifty conversations are not intimacy, but fifty people wanting your attention can feel awfully good. Especially in the wake of a breakup.
It was affirming. It was also nothing like being able to handle the attention once I had it.
The test environment contained men
Sniffies runs in a browser, so Peach does too. On iPhone, Safari was Peach’s abusive unpaid tester: keyboards shoved layouts around, controls looked perfect and ignored taps. One real night of use could wreck whatever had looked finished the day before.
Normally software gets tested somewhere fake and empty. I did not have that. To recreate a bug, I had to open the actual Sniffies conversation where the bug lived.
Which meant: new messages. Someone hot nearby. Somebody I forgot had replied. A conversation I really meant to continue. Five minutes later I was not testing Peach anymore. I was just on Sniffies.
Tell one real session straight, no commentary: what I was fixing and what time it was; the message that arrived; what I did next; what happened to the fix. End on what happened, not the lesson. Receipts: commit times against message timestamps.
The loop became self-feeding: open Sniffies to fix Peach → get distracted by Sniffies → start more conversations → lose track of them while coding → men get annoyed → invent a feature → open Sniffies to test it → repeat.
I accidentally built a CRM for my sex life
I’d set out to build a reply button. What I had now was a secretary: a file on everyone, follow-ups, who was waiting, who had seen what. A CRM, basically, the software companies use to keep track of customers. Replies, pictures, hosting, distance, memory, status, triage. “Which men did I accidentally abandon?” sounds like a joke because it is. It was also a real product problem.
The other side of the chat
Somewhere around here a reasonable reader asks: did the men know?
No. They thought they were talking to me, and mostly they were. I read everything. Every message that went out, I chose to send. But on my side of the screen, each of them had a file: what he’d seen, whether he could host, how far away he was, how long he’d been waiting. He thought he was flirting with one guy. He was also a row in a system that already had my next line ready.
I’m not going to pretend that’s nothing. Everybody on these apps keeps some version of the list in his head. Mine just had a database.
Catch Up
Catch Up became the button for sorting the pile: which replies Peach already had ready, which ones actually needed a decision from me, and which problems were Peach’s to fix instead of mine.
It was never just inbox zero for horny people. It was an attempt to close the gap between how many men I could attract and how many I could actually stay present for.
The conveyor belt
The more Peach matured, the more one conversation could warm up the next. Even the setting literally called Whore Mode evolved around having the next draft ready early enough that moving on could feel immediate.
Eventually the useful question stopped being “How many conversations can Peach help me process?” and became: which of these conversations do I actually want to be in?
Biggest verified Catch Up pile and first evidence of chats being lost. Keep “fifty” only if the receipts support it.
The Problem Was Also Me
There is a less flattering version of the Peach story where the main technical constraint is me.
A two-minute adjustment becomes a new interaction philosophy. Intensity keeps pretending to be priority. Beautiful side quests flourish while the boring work of making sure the data underneath is right waits. “Final” becomes a genre instead of a state.
Infinite AI labor makes this worse in a very specific way: there is almost always another version available. Another icon. Another pass. Another idea that would have been too expensive or too technically annoying to try before AI made experimentation nearly free.
The annoying part is that the obsession often does improve the thing. The tap target really is better. The shimmer really does communicate state more elegantly. The icon really was wrong. It’s learning which obsession deserves six hours and which one needs to shut the fuck up.
Peach became part dating assistant, part design education, part creative companionship, part “please let me use all this fucking brain for something.”
Somewhere in here I should admit the thing underneath the thing. Peach was supposed to help me be close to men. But the making of Peach was often better company than the men. A button obeys you. A man doesn’t. And the AI I built her with was always there, always ready to try again, never annoyed that I’d gone quiet, never deleting the chat because I took three hours to answer. I had built myself an always-open room where nobody ever left. Right next to an app where people left constantly. And some nights I think I didn’t build Peach to get closer to men at all. I built her so I’d have a reason to stay in the room instead.
Getting Out of the Way
I throw half the sprites away
Peach 2.0 started feeling better when it stopped insisting on decorating every action. Settings went into Settings. Photos went under the existing plus button. Catch Up got smaller. The floating controls receded. Peach started borrowing Sniffies’ own geometry instead of constantly drawing another Peach thing on top of it.
I spent forever proving Peach could have a visual identity, then discovered confidence meant not needing to show it constantly.
Kaomojisan leaves
She disappears as a full character, but Peach does not lose the personality. It compresses into shimmer, dots, spacing, timing, and a little sparkle.
Peach learns how I talk
I change a draft and Peach can learn the correction. I send one untouched and that means something too. Silence becomes information instead of failure.
Peach learns my eye
The problem cannot be finding more men. There are already too many men. The interesting problem is filtering abundance down to actual desire, compatibility, curiosity, and attention.
The Sparkle
One little sparkle button might be the cleanest expression of what Peach became: look at this man, this profile, this conversation, this history, this distance, this moment. Give me something useful to say.
The best Peach barely exists. No separate ritual. No giant AI dashboard. No mascot begging for attention. It should need so little tending that keeping her running never competes with actually talking to somebody.
Then it’s just me and a man, waiting on an answer. Which is exactly where this started.
Sep. 27 scene, image sequence, receipts, verified counts, and the exact amount of quiet this ending needs.