Inspiration

Some days you just need someone to tell you it's okay to try again. That idea felt personal to me. I wanted to build something gentle for hard days. Kind Tides is inspired by the glossy, nature-loving optimism of Frutiger Aero, the faded colors of 70s photographs, and calm underwater worlds.

What it does

Kind Tides is an iMessage agent you can text when you're stressed, stuck, or having a rough day. It texts back a short, warm "tide report" ("The currents get heavy sometimes, but the tide always turns") with one small nudge to reconnect with nature: open a window, look at the sky, refill a water bottle instead of buying one.

Every message also opens a treasure chest in the Reef View, a living underwater website with a pearly parrot fish, a school of guppies, swaying anemones and corals, and stones engraved with kind words. The message floats up from the chest, so the reef fills with kindness people have shared (phone numbers are never shown).

💙 Safety: If a message mentions self-harm or suicide, the reef skips the AI and replies with a caring message pointing to the 988 Suicide & Crisis Lifeline. The AI itself is also instructed to do the same if it notices someone is struggling.

How we built it

  • Photon Spectrum: gives the agent a real iMessage line, with typing indicators while the reef "think.s"
  • Google Gemini: writes each reply, guided by a custom "reef" personality, and the agent remembers the last few messages per person.
  • Node.js: runs the agent and a small server that streams new messages to the website.
  • HTML5 Canvas: draws the reef, including fish with 3D-style shading and natural swimming (smooth turns, tail beats that speed up, loose schooling), and a treasure chest built with real 3D projection so the lid swings open on its hinge.
  • Web Audio API: composes original ambient music live in the browser: soft chords, marimba plinks, bubble pops, and a chime when the chest opens. No recordings, no copyright.
  • Frutiger Aero + retro styling: glossy glass panels and bubbles over a faded 70s film palette with grain.
  • Hosted on Netlify at kindtides.tech

I came up with the concept and art direction, made the design decisions, set up and connected Photon, Gemini, Netlify and the domain, and tested everything live. I used Anthropic as an AI pair programmer for writing and debugging code.

Challenges we ran into

  • Connecting multiple services: Setting up API keys and linking Photon (iMessage), Google Gemini, a local Node.js server, and the website so a single text flows through every piece took careful setup and testing at each step. -Model compatibility:The Gemini model I started with was no longer available to new users, which then I migrated to a newer model. Its responses included internal reasoning before the final answer, which cut replies short. I filtered out the reasoning and added fallback messages so the reef always responds.
  • 3D rendering: The treasure chest initially rendered upside-down with the lid opening forward, which required correcting the camera projection math.
  • Deployment: Publishing the site, configuring hosting, and connecting a custom domain for the first time.

Accomplishments that we're proud of

I'm really proud of the final product. Coming up with the whole concept took time: blending a kind iMessage friend, a living underwater reef, and the Frutiger Aero look into one experience. Most of all, I'm proud I finished a complete, working project, from the idea all the way to a real phone number anyone can text and a live website.

What we learned

Almost everything here was new to me: working with APIs and keeping keys safe, running an agent from the terminal, connecting iMessage, AI, a server, and a website together, deploying a site, and setting up a custom domain. I also learned how much effort goes into the small details (a snail crawling, a chime, a bubble) that make something feel cared for, and how to direct an AI coding assistant to help bring a design vision to life.

What's next for Kind Tides

I hope more people get to try Kind Tides and text the reef on their hard days. Next, I'd love to add gentle morning tide reports, voice-note replies, and a way for friends to send kindness to each other through the reef. I think there's a bigger future for little Kind Tides. 🫧

Built With

Share this project:

Updates

Submission history