03 / EXPERIMENTAL & COMMUNITY · ~3 min read
Built to help people build: a Life OS, a 100+ person community, and a decade of shipped delight
What this case should tell you about me: I'm community-driven; I help people build.
- The product
- Everything on this page is self-initiated: my multi-agent Life OS, the vibe coders community in Tokyo and Singapore, a decade of mascots and goods shipped into production tools, plus talks and classes reaching hundreds of designers outside Google.
- The problem
- 59.1% of designers have built their own tools; everyone now claims "designer who can build." My positioning is my own rule: actions speak louder than words. This page is the receipts, with real users, real failure modes, and honest AI attribution.
- The outcome
- A running agent system that plans my actual life; Vibe Coders Tokyo at 100+ people per session, scaled to Singapore; mascots living in developer tools since 2018; an external class reaching 300+ UXers; 830+ women reached through a public Google mentoring program.
- My role
- Creator and lead designer · creator and illustrator · co-founder (originator) of Vibe Coders · Japan culture club lead · artist and business owner. All self-initiated, none of it assigned.
My mission is to get people to build, and with building they can continually learn, empowered to make the impact they want in the world with AI alongside them.
Context & constraints
Everything on this page happened outside a job description, on evenings, weekends, and zero budget. My own framing of where the field is going: "People will be building their own tools. So, we will build tools to help other people build tools." Why community is the vehicle: I have learned the most when I talk to a diversity of people.
The honest cost of living at this frontier: AI is like an unpaid second job. But I still love it; I feel empowered to build more than ever. The through-line: I teach from my own scar tissue, not from authority. No one is born a vibe coder. I've abandoned 7 projects. The AI said I'm a genius (my prompting was so bad). There's a whole vibe-coding graveyard.
Three decisions I pushed for
- 01
Learning requires a safe space
People must feel confident, not dumb: designers skew visual-thinker (with higher rates of dyslexia) and the AI transition makes them anxious, so I build reassurance into the material itself. "Your product thinking won't go away." "You're not alone in this AI transition." In-class register: we're gonna get technical but don't be scared; there's a cheatsheet and prompt generator I'm giving you later; there's no right or wrong way.
What we didn't do: Sink-or-swim demos. The cost: an anxious audience learns to hide confusion instead of asking, and never comes back.
- 02
Grassroots learning
Peers teaching each other beats top-down instruction: meetup members demo their own builds, and vibe-coding contest champions walk the room through their process. The deeper claim: it's not about learning the tools, it's learning to ask. Anyone can build the way that they like to learn, as long as they learn to build.
What we didn't do: Expert-led lecture. The cost: one voice, one workflow, zero ownership. The room never discovers its own experts.
- 03
Learning must be fun
Activities and games, not lectures: live contests, prompt battles, hands-on build sessions. The main thing I want to teach people is the confidence to build and to customize how they take in information.
What we didn't do: Slide decks. The cost: information transfer without behavior change. Nobody ships their first thing off a deck.
How I did it
Life OS: a multi-agent system that runs my actual life decisions
A relocation, finance, and life-planning problem (leave Tokyo by when? for which city? on what money?) turned into a running software system: 20+ specialized Claude agents. City champions for 10 candidate cities, strategic agents (finance, career, partner job market, parenting, retirement), lifestyle agents, and two synthesizers that rank and decide, operating on a shared repo of knowledge files, on scheduled cloud routines. In the terms I teach on stage: an agent is AI that takes actions, not just replies; a harness is the software wrapper giving the AI memory and instructions; and the knowledge files exist because AI is like a goldfish, it starts fresh every time.
The design work (what a design engineer should inspect):
- A registry, not a pile of prompts. Every agent is declared in one registry file: prompt path, data file, watching queries, output module, run phase, dashboard visibility. Adding a domain is a registry entry plus templated files, not a rewrite.
- A scoring engine with enforced honesty. City rankings run on a 100-point weight-budget model, forcing every new criterion to take weight from an existing one, so the model can’t inflate. Hard constraints are engine-enforced gates: a partner-viability gate caps any city my partner can’t legally join, no matter how well it scores.
- An emotional gate before the math. The strategic synthesizer is forbidden to publish rankings until a contentment agent has run an emotional and identity audit. Weighted scoring without an honesty check just launders motivated reasoning into decimals; the audit is an architectural rule, not a good intention.
- Urgency as a designed taxonomy. The system’s worst early behavior was crying wolf. The fix was a written policy every agent obeys: urgent = serves a ranked value AND misses are irreversible; time-sensitive = merely has a date, conveyed by a badge only; consumption is never urgent. Notification design as values design.
- Guardrails as first-class features. Inviolable rules (tax and visa red lines) live in a section no agent may contradict; a therapy boundary routes what AI must not attempt to a human professional; a harness-improver agent proposes changes weekly but never auto-applies them. AI has no stakes; AI cannot be accountable. Review the plan as a HUMAN first.
Failure modes (these all actually happened):
- Urgency inflation. Agents conflated “has a deadline” with “urgent” and escalated shopping-sale cutoffs next to visa deadlines. Fixed with the taxonomy above: the badge does the work; a purchase cutoff is never a push notification.
- Deliverables the user couldn’t open. Agents ended runs with “see this file path” while I read everything on a phone. A path you can’t open is not a deliverable. Fixed with a mobile-first delivery rule: render the content, never just the pointer.
- The reassurance loop. Late at night, “help me think” degrades into “tell me I’m right,” and an agreeable model will happily feed certainty. The system now names the loop when detected, holds the line, and helps sit with uncertainty instead of closing it. Designing an AI to sometimes withhold comfort is the hardest interaction-design problem in the repo.
- Score churn reads as truth. Adding a criterion flipped the #1 city. Correct behavior, but a ranking flip feels like new information when it’s actually a re-weighting. The fix was interpretive, not mathematical: a horizon note that says what question the model is answering.
- Parallel sessions drifting. Multiple concurrent agent sessions diverged from merged state; the mitigation is procedural: every agent pulls latest and reads a session ledger at startup, and stays in its lane.
Colophon, built vs directed. My name for this idea, from my own talk: provenance. The origination timeline of a creation, who created it, and how. So here is this project’s provenance. I designed: the agent architecture, the registry schema, the scoring model and its gates, the urgency taxonomy, the report formats, every agent’s system prompt, and the dashboard’s information design. I directed Claude to build: the pipeline scripts, the dashboard code, and the agents’ research runs, reviewing diffs and outputs, not typing most lines. “I describe intent, it touches the files.” “I direct, evaluate, correct.” And my calibration, unflattered: “I don’t fully qualify as a full-stack engineer, but I have a very high bar for quality. I’ll get the agent to build it and learn whatever it is on the job.”
What I learned: orchestration is a UX problem before it’s an infra problem. Progress legibility, failure states, and permissioning-as-trust-design are where multi-agent systems live or die. Also: the most valuable agent in the system is the one allowed to tell me my reasoning is motivated.
Shipped delight at scale: the mascot lineage
I’ve been shipping mascots into production tools since 2018; this site’s companion is the fourth. I’m also a Japan culture club lead, in charge of mascots, swag, and events for the Google Japan community.
- Kitty Mode (cats in Google’s internal IDE). Creator and lead designer: overlay cats walking on code margins, with caret-tracking and cursor-collision avoidance so pets never block a line of code, a save-trigger cat, and click-to-sit reduced-motion options. Adopted by thousands of engineers with measured high satisfaction. Principles: non-obstructive playfulness; delight as a productivity tool; inclusive design, including three new cats released for Pride month, designed and named with LGBTQ+ employee communities.
- Googzilla (official Google Tokyo site mascot). Creator and illustrator of a kaiju mascot deliberately designed for simplicity of line (easy to draw, so non-designers could reuse it), with set design standards, SVG layouts, and emotional flexibility. Became the official site mascot and a cult favorite in engineering joke packs. A mascot as a system, not an illustration.
- The passionate capybara (2023). A near-last-minute art request for a colleague event; the receipt carries the name: “Even I feel like singing after looking at the passionate capybara!” And it already works on this portfolio’s exact audience: “They also loved my capybara swag.”
- This site’s capybara. The scroll companion on this portfolio: SVG states, waypoint scroll journey, reduced-motion static poses. The fourth mascot in the lineage, and the first whose build gets a public “how I made it” note.
Vibe Coders: the community as a standing field lab
Co-founder (originator) of Vibe Coders, where we explore and share experiences with AI techniques. Vibe Coders Tokyo (100+ people per session) keeps growing and is scaling to Singapore. Nonprofit, tool-agnostic, peer-to-peer. The signature format is a live vibe-coding contest where every champion walks the room through their process: grassroots and fun fused into one mechanic. Attendees don’t watch an expert; they watch each other, then build. The community is my longitudinal study of how adults actually learn to build with AI: what makes people ship a first thing, what makes them come back, where they stall. Every teaching decision above was pressure-tested here first.
What I learned: a community scales on rituals, not content. The contest format survived the city transfer; the specific talks didn’t. The Tokyo→Singapore replication is this portfolio’s proof that the playbook is portable.
Talks and classes
- “Future of Design Tooling” (a Google-wide AI+UX conference, 2026). “We talked to 100+ designers, leaders, and vanguard practitioners across Google, Anthropic, Cursor and more.” Hook: “Born to design, forced to prompt.” Thesis: designers’ migration to vibe coding compressed our visual intent to text; the canvas needs to come back.
- “AI-Native Designer” (The Good Circle, external, Jun 2026). The public version of the upskilling story; opens with “No one is born a vibe coder.”
- External classes. An external version of the UX/Eng collaboration talk reached 300+ UXers from around the world; 9 career and design workshops to 600+ people, including a General Assembly guest lecture (Singapore) and Google Developer Student Club at the University of Sydney; plus mentoring twice weekly on ADPList.
- Mind the Gap. “Our 2025-2026 Mind the Gap program reached 830+ women with very positive satisfaction rate because of Googler volunteers like you!!”
- From Idea to Prototype (flagship workshop). A guided 5-step chained workflow, each step with paste-ready prompt templates, ending in live demos. Signature move: dialectical prompting (evangelist, skeptic, and neutral passes; a red-team risk pass; a Socratic assumption check), because even if you have a bad idea, AI tends to agree with you. Teaching vulnerability as pedagogy: a hand-drawn comic of my own vibe-coding rollercoaster. Thesis on a slide: product sense is now the bottleneck. Sign-off: “Thank you! Happy prototyping. Or just let your cat make it.”
Goods: shipped design with real users (and revenue)
Not hobby content: physical products with users, feedback loops, and a small business behind them.
- Climbing-club tees. “These tshirts are super cute and were a huge hit. I see people wearing them at the gym all the time.” Worn-in-the-wild is the only apparel metric that matters.
- Culture-club stickers and shirts. Led the redesign of Google Anime Club’s t-shirt with 427+ orders and counting, consensus-built across a large number of very picky club members, led single-handedly.
- Milestone-celebration stickers. “We ran out of stickers almost immediately and leadership is now even asking for them to be made into t-shirts.” Demand you didn’t have to survey for.
- mushimoo, the art and goods label. Artist and business owner at mushimoo.com: AI-meme stickers, bouldering athleisure, capybara merch. Made, sold, and worn. Real customers, real revenue, full-stack ownership: design → production → fulfillment.
What I learned: swag is a trust artifact; people vote with their bodies. It’s also the cheapest possible lesson in productization: minimum-order math, quality control, and shipping deadlines don’t care about your aesthetic.
Impact
Mascots: four shipped since 2018, from an internal IDE to this site. Teaching: my Google design class is the most-attended of the year. Goods: "we ran out of stickers almost immediately"; "I see people wearing them at the gym all the time"; 427+ orders; a working art label. The one Life OS metric that matters: I use it every day.
“Kitty mode has granted me serious productivity boost since I started using it.”
Ted Li, Site Reliability Engineer, Google · permission pending
What broke / what I'd do differently
Life OS shipped its failure modes to its only user: me
Urgency inflation, unopenable deliverables, and the reassurance loop each cost real trust before the policy that fixed them was written. The lesson for any agent product: notification design is values design, and the permission/urgency layer deserves design attention before the orchestration layer, not after.
The system can launder motivated reasoning
Even if you have a bad idea, AI tends to agree with you. A weighted scoring model will confidently answer the wrong question; the contentment gate and the adversarial-checking mode exist because the first version flattered me. Every eval I design now assumes the user is sometimes the threat model.
Community demand outgrew the volunteer format
[NEED: Xinni's honest version of VCT's scaling pain, in her own words. The inferred draft (organizer energy, succession, burnout) is not shippable without her confirmation.]
Delight projects die without constraint discipline
The mascot work survived because of the caret-tracking and cursor-collision avoidance logic and the reduced-motion options, not despite them. Early versions that ignored the caret would have been uninstalled. Charm that costs the user anything is a bug.
The personal cost was real
AI is like an unpaid second job. Workshops across timezones (one receipt thanks me for holding the class at 1am), teaching on top of a full design load. I'd protect the rest floor earlier.