zayo.dev

>_ gonzalo molina

I'm a performance marketer who learned to ship software by building real products end-to-end.

Two iOS apps on the App Store. Two live websites. A 150-episode AI podcast. And the AI infrastructure that ships them all, built solo.

>_ projects

What I'm building

Milo: AI Quit-Smoking Buddy

A clinically-grounded iOS companion that meets people where they are, not where a habit tracker thinks they should be.

SwiftUIFirebaseVertex AIGeminiSuperwallNext.jsSanityPostHog
Milo iOS app intro screen
  • Available on the App Store
  • 3-phase SOS craving flow (Regulate / Relate / Reflect), clinically-designed, never uses shame language
  • 7-layer automated content pipeline: 51 clinically-verified articles published in two weeks
  • Clinical gate (CBT + Motivational Interviewing) on every article, every social asset
  • Competitive white space: Nicotine-specific + Active AI, alone in that quadrant
Read more

The feature I'm most proud of is the SOS craving flow. When a craving hits, Phase 1 grounds the user with breathing (mandatory for high-intensity cravings, because biology before morality). Phase 2 opens the toolbox, breathing, cold water, distraction, reasons, or talking to Milo. Phase 3 logs the outcome. A slip is data, not failure. That decision comes straight from CBT and Motivational Interviewing, and it runs through every line of copy in the app.

The bigger system behind Milo is the content pipeline. Sonnet writes drafts, Opus runs the quality gates, clinical verification, citation checks, voice consistency, 10 Sanity schema rules, the whole thing. Fifty-one articles in two weeks, every one passing the clinical gate. Not "ChatGPT writes a blog post." A real production pipeline with model routing discipline.

I mapped the competitive landscape on two axes: nicotine-specific vs. generic, and active AI vs. passive. Sunflower has 500K users but zero nicotine focus. Kwit has 14 years of content but zero AI. Smoke Free is a tracker. Milo sits alone in nicotine-specific + active AI. The content strategy targets the white space Sunflower left wide open.

Exploring Yoga: AI Podcast Ecosystem

A 150-episode AI podcast, a full website, and a SwiftUI app, all reading from the same knowledge graph.

SwiftUISupabasepgvectorNext.jsGeminiEdge FunctionsStoreKit 2
Exploring Yoga iOS app Listen tab
  • Available on the App Store
  • 150+ episodes, 2,000+ Spotify listeners
  • 887+ entities in a yoga knowledge graph
  • One 768-dim embedding index, two clients: website and iOS search both hit it
  • Closed loop: users brainstorm in the app, ideas enter the podcast pipeline automatically
Read more

The architectural decision I'm proudest of: the website and the iOS app share the exact same Supabase backend. Same tables, same Edge Functions, same embedding index. Schema changes ripple to both platforms by design. One source of truth, no data divergence.

The closed loop is the best part. The iOS app has a tab called CoCreate: users brainstorm yoga episode ideas with an AI teacher. The teacher detects when an idea has substance, surfaces a "Submit to Queue" button, and writes directly into the content_queue table that feeds the podcast pipeline. Scout picks the idea up, Curator approves it, Scriptwriter generates a source doc, Artist creates cover art, I upload to NotebookLM, publish to Spotify. Distribution clips feed Reddit and YouTube, performance metrics feed back into Scout's topic scoring. Users brainstorm, the podcast produces, distribution promotes, performance informs the next batch. The app feeds its own content engine.

The semantic search is a single 768-dimension HNSW index on pgvector, queried by both the Next.js site and the iOS app via the same Edge Function. Hybrid scoring with Reciprocal Rank Fusion combines vector similarity and full-text relevance. "Ancient wisdom for modern stress" returns the right episodes, not because the keywords match, but because the meaning does.

Claude Code VPS: AI Development Workspace

The workspace that builds the products. Persistent AI collaborator with encoded operational standards across every project.

Claude CodeNode.jsTelegram APIPM2CaddyDocker
  • Three-layer instruction hierarchy: zero ramp-up between sessions
  • Model routing discipline: Sonnet writes (~85% of tokens), Opus verifies (~15%, high ROI)
  • RUNBOOK pattern: operational knowledge encoded, not tribal
  • Remote command over Telegram, full project context on every session
  • Runs multiple production pipelines in parallel: content, podcast, intelligence
Read more

This is the workspace I'm most proud of, because it's the system that makes everything else shippable by one person. The core innovation is a three-layer instruction hierarchy: a root file that defines how I work with the AI, a workspace file that maps every project and how they relate, and per-project files with the technical specifics. Every session starts with the right context. Zero ramp-up, no repeated explanations, no drift between conversations.

The second piece is model routing discipline. Writing and procedural work runs on the faster model, maybe eighty-five percent of tokens. Judgment calls, verification, clinical review, and quality gates run on the stronger model. Five to fifteen percent of spend, but that's where the cost returns live. This isn't a theoretical optimization. It's how I keep one-person AI infrastructure economically viable.

The third piece is the RUNBOOK pattern, per-project operational files that encode exactly how to deploy, where credentials live, known failure modes, and what "done" means for each task type. Instead of tribal knowledge in my head, it's documented procedure the agent can follow. If I'm unavailable and someone else needs to operate the system, the runbooks are the manual.

The workspace supports five active project areas running in parallel: two iOS apps in production, two websites, two content pipelines, competitive intelligence, and this portfolio. Same agent, same standards, different contexts. This is what AI-native development actually looks like when you build it on purpose.

>_ career

Fifteen years, five chapters

  1. AVEA Life

    Performance Marketing Manager(2023-Present)

    Bringing the future of longevity within reach for everyday wellness

    Scaling multi-market growth across EU, US, and APAC through AI-driven performance strategies.

  2. Voicemod

    Head of Performance Marketing(2021-2023)

    Amplified digital conversations with cutting-edge AI voices & sounds

    Ran 360-degree acquisition across web and app, using performance data as a catalyst for growth across all marketing channels.

  3. Petits Mons

    Founder(2017-2020)

    Entrepreneurship is a journey for self discovery

    Flower shop and art gallery in Barcelona.

  4. Wallapop

    Performance Marketing Lead(2016-2021)

    Made secondhand the first choice with a smart & simple mobile marketplace

    Employee #38. Built SOTA attribution system. Led Series B growth: $3M invested -> $40M raised. Scaled to 5M users across EU/US.

  5. Agencies

    Starcom, IMS/Netflix, Desigual(2011-2016)

    Performance marketing foundations across enterprise clients.

>_ about

The person behind the projects

Based in Barcelona. +15 years in performance marketing: Starcom, IMS/Netflix, Desigual, then Wallapop as employee #38 then head of performance at Voicemod. Along the way I built attribution systems, scaled Series B growth, ran a flower shop.

The flower shop wasn't a metaphor. I'm a gardener at heart before I'm a builder. After Wallapop I spent three years running Petits Mons, a flower shop and art gallery in Barcelona. I closed it in 2020 to come back to software, but if you ask me what I love as much as shipping a product, the honest answer is planting things and watching them grow.

Outside work: daily yoga practice, weekend marathons pushing wheelchairs with Corre Amb Mi, volunteering with organizations that feed homeless neighbors, and taking care of my garden. The wheelchair running is the thing. It reframed resilience and selflessness for me in a way nothing else has and it's probably the reason I can keep shipping AI products solo at this pace.

Now I ship AI products solo, and I try to ship meaningful ones. Milo exists because quitting smoking is genuinely hard and most apps don't take the clinical side seriously. Exploring Yoga started as a podcast two years ago because I wanted yoga philosophy content that wasn't fitness-flavored. Neither idea is original. That's fine. Execution beats originality when the execution is honest.

Languages: Spanish (native) / English (C2)

>_ contact

Say hi

Hiring, collaborating, or just want to talk about building AI products solo, leave a note and I'll reply.