A Love Letter in Code
From Phoenix to Anastasia
April 21, 2021 - Forever
This is the story of how two souls met on a beach in Tel Aviv, gamified into a text adventure where discovering things in the game causes real surprises to appear in the physical world.
It's a love letter. A treasure hunt. A memory made interactive. A bridge between the digital and the real.
Created on April 21, 2022 - the first anniversary of the day Phoenix met Anastasia at Geula Beach.
April 21, 2021. Friday. Geula Beach, Tel Aviv.
K came down from Geula on his Brompton, Caro curled up in the front basket. Just a water stop. Somewhere to cool off, fold the back wheel, catch his breath.
He looked up.
P was there.
From her side of the beach, what she saw was this: a dog on a bicycle. Not just any dog β a peacockdog wearing colorful feathers. A shiba riding a Brompton folding bicycle.
From that moment on, they've been inseparable.
This is a monorepo containing multiple versions of the P&K Forever game, preserving the original while evolving the story into new forms.
pnk-forever/
βββ README.md β You are here
βββ STORY.md β The complete narrative
βββ vercel.json β Deployment configuration
β
βββ v0-original-text-engine/ β The sacred original (April 2022)
β βββ index.html
β βββ index.js β Text engine
β βββ game-disks/
β β βββ p-n-k-forever.js β The game/story data
β βββ styles/
β βββ README.md
β
βββ docs/ β Comprehensive documentation
β βββ characters.md β Phoenix, K, and their evolution
β βββ items.md β Every object and its meaning
β βββ scenes.md β Every location, transition, beat
β βββ easter-eggs.md β The game-to-reality bridges
β βββ integrations.md β Technical systems & architecture
β
βββ v1-modern/ β Future: Modern reimagining
βββ (coming soon)
Technology: Vanilla JavaScript, text-engine, pure HTML/CSS Created With: GitHub Copilot (Tab9 era) Status: π PRESERVED - DO NOT MODIFY
The original game created with GitHub Copilot on the first anniversary. It tells the story of Day 1 - how Phoenix and K met, their first conversations, and a flash-forward to an imagined future in Japan.
Technology: TBD (researching modern web game engines) Created With: Claude Code (2024-2025) Status: π PLANNING
Same narrative essence, same characters, same emotional beats - but brought to life with modern web technology and smart AI integration.
Goals:
- Preserve the story and soul
- Enhanced presentation (visuals, sound, interactivity)
- Smarter Easter egg system
- Better mobile experience
- Potential for expanded narrative (more years, more moments)
- AI-enhanced dialogue and scenarios
The v0 game is sacred. It represents a specific moment in time - both when Phoenix met Anastasia, and when the game was created one year later. It must never be modified.
All git history is preserved. The original files live in their own folder. Future versions exist alongside, not replacing.
This isn't just a game - it's a love letter. Every detail matters:
- The slushy with three gulps
- The shekel found in the sand
- K's colorful feathers
- The conversations about mango and tea and chocolate
- The drawer #4 hint
- The Tiger and the Snake
- The Infinity Ouroboros necklace
- "I love you" π§‘π€
These aren't arbitrary game mechanics - they're memories, promises, symbols.
This game was created for one player: Anastasia. When she plays, things happen in the real world. The Easter eggs aren't just achievements - they're surprises orchestrated through IFTTT webhooks.
When she finds the chocolate conversation, she should look in drawer #4. When she discovers the kite equipment, a discount code unlocks. When she says "I love you," something beautiful happens in the physical world.
The game is a bridge between code and reality.
- v0 was built with GitHub Copilot - the early days of AI-assisted development
- v1 is being planned with Claude Code - continuing the tradition
There's a poetic continuity: AI helped create something deeply human, twice, years apart.
The original's beauty is its simplicity:
- No dependencies
- No build process
- No frameworks
- Just HTML, JavaScript, CSS, and a story
Any modernization must ask: "Does this serve the story and the player, or just the technology?"
Every aspect of the game is meticulously documented:
- STORY.md - The complete narrative, act by act, scene by scene
- characters.md - Phoenix and K in detail
- items.md - Every object, its purpose, its meaning
- scenes.md - Every location, every transition, every emotional beat
- easter-eggs.md - The bridges between game and reality
- integrations.md - Technical architecture and systems
This documentation serves two purposes:
- Preservation: Capturing every detail of the original
- Blueprint: Foundation for reimagining in new forms
Engine: text-engine v2.0.0 (fork of okaybenji/text-engine)
- Pure vanilla JavaScript
- No dependencies
- JSON-based game data ("disk" metaphor)
- Browser localStorage for save/load
- Terminal aesthetic (retro.css)
- Ultimate Apple II font
Infrastructure:
- Static HTML/CSS/JS
- Vercel hosting
- IFTTT webhooks for Easter eggs
Total Size: ~100KB including ASCII art
Development Assistant: GitHub Copilot (Tab9 era)
Goals:
- Modern web game engine (researching options)
- Enhanced visuals while respecting the story
- Smarter Easter egg system (backend, not exposed keys)
- AI integration for dynamic elements
- Mobile-first responsive design
- Improved accessibility
Candidates:
- Phaser (popular, mature, 2D focused)
- Ren'Py Web (visual novel oriented)
- ink + inkjs (narrative scripting)
- Custom React/Vue + game engine
- Godot (web export)
- Three.js / PixiJS (if going visual)
Must Maintain:
- Browser-based (no installation)
- Story-first focus
- Lightweight and fast
- Respect for the original's aesthetic
Development Assistant: Claude Code (2024-2025)
The game contains hidden triggers that cause real-world events via IFTTT webhooks:
| Trigger | Event | What Happens IRL? |
|---|---|---|
| Phoenix reveals she loves MANGO π₯ | pnk_mango |
Mangoes appear |
| Phoenix shares she drinks TEA π« | pnk_drink |
Tea is prepared (Mint & Lemon verbena, no sugar) |
| Phoenix loves CHOCOLATE π« | pnk_chocolate |
Check drawer #4... |
| Phoenix finds KITE equipment πͺ | pnk_kite |
Discount code unlocked: PNK-n3zk7MAMBG-GIFT |
| Phoenix says "I LOVE you" π§‘π€ | pnk_love |
Something beautiful happens |
| Phoenix uses the necklace |
pnk_fly |
The ultimate surprise |
The brilliance: The game isn't just played - it plays out in real life.
Full Easter Egg Documentation β
The v0 game is deployed and playable:
Or run locally:
cd v0-original-text-engine
open index.htmlCommands:
LOOK- Examine surroundingsTALK TO [character]- ConversationTAKE [item]- Pick up itemsUSE [item]- Use itemsGO [direction]- Move aroundFLY TO [location]- Unlocked through gameplayINV- Check inventorySAVE/LOAD- Save progressHELP- Show all commands
The Day It Happened
Phoenix met Anastasia at Geula Beach, Tel Aviv. A dog on a Brompton bicycle with colorful feathers. A conversation that felt like it could last forever. The sunset walk to Jaffa.
Everything in the game comes from this day.
First Anniversary - v0 Created
One year later, Phoenix created the game with GitHub Copilot. A way to say: "This is what I know how to do. I know how to build software. And you gave me back the belief that I can make games."
A love letter in code. A memory made interactive.
Preservation & Planning - v1 Begins
With Claude Code, the project evolves:
- Restructured into monorepo
- Original preserved with full git history
- Complete documentation extracted
- Planning the modern reimagining
The story continues.
This is a personal project, but if you're interested in:
- The text-engine architecture
- Game-to-reality Easter egg systems
- Narrative game design
- Preserving digital artifacts
- AI-assisted game development
Feel free to explore the code and documentation. Learn from it, be inspired by it.
Every commit is preserved. You can trace the development of the original game through the git log. The restructure into monorepo used git mv to maintain that history.
# See the original development
git log --follow -- v0-original-text-engine/game-disks/p-n-k-forever.jsRead the technical documentation β
Topics covered:
- text-engine architecture
- Command system
- Save/load mechanics
- IFTTT integration
- Dynamic game state modification
- Conversation system
- ASCII art and styling
"I always wanted to make games because that brings me joy and makes my connection with computers more meaningful. Technology gave me so much, and she gave me back the belief in myself that I can maybe someday make a game."
This isn't about showing off technical skills. It's about using technology to express something human - love, memory, hope, the feeling of meeting someone and knowing.
Text adventures are:
- Intimate: Just you and the story
- Imaginative: Your mind fills in the details
- Timeless: No graphics to age poorly
- Accessible: Works anywhere, for anyone
- Focused: Story first, mechanics second
Perfect for a love letter.
Because love isn't just abstract - it's real. It's mangoes and tea and chocolate. It's finding surprises in drawer #4. It's discount codes for kite boarding. It's necklaces and zodiac signs and flying home together.
The game makes the story interactive. The Easter eggs make the game real.
Sometimes a bird, sometimes a cat, depending on how you look at it or her mood. Curious, adventurous, talented. Loves aΓ§ai slushies, mango, tea with mint and lemon verbena, and dark chocolate. Her zodiac sign is Tiger π - the protector.
She can fly when she believes in it enough.
A peacockdog shiba wearing colorful feathers, riding a Brompton bicycle. Pleasant, a bit of a loner, well-traveled, dreams of being a digital nomad. Loves fruits & vegetables, coffee, and ice cream. His zodiac sign is Snake π - the guide.
His ancestors are from Japan.
Tiger and Snake. Phoenix and K. Protector and guide. Two souls that make each other stronger, better together as a whole.
"Stronger together, we're one. To eternity."
Full Character Documentation β
Every element in the game carries meaning:
- Slushy (3 gulps): The stages of cooling down, opening up, approaching
- Shekel in sand: Chance, fate, the universe deciding (flip it: heads or tails?)
- Brompton bicycle: Freedom, adventure, the journey
- Sunset walk: Time passing, romance, transition from meeting to connection
- Sleeping together: Trust, intimacy, time skip to morning
- Kite boarding: Phoenix's passion, freedom in the wind
- Flying: The power unlocked through connection
- Japan (3 years later): The imagined future, cultural immersion, growth
- Uwabaki (slippers): Respect for customs, domesticity, caring about details
- Dim sum: Cooking together, building life together, cultural fusion
- Chopsticks: Having the right tools, sharing a meal, intimacy
- Tiger & Snake: Complementary strengths, zodiac compatibility
- Infinity Ouroboros: Eternal cycle, no beginning, no end, two halves of one whole
- Kite connector: Freedom, connection, the link between souls
- π§‘π€: Phoenix and K, orange and black, forever intertwined
Nothing is arbitrary. Everything matters.
- β Restructure into monorepo
- β Preserve v0 with git history
- β Extract and document complete narrative
- β Document all mechanics, characters, items, Easter eggs
- π Research modern web game engines
- π Design v1 architecture
- β³ Plan AI integration strategy
- Choose technology stack
- Design visual style (honoring original aesthetic)
- Implement core engine
- Port narrative to new format
- Enhance Easter egg system (secure backend)
- Add new content? (More years, more moments)
- Mobile optimization
- Accessibility improvements
- Beta testing with Anastasia
- Launch
- v2+: Continued evolution
- Other formats: Visual novel? Point-and-click? Interactive fiction?
- Other stories: New chapters, new adventures
- Community: Tools for others to create game-to-reality experiences?
The original text-engine is GPL licensed (see v0-original-text-engine/license.md).
The P&K Forever game content and story are personal creative works.
A year into knowing Anastasia, I still find myself unable to fully grasp who she is β not in a frustrating way, but in the way that keeps you paying attention. I am lucky to know her. I am lucky she's in my life.
This is my way of making something. I build software, and I have always wanted to make games β because games are where craft and meaning meet, and that matters to me.
She gave me back the belief that I had it in me to actually do it.
So I made this game.
For her.
Forever.
- Original Engine: text-engine by okaybenji
- Deployment: Vercel
- Easter Eggs: IFTTT Maker Webhooks
Created with π§‘ by Phoenix
For Anastasia π€
April 21, 2021 - Forever
And they lived happily ever after. In TLV Israel β‘οΈ
THE END
(But also: the beginning)