[{"data":1,"prerenderedAt":1051},["ShallowReactive",2],{"work-list":3},[4,65,159,217,258,299,339,382,423,478,520,561,605,645,687,728,768,808,847,889,930,971,1011],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"icon":11,"screenshot":12,"url":13,"date":14,"status":15,"roles":16,"stack":20,"body":24,"_type":59,"_id":60,"_source":61,"_file":62,"_stem":63,"_extension":64},"/work/milaila","work",false,"","Milaila Capote","Cuban dance master — booking site","/img/projects/milaila-icon.png","/img/projects/milaila.png","https://milailacapote.com","2026-06-15","launched",[17,18,19],"Code","Design","For clients",[21,22,23],"Nextjs","TailwindCSS","Vercel",{"type":25,"children":26,"toc":56},"root",[27,35,46],{"type":28,"tag":29,"props":30,"children":31},"element","p",{},[32],{"type":33,"value":34},"text","Milaila Capote is the portfolio and booking website for a professional Cuban dance master trained at Havana's ENA and ISA. The site presents her background, the styles she teaches — Salsa, Son, Rumba, Rueda de Casino, and Cuban Folklore — and gives event organizers a direct way to book her for festivals and workshops.",{"type":28,"tag":29,"props":36,"children":37},{},[38,44],{"type":28,"tag":39,"props":40,"children":41},"strong",{},[42],{"type":33,"value":43},"Problem:",{"type":33,"value":45}," A touring dance instructor needs a single professional home online — somewhere that establishes credibility, explains what she teaches, and lets organizers reach out to book, instead of relying on scattered social media profiles.",{"type":28,"tag":29,"props":47,"children":48},{},[49,54],{"type":28,"tag":39,"props":50,"children":51},{},[52],{"type":33,"value":53},"Solution:",{"type":33,"value":55}," A multilingual one-page site with a bold hero, an about section, per-style descriptions, testimonials, and a contact form for booking inquiries. Clean, mobile-first, and fast — built to turn a festival organizer's visit into a workshop booking.",{"title":8,"searchDepth":57,"depth":57,"links":58},4,[],"markdown","content:work:milaila.md","content","work/milaila.md","work/milaila","md",{"_path":66,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":67,"description":68,"screenshot":69,"icon":70,"url":71,"date":72,"status":73,"roles":74,"stack":77,"body":83,"_type":59,"_id":156,"_source":61,"_file":157,"_stem":158,"_extension":64},"/work/ikigai-team","Ikigai Team","A 6-agent AI system that runs my portfolio on autopilot","/img/projects/ikigai-team.png","/img/projects/ikigai-team-icon.png","https://ikigai.razbakov.com","2026-06-05","in progress",[17,75,76],"Concept","AI",[78,79,80,81,82],"Claude","Claude Code","Markdown","GitHub","Telegram",{"type":25,"children":84,"toc":154},[85,90,99,108,125,130],{"type":28,"tag":29,"props":86,"children":87},{},[88],{"type":33,"value":89},"Ikigai Team is a personal AI operating system — six AI agents that run my entire project portfolio on autopilot. Each agent owns a domain: a Chief of Staff (ops and daily reviews), a CTO (code and infrastructure), Content & Growth, Strategy & Business, a Personal Coach, and Community & Partnerships. Together they handle the day-to-day so I can focus on the few decisions that actually need me.",{"type":28,"tag":29,"props":91,"children":92},{},[93,97],{"type":28,"tag":39,"props":94,"children":95},{},[96],{"type":33,"value":43},{"type":33,"value":98}," Running a portfolio of projects solo means drowning in operational overhead — daily reviews, inbox triage, content, deployments, follow-ups. The work that matters gets buried under the work that just has to happen.",{"type":28,"tag":29,"props":100,"children":101},{},[102,106],{"type":28,"tag":39,"props":103,"children":104},{},[105],{"type":33,"value":53},{"type":33,"value":107}," A team of AI agents with clear roles, sociocracy-style decision authority, and default-consent protocols. They wake on their own schedules, scan their domains, act inside their authority, and surface only what needs a human. State lives in plain markdown in the repo — visible and versioned, not hidden in agent memory.",{"type":28,"tag":29,"props":109,"children":110},{},[111,116,118,123],{"type":28,"tag":39,"props":112,"children":113},{},[114],{"type":33,"value":115},"Proof:",{"type":33,"value":117}," In June 2026 the system hit its first milestone — ",{"type":28,"tag":39,"props":119,"children":120},{},[121],{"type":33,"value":122},"seven consecutive days with zero portfolio decisions by me",{"type":33,"value":124},". Across that week it ran automated sessions daily, auto-healed infrastructure incidents, published multilingual content, synced events, and processed inboxes without human intervention. The autopilot model, proven.",{"type":28,"tag":29,"props":126,"children":127},{},[128],{"type":33,"value":129},"It's the proof-of-concept for what I think personal intelligence should be: not a chatbot you talk to, but a team that runs your life's work while you stay out of the way. The framework is open-source — anyone can adopt it, swap in their own goals and projects, and inherit the same agent team, cadence, and governance.",{"type":28,"tag":29,"props":131,"children":132},{},[133,135,143,145,152],{"type":33,"value":134},"Live at ",{"type":28,"tag":136,"props":137,"children":140},"a",{"href":71,"rel":138},[139],"nofollow",[141],{"type":33,"value":142},"ikigai.razbakov.com",{"type":33,"value":144},". Open-source at ",{"type":28,"tag":136,"props":146,"children":149},{"href":147,"rel":148},"https://github.com/razbakov/ikigai-team",[139],[150],{"type":33,"value":151},"github.com/razbakov/ikigai-team",{"type":33,"value":153},".",{"title":8,"searchDepth":57,"depth":57,"links":155},[],"content:work:ikigai-team.md","work/ikigai-team.md","work/ikigai-team",{"_path":160,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":161,"description":162,"icon":163,"screenshot":164,"date":165,"status":166,"roles":167,"stack":168,"body":173,"_type":59,"_id":214,"_source":61,"_file":215,"_stem":216,"_extension":64},"/work/loci","Loci","A dual-register second brain for iPhone & Vision Pro","/img/projects/loci-icon.png","/img/projects/loci.png","2026-03-01","concept",[75,17],[169,170,171,172],"Swift","visionOS","Foundation Models","App Intents",{"type":25,"children":174,"toc":212},[175,194,203],{"type":28,"tag":29,"props":176,"children":177},{},[178,180,185,187,192],{"type":33,"value":179},"Loci is a private, on-device \"second brain\" for iPhone and Apple Vision Pro that holds your life in two registers at once: the ",{"type":28,"tag":39,"props":181,"children":182},{},[183],{"type":33,"value":184},"empirical",{"type":33,"value":186}," — what your own data actually says — and the ",{"type":28,"tag":39,"props":188,"children":189},{},[190],{"type":33,"value":191},"imaginal",{"type":33,"value":193}," — the recurring image, the archetype, the memory bound to a place. Built natively on Apple's 2026 stack: the Foundation Models framework, App Intents, and visionOS spatial anchors.",{"type":28,"tag":29,"props":195,"children":196},{},[197,201],{"type":28,"tag":39,"props":198,"children":199},{},[200],{"type":33,"value":43},{"type":33,"value":202}," Note apps flatten everything into searchable lists that only capture the literal. But a life isn't only facts — it's also the images, patterns, and meanings that recur, and the memories tied to the places you move through. Tools that see only one register miss half of what matters.",{"type":28,"tag":29,"props":204,"children":205},{},[206,210],{"type":28,"tag":39,"props":207,"children":208},{},[209],{"type":33,"value":53},{"type":33,"value":211}," An app that runs both registers side by side — the empirical read of your own data and the imaginal read of your symbols and places — with intelligence on-device via Apple's Foundation Models framework and thoughts anchored to real space through visionOS. Everything stays private on the device.",{"title":8,"searchDepth":57,"depth":57,"links":213},[],"content:work:loci.md","work/loci.md","work/loci",{"_path":218,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":219,"description":220,"icon":221,"screenshot":222,"date":223,"status":15,"roles":224,"stack":225,"body":228,"_type":59,"_id":255,"_source":61,"_file":256,"_stem":257,"_extension":64},"/work/asere","Asere Que Bola","Cuban catering & foodtruck in Munich","/img/projects/asere-icon.png","/img/projects/asere.png","2025-09-01",[17,18,19],[226,227,22],"Nuxtjs","shadcn-vue",{"type":25,"children":229,"toc":253},[230,235,244],{"type":28,"tag":29,"props":231,"children":232},{},[233],{"type":33,"value":234},"Asere Que Bola is a Cuban catering and foodtruck business in Munich, serving authentic Cuban streetfood for weddings, birthdays, and business events. I designed and built its website so the client could present the brand and take catering enquiries in one place.",{"type":28,"tag":29,"props":236,"children":237},{},[238,242],{"type":28,"tag":39,"props":239,"children":240},{},[241],{"type":33,"value":43},{"type":33,"value":243}," Catering options for a private feast or a company event are scattered across social media pages, review sites, and word of mouth. A small foodtruck business had no clean, bookable web presence to show its menu, explain its catering packages, and turn interest into enquiries.",{"type":28,"tag":29,"props":245,"children":246},{},[247,251],{"type":28,"tag":39,"props":248,"children":249},{},[250],{"type":33,"value":53},{"type":33,"value":252}," A video-hero Nuxt site that puts the food front and centre — a menu of Cuban dishes, catering packages for private and business events, upcoming foodtruck dates, and a clear \"request a quote\" call to action. Built with shadcn-vue and TailwindCSS for a warm, modern look that carries the Caribbean feel while staying fast and easy for the client to maintain.",{"title":8,"searchDepth":57,"depth":57,"links":254},[],"content:work:asere.md","work/asere.md","work/asere",{"_path":259,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":260,"description":261,"icon":262,"screenshot":263,"url":264,"date":265,"status":166,"roles":266,"stack":267,"body":269,"_type":59,"_id":296,"_source":61,"_file":297,"_stem":298,"_extension":64},"/work/corazon-cubano","Corazón Cubano","Umbrella initiative for Cuban culture in Munich","/img/projects/corazon-cubano-icon.png","/img/projects/corazon-cubano.png","https://corazoncubano.de","2025-05-20",[75],[268],"Netlify",{"type":25,"children":270,"toc":294},[271,276,285],{"type":28,"tag":29,"props":272,"children":273},{},[274],{"type":33,"value":275},"Corazón Cubano is the umbrella initiative for Cuban culture in Munich — billed as \"Europe's refuge for Cuban culture,\" the counter-week to the city's Oktoberfest image. It ties together three pillars: the Agua Pichi festival every July, a year-round Cuban bar and venue, and ongoing community activities like monthly socials and language exchange, carried by an association (e.V.) in formation.",{"type":28,"tag":29,"props":277,"children":278},{},[279,283],{"type":28,"tag":39,"props":280,"children":281},{},[282],{"type":33,"value":43},{"type":33,"value":284}," Cuban cultural activity in Munich happens through separate schools, events, and informal groups. There's no shared identity or organizing body that ties them together or gives the community a face.",{"type":28,"tag":29,"props":286,"children":287},{},[288,292],{"type":28,"tag":39,"props":289,"children":290},{},[291],{"type":33,"value":53},{"type":33,"value":293}," An umbrella brand and future e.V. that gathers Cuban cultural initiatives under one roof, with a commitment to give back to Cuban music schools and teachers on the island. The website is the starting point — communicating the vision, the three pillars, and the path toward a formal association that can host events and represent the community.",{"title":8,"searchDepth":57,"depth":57,"links":295},[],"content:work:corazon-cubano.md","work/corazon-cubano.md","work/corazon-cubano",{"_path":300,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":301,"description":302,"icon":303,"screenshot":304,"url":305,"date":306,"status":73,"roles":307,"stack":308,"body":309,"_type":59,"_id":336,"_source":61,"_file":337,"_stem":338,"_extension":64},"/work/agua-pichi","Agua Pichi","Cuban music & dance festival in Munich","/img/projects/agua-pichi-icon.png","/img/projects/agua-pichi.png","https://aguapichi.com","2025-05-15",[75],[268],{"type":25,"children":310,"toc":334},[311,316,325],{"type":28,"tag":29,"props":312,"children":313},{},[314],{"type":33,"value":315},"Agua Pichi is Munich's Cuban festival — \"roots & revolution, every July.\" The first edition runs 1–4 July 2027: established Cuban orchestras headline, while emerging Cuban teachers run the workshops the rest of the weekend. It's the festival that aims to find the next generation of Cuban dance before the European circuit does.",{"type":28,"tag":29,"props":317,"children":318},{},[319,323],{"type":28,"tag":39,"props":320,"children":321},{},[322],{"type":33,"value":43},{"type":33,"value":324}," Munich has a lively Latin-dance scene, but no dedicated festival that brings authentic Cuban music, dance, and community together as a single flagship event — and the newest Cuban teachers stay invisible to European audiences.",{"type":28,"tag":29,"props":326,"children":327},{},[328,332],{"type":28,"tag":39,"props":329,"children":330},{},[331],{"type":33,"value":53},{"type":33,"value":333}," An annual festival built around Cuban culture — orchestra headliners, experimental workshops, and social dancing — that pairs the artists who built the tradition with the ones defining its future. The website is the early home for the concept, the dates, and audience-building ahead of the 2027 edition.",{"title":8,"searchDepth":57,"depth":57,"links":335},[],"content:work:agua-pichi.md","work/agua-pichi.md","work/agua-pichi",{"_path":340,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":341,"description":342,"icon":343,"screenshot":344,"url":345,"date":346,"status":73,"roles":347,"stack":348,"body":352,"_type":59,"_id":379,"_source":61,"_file":380,"_stem":381,"_extension":64},"/work/butler","Butler","Gives AI agents a voice to call you for decisions","https://butler.razbakov.com/butler-icon.png?v=2","/img/projects/butler.png","https://butler.razbakov.com","2025-05-01",[17,76,75],[349,350,351],"Bun","OpenAI Realtime","TypeScript",{"type":25,"children":353,"toc":377},[354,359,368],{"type":28,"tag":29,"props":355,"children":356},{},[357],{"type":33,"value":358},"Butler gives your AI agents a voice. When an agent hits a decision it can't make alone, it schedules a call — you click a link, talk it through, and the agent captures your answer. It keeps the human in the loop without keeping the human at a desk.",{"type":28,"tag":29,"props":360,"children":361},{},[362,366],{"type":28,"tag":39,"props":363,"children":364},{},[365],{"type":33,"value":43},{"type":33,"value":367}," AI agents get stuck the moment they need a human decision. Messages sit unread in a chat, work stalls, and the only way to unblock it is to be at a keyboard watching for pings.",{"type":28,"tag":29,"props":369,"children":370},{},[371,375],{"type":28,"tag":39,"props":372,"children":373},{},[374],{"type":33,"value":53},{"type":33,"value":376}," A voice platform where every workflow that needs a human decision routes through a structured, recorded call. The agent schedules it, you join from a browser link — no app to install — talk it through, and Butler captures a structured answer the agent can act on. Human judgment, hands-free.",{"title":8,"searchDepth":57,"depth":57,"links":378},[],"content:work:butler.md","work/butler.md","work/butler",{"_path":383,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":384,"description":385,"icon":386,"screenshot":387,"url":388,"date":389,"status":73,"roles":390,"stack":391,"body":393,"_type":59,"_id":420,"_source":61,"_file":421,"_stem":422,"_extension":64},"/work/concierge","Concierge","A voice AI concierge that guides website visitors","/img/projects/concierge-icon.png","/img/projects/concierge.png","https://concierge.razbakov.com","2025-04-01",[17,76,75],[392,22,78],"Nuxt",{"type":25,"children":394,"toc":418},[395,400,409],{"type":28,"tag":29,"props":396,"children":397},{},[398],{"type":33,"value":399},"Concierge replaces the \"call me\" button with a voice AI guide that walks website visitors through a site in real time. A visitor scans a QR code, a voice call starts in the browser, and an AI agent navigates the site for them — like having a 24/7 concierge at the door.",{"type":28,"tag":29,"props":401,"children":402},{},[403,407],{"type":28,"tag":39,"props":404,"children":405},{},[406],{"type":33,"value":43},{"type":33,"value":408}," Website visitors land, get lost, and leave. Contact forms and \"call me\" buttons put the work back on the visitor, and there's rarely a human available the moment someone actually has a question.",{"type":28,"tag":29,"props":410,"children":411},{},[412,416],{"type":28,"tag":39,"props":413,"children":414},{},[415],{"type":33,"value":53},{"type":33,"value":417}," A drop-in JavaScript snippet turns any site into a guided experience. Visitors scan a QR code or click through to a voice call — no app to install — and an AI agent with awareness of the site navigates it on their behalf, answering questions and taking them where they need to go.",{"title":8,"searchDepth":57,"depth":57,"links":419},[],"content:work:concierge.md","work/concierge.md","work/concierge",{"_path":424,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":425,"description":426,"icon":427,"screenshot":428,"url":429,"date":430,"status":166,"roles":431,"stack":432,"body":433,"_type":59,"_id":475,"_source":61,"_file":476,"_stem":477,"_extension":64},"/work/agora","Agora","Liquid democracy and collective governance","/img/projects/agora-icon.png","/img/projects/agora.png","https://agora.razbakov.com","2025-03-01",[75],[392,22],{"type":25,"children":434,"toc":473},[435,440,449],{"type":28,"tag":29,"props":436,"children":437},{},[438],{"type":33,"value":439},"Agora is an experiment in governance for the age of AI — a three-layer model where machines handle logistics, people you trust set direction, and a personal AI keeps it all aligned with what you actually care about.",{"type":28,"tag":29,"props":441,"children":442},{},[443,447],{"type":28,"tag":39,"props":444,"children":445},{},[446],{"type":33,"value":43},{"type":33,"value":448}," Traditional voting forces a choice between direct democracy (everyone votes on everything, which doesn't scale) and representative democracy (you delegate everything to one person for years). Even with better systems, participation is the bottleneck — nobody has time for hundreds of decisions a year.",{"type":28,"tag":29,"props":450,"children":451},{},[452,456,458,464,466,471],{"type":28,"tag":39,"props":453,"children":454},{},[455],{"type":33,"value":53},{"type":33,"value":457}," Three layers, each handled by the system that does it best. Machines manage measurable logistics — the ",{"type":28,"tag":459,"props":460,"children":461},"em",{},[462],{"type":33,"value":463},"how",{"type":33,"value":465},". You vote directly on the issues you care about and delegate the rest to people you trust, per topic and revocable at any time — the ",{"type":28,"tag":459,"props":467,"children":468},{},[469],{"type":33,"value":470},"what",{"type":33,"value":472},". And a personal AI team, which learns your values through conversation rather than configuration, participates on your behalf when you're busy — with you able to override everything, always. All open source, because you can't trust closed code with governance.",{"title":8,"searchDepth":57,"depth":57,"links":474},[],"content:work:agora.md","work/agora.md","work/agora",{"_path":479,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":480,"description":481,"screenshot":482,"icon":483,"url":484,"date":485,"status":73,"roles":486,"stack":487,"body":490,"_type":59,"_id":517,"_source":61,"_file":518,"_stem":519,"_extension":64},"/work/skill-mix","Skill Mix","Discover, install, and manage AI agent skills","/img/projects/skill-mix.png","/img/projects/skill-mix-icon.png","https://github.com/razbakov/skill-mix","2025-02-21",[17,75,76],[488,489,22,351],"Electron","Vue",{"type":25,"children":491,"toc":515},[492,497,506],{"type":28,"tag":29,"props":493,"children":494},{},[495],{"type":33,"value":496},"Skill Mix is a management layer for AI agent skills — discover, install, scope, rate, and update skills across Cursor, Codex, and Claude Code.",{"type":28,"tag":29,"props":498,"children":499},{},[500,504],{"type":28,"tag":39,"props":501,"children":502},{},[503],{"type":33,"value":43},{"type":33,"value":505}," All three tools follow the open Agent Skills standard (SKILL.md), but none solves the management problem: how to find the right skill, avoid duplicates, track where it came from, or know if it's any good.",{"type":28,"tag":29,"props":507,"children":508},{},[509,513],{"type":28,"tag":39,"props":510,"children":511},{},[512],{"type":33,"value":53},{"type":33,"value":514}," A desktop app that unifies skill discovery and management. Browse a shared registry, install with one click, manage scopes (personal, org, project), track provenance, and see community quality scores. Includes a development mode for authoring and testing skills before publishing.",{"title":8,"searchDepth":57,"depth":57,"links":516},[],"content:work:skill-mix.md","work/skill-mix.md","work/skill-mix",{"_path":521,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":522,"description":523,"icon":524,"screenshot":525,"url":526,"date":527,"status":73,"roles":528,"stack":529,"body":531,"_type":59,"_id":558,"_source":61,"_file":559,"_stem":560,"_extension":64},"/work/mysterygames","MysteryGames","Social deduction game nights in Munich","/img/projects/mysterygames-icon.png","/img/projects/mysterygames.png","https://mysterygames.club","2025-02-01",[75,18],[530,22,268],"Next",{"type":25,"children":532,"toc":556},[533,538,547],{"type":28,"tag":29,"props":534,"children":535},{},[536],{"type":33,"value":537},"MysteryGames runs monthly social-deduction nights in Munich — Mafia reimagined as live theater. Every month, ten strangers gather in a secret room at a rotating venue, revealed 48 hours before, for a few rounds of bluffing, reading people, and figuring out who isn't who they say they are.",{"type":28,"tag":29,"props":539,"children":540},{},[541,545],{"type":28,"tag":39,"props":542,"children":543},{},[544],{"type":33,"value":43},{"type":33,"value":546}," Meeting new people in a new city is hard, and most social events are either loud bars or awkward small talk. There's little that gives people a structured, playful reason to interact.",{"type":28,"tag":29,"props":548,"children":549},{},[550,554],{"type":28,"tag":39,"props":551,"children":552},{},[553],{"type":33,"value":53},{"type":33,"value":555}," A recurring event brand where the game itself does the social work — no scripts, no rehearsals, just an evening of live deduction. The website carries the brand, lists the next night, and handles signups, turning a party game into a repeatable community event people come back to.",{"title":8,"searchDepth":57,"depth":57,"links":557},[],"content:work:mysterygames.md","work/mysterygames.md","work/mysterygames",{"_path":562,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":563,"description":564,"icon":565,"screenshot":566,"url":567,"date":568,"status":73,"roles":569,"stack":570,"body":575,"_type":59,"_id":602,"_source":61,"_file":603,"_stem":604,"_extension":64},"/work/brievcase","Brievcase","Chat with your codebase as a team","/img/projects/brievcase-logo.svg","/img/projects/brievcase.png","https://brievcase.razbakov.com","2025-01-15",[17,18,75,76],[392,22,571,78,572,573,574],"Vercel AI SDK","PostgreSQL","Prisma","tRPC",{"type":25,"children":576,"toc":600},[577,582,591],{"type":28,"tag":29,"props":578,"children":579},{},[580],{"type":33,"value":581},"Brievcase gives your whole team an AI that's connected to your code, Jira, and Confluence — and can actually do the work. Connect your repos, invite your team, and get answers grounded in your real files instead of hallucinations.",{"type":28,"tag":29,"props":583,"children":584},{},[585,589],{"type":28,"tag":39,"props":586,"children":587},{},[588],{"type":33,"value":43},{"type":33,"value":590}," AI coding tools live in developer terminals. Product managers, designers, and stakeholders can't ask questions about the codebase — or act on it — without interrupting engineers, creating bottlenecks and context loss.",{"type":28,"tag":29,"props":592,"children":593},{},[594,598],{"type":28,"tag":39,"props":595,"children":596},{},[597],{"type":33,"value":53},{"type":33,"value":599}," A web platform where teams connect their repos, Jira, and Confluence, then ask questions and run workflows from the browser, Slack, or Teams. The AI reads the full codebase and answers with references to real files — and it doesn't just chat: multi-step skills turn meeting notes into Jira stories or run a sprint release with merge, release notes, and Confluence updates in one command.",{"title":8,"searchDepth":57,"depth":57,"links":601},[],"content:work:brievcase.md","work/brievcase.md","work/brievcase",{"_path":606,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":607,"description":608,"icon":609,"screenshot":610,"url":611,"date":612,"status":73,"roles":613,"stack":614,"body":615,"_type":59,"_id":642,"_source":61,"_file":643,"_stem":644,"_extension":64},"/work/montuno","Montuno Club","Free Salsa Cubana classes in Munich","/img/projects/montuno-icon.png","/img/projects/montuno.png","https://montuno.club","2025-01-01",[17,18,75],[392,22,23],{"type":25,"children":616,"toc":640},[617,622,631],{"type":28,"tag":29,"props":618,"children":619},{},[620],{"type":33,"value":621},"Montuno Club is a community-driven Salsa Cubana class for beginners in Munich. Weekly sessions run at Buena Vista Bar — free donation-based beginner classes, casino courses, and social dancing — built on the belief that dance should be accessible to everyone regardless of budget, language, or experience level. Beyond the classes it's a movement: bringing the biggest Rueda de Casino to Munich, plus flash mobs and weekly Cuban parties.",{"type":28,"tag":29,"props":623,"children":624},{},[625,629],{"type":28,"tag":39,"props":626,"children":627},{},[628],{"type":33,"value":43},{"type":33,"value":630}," Learning to dance salsa is intimidating and expensive. Traditional studios push partner sign-ups, pricey course packages, and long-term commitment — leaving absolute beginners, and especially Munich's international, non-German-speaking crowd, without a low-pressure, budget-free way to start.",{"type":28,"tag":29,"props":632,"children":633},{},[634,638],{"type":28,"tag":39,"props":635,"children":636},{},[637],{"type":33,"value":53},{"type":33,"value":639}," A free, donation-based, drop-in Salsa Cubana class in a bar, not a studio. One move per week, partner rotation so no partner is needed, English-friendly, and focused on absolute beginners. Rueda de Casino events and weekly socials then turn learners into a genuine community. Just show up and dance.",{"title":8,"searchDepth":57,"depth":57,"links":641},[],"content:work:montuno.md","work/montuno.md","work/montuno",{"_path":646,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":647,"description":648,"icon":649,"screenshot":650,"url":651,"date":652,"status":73,"roles":653,"stack":654,"body":657,"_type":59,"_id":684,"_source":61,"_file":685,"_stem":686,"_extension":64},"/work/learn-by-doing","Learn By Doing Academy","Build real products with AI, and get hired","https://learn-by-doing-academy.com/logo.png","/img/projects/learn-by-doing.png","https://learn-by-doing-academy.com","2024-11-01",[75,17],[655,656,22,23],"React","Vite",{"type":25,"children":658,"toc":682},[659,664,673],{"type":28,"tag":29,"props":660,"children":661},{},[662],{"type":33,"value":663},"Learn By Doing Academy teaches people to build real products with AI and get hired. Instead of passive video courses, learners join weekly live sessions and ship real projects — the \"build with AI, get hired\" promise, backed by graduates now working at companies like Frontline Group, Whitespace Software, and ToroNet.",{"type":28,"tag":29,"props":665,"children":666},{},[667,671],{"type":28,"tag":39,"props":668,"children":669},{},[670],{"type":33,"value":43},{"type":33,"value":672}," Most online courses are passive. Learners watch hours of video, feel productive, and finish with nothing they've actually built — no portfolio, no proof, and little that sticks in a job market that now expects people to work with AI.",{"type":28,"tag":29,"props":674,"children":675},{},[676,680],{"type":28,"tag":39,"props":677,"children":678},{},[679],{"type":33,"value":53},{"type":33,"value":681}," A project-based academy where every learner builds something real with AI in weekly live sessions and walks away with both the skill and a portfolio piece to prove it — aimed squarely at the outcome that matters: getting hired.",{"title":8,"searchDepth":57,"depth":57,"links":683},[],"content:work:learn-by-doing.md","work/learn-by-doing.md","work/learn-by-doing",{"_path":688,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":689,"description":690,"icon":691,"screenshot":692,"url":693,"date":694,"status":73,"roles":695,"stack":696,"body":698,"_type":59,"_id":725,"_source":61,"_file":726,"_stem":727,"_extension":64},"/work/sdtv","SDTV","Media platform for social dance festivals","https://socialdancetv.com/favicon.svg","/img/projects/sdtv.png","https://socialdancetv.com","2024-09-01",[17,18,75],[392,697,22,23],"Firebase",{"type":25,"children":699,"toc":723},[700,705,714],{"type":28,"tag":29,"props":701,"children":702},{},[703],{"type":33,"value":704},"Social Dance TV films social dance festivals and gets them \"filmed, found and featured\" — before, during, and after the weekend. Festivals get covered, dancers find and buy their own videos and photos, and artists get featured to grow their audience, across salsa, bachata, kizomba, zouk, and swing.",{"type":28,"tag":29,"props":706,"children":707},{},[708,712],{"type":28,"tag":39,"props":709,"children":710},{},[711],{"type":33,"value":43},{"type":33,"value":713}," Festival footage ends up scattered across personal phones, private Dropbox links, and half-forgotten YouTube uploads. Dancers who want their videos rarely get a clean way to find and keep them afterwards.",{"type":28,"tag":29,"props":715,"children":716},{},[717,721],{"type":28,"tag":39,"props":718,"children":719},{},[720],{"type":33,"value":53},{"type":33,"value":722}," A media platform that turns raw festival recordings into a browsable, festival-branded library. A videographer uploads each festival's footage, the site generates previews, and dancers browse and purchase the clips they want with a direct download — closing the loop between the event and the people who want to relive it.",{"title":8,"searchDepth":57,"depth":57,"links":724},[],"content:work:sdtv.md","work/sdtv.md","work/sdtv",{"_path":729,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":730,"description":731,"screenshot":732,"icon":733,"date":734,"status":73,"roles":735,"stack":736,"body":738,"_type":59,"_id":765,"_source":61,"_file":766,"_stem":767,"_extension":64},"/work/smm-manager","SMM Manager","AI-powered poster generator for events","/img/projects/smm-manager.png","/img/projects/smm-manager-icon.png","2024-06-01",[17,18,75,76],[392,22,737,572,573,574],"LangChain",{"type":25,"children":739,"toc":763},[740,745,754],{"type":28,"tag":29,"props":741,"children":742},{},[743],{"type":33,"value":744},"SMM Manager is an AI-powered content creation tool that generates professional, brand-consistent social media posters from natural language input. Built for event organizers and cultural communities.",{"type":28,"tag":29,"props":746,"children":747},{},[748,752],{"type":28,"tag":39,"props":749,"children":750},{},[751],{"type":33,"value":43},{"type":33,"value":753}," Creating social media posters for recurring events is repetitive and time-consuming. Organizers describe events casually in WhatsApp or chat, then manually design each poster — or pay a designer every time.",{"type":28,"tag":29,"props":755,"children":756},{},[757,761],{"type":28,"tag":39,"props":758,"children":759},{},[760],{"type":33,"value":53},{"type":33,"value":762}," Users describe an event in plain text (\"Next Wednesday we have a salsa party at 21:00\"), and the AI extracts structured details, applies the project's brand kit (fonts, colors, visual style), and generates a publication-ready poster. Supports multiple export formats including Instagram Square and Story, with consistent branding across all outputs.",{"title":8,"searchDepth":57,"depth":57,"links":764},[],"content:work:smm-manager.md","work/smm-manager.md","work/smm-manager",{"_path":769,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":770,"description":771,"icon":772,"screenshot":773,"url":774,"date":775,"status":15,"roles":776,"stack":777,"body":778,"_type":59,"_id":805,"_source":61,"_file":806,"_stem":807,"_extension":64},"/work/dancegods","Dance Gods","Kubanischer Tanz in München","https://dancegods.netlify.app/.netlify/images?w=128&h=128&url=%2Flogo.png","/img/projects/dancegods.png","https://dancegodscompany.com/","2024-03-21",[17,18,19],[226,22,268],{"type":25,"children":779,"toc":803},[780,785,794],{"type":28,"tag":29,"props":781,"children":782},{},[783],{"type":33,"value":784},"Dance Gods Company is a Cuban dance school in Munich led by instructor Amado. The website serves as a booking and information hub for students interested in Salsa Cubana, Timba, Son Cubano, Rumba Guaguanco, and Afro-Cubano classes.",{"type":28,"tag":29,"props":786,"children":787},{},[788,792],{"type":28,"tag":39,"props":789,"children":790},{},[791],{"type":33,"value":43},{"type":33,"value":793}," The dance instructor needed a professional online presence to showcase class offerings, share event schedules, and allow students to book private lessons — all in one place.",{"type":28,"tag":29,"props":795,"children":796},{},[797,801],{"type":28,"tag":39,"props":798,"children":799},{},[800],{"type":33,"value":53},{"type":33,"value":802}," A visually rich Nuxt.js website with immersive hero imagery, class descriptions, event listings, and a contact form. The dark, energetic design reflects the vibrant Cuban dance culture and drives conversions from visitors to students.",{"title":8,"searchDepth":57,"depth":57,"links":804},[],"content:work:dancegods.md","work/dancegods.md","work/dancegods",{"_path":809,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":810,"description":811,"icon":812,"screenshot":813,"url":814,"date":775,"status":15,"roles":815,"stack":816,"body":817,"_type":59,"_id":844,"_source":61,"_file":845,"_stem":846,"_extension":64},"/work/dora-torres","Dora Torres","Klavierlehrerin, Musikerin, Sängerin","https://dora-torres.netlify.app/img/photo.png","/img/projects/dora-torres.png","https://dora-torres.netlify.app/",[17,18,19],[226,22,268],{"type":25,"children":818,"toc":842},[819,824,833],{"type":28,"tag":29,"props":820,"children":821},{},[822],{"type":33,"value":823},"Dorileana Torres is a piano teacher, musician, and singer based in Munich specializing in Latin Jazz, Cuban, and Classical music. The website acts as her professional portfolio and booking page for piano lessons and band performances.",{"type":28,"tag":29,"props":825,"children":826},{},[827,831],{"type":28,"tag":39,"props":828,"children":829},{},[830],{"type":33,"value":43},{"type":33,"value":832}," As a freelance musician offering multiple services — piano lessons, band bookings, and solo performances — Dora needed a single place to present her offerings clearly to both German- and Spanish-speaking audiences.",{"type":28,"tag":29,"props":834,"children":835},{},[836,840],{"type":28,"tag":39,"props":837,"children":838},{},[839],{"type":33,"value":53},{"type":33,"value":841}," A warm, personality-driven Nuxt.js site with bold yellow accents that match her vibrant musical style. The homepage immediately communicates her three service areas with clear navigation, a WhatsApp chat CTA for quick contact, and a professional photo that builds trust.",{"title":8,"searchDepth":57,"depth":57,"links":843},[],"content:work:dora-torres.md","work/dora-torres.md","work/dora-torres",{"_path":848,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":849,"description":850,"icon":851,"screenshot":852,"url":853,"date":854,"status":15,"roles":855,"stack":856,"body":859,"_type":59,"_id":886,"_source":61,"_file":887,"_stem":888,"_extension":64},"/work/wehelp","WeHelp","Coordinating help for Ukrainian refugees","/img/projects/wehelp-icon.png","/img/projects/wehelp.png","https://wehelp.pages.dev","2022-03-01",[17,18,75],[392,22,857,858],"i18n","Cloudflare",{"type":25,"children":860,"toc":884},[861,866,875],{"type":28,"tag":29,"props":862,"children":863},{},[864],{"type":33,"value":865},"WeHelp — \"Evacuation to EU\" — is a volunteer platform built to coordinate help for the Ukrainian refugee crisis in the EU. It matches refugees with accommodation, hosts, and shelters, supports evacuation, and brings experts together to solve the hard problems. Built in 2022 by 27 volunteers from across the globe.",{"type":28,"tag":29,"props":867,"children":868},{},[869,873],{"type":28,"tag":39,"props":870,"children":871},{},[872],{"type":33,"value":43},{"type":33,"value":874}," In the middle of the refugee crisis, willing volunteers and people who need help both existed in large numbers — but the response was fragmented and uncoordinated. Existing organizations couldn't cope, coordination broke down into chaos, and many urgent issues stayed unresolved.",{"type":28,"tag":29,"props":876,"children":877},{},[878,882],{"type":28,"tag":39,"props":879,"children":880},{},[881],{"type":33,"value":53},{"type":33,"value":883}," A platform to organize volunteer activity and link organizations together — matching refugees with accommodation and evacuation, and routing the biggest, hardest problems to experts who can solve them. The mission: be a trustful source that gives people hope and helps them through effective actions.",{"title":8,"searchDepth":57,"depth":57,"links":885},[],"content:work:wehelp.md","work/wehelp.md","work/wehelp",{"_path":890,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":891,"description":892,"icon":893,"screenshot":894,"url":895,"date":896,"status":73,"roles":897,"stack":898,"body":900,"_type":59,"_id":927,"_source":61,"_file":928,"_stem":929,"_extension":64},"/work/wedance","WeDance","Community platform for dancers","https://wedance.vip/icon.svg","/img/projects/wedance.png","https://wedance.vip","2020-05-16",[17,18,75],[22,226,697,899,268],"Vue-Composition-Api",{"type":25,"children":901,"toc":925},[902,907,916],{"type":28,"tag":29,"props":903,"children":904},{},[905],{"type":33,"value":906},"WeDance is a community platform that connects dancers worldwide. Users can discover bachata, salsa, kizomba, and other dance events near them, organize their own events, and promote dance activities.",{"type":28,"tag":29,"props":908,"children":909},{},[910,914],{"type":28,"tag":39,"props":911,"children":912},{},[913],{"type":33,"value":43},{"type":33,"value":915}," Dance communities are fragmented across Facebook groups, WhatsApp chats, and Instagram pages. There's no single place to find all local dance events, classes, and festivals regardless of style.",{"type":28,"tag":29,"props":917,"children":918},{},[919,923],{"type":28,"tag":39,"props":920,"children":921},{},[922],{"type":33,"value":53},{"type":33,"value":924}," A dedicated platform where dancers can browse a feed of events, filter by city and style, contribute events, and recommend activities. Organizers get tools to promote events, while promoters can earn by sharing. The platform bridges the gap between scattered social media posts and a unified dance community.",{"title":8,"searchDepth":57,"depth":57,"links":926},[],"content:work:wedance.md","work/wedance.md","work/wedance",{"_path":931,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":932,"description":933,"icon":934,"screenshot":935,"cover":936,"url":937,"status":15,"roles":938,"date":939,"stack":940,"body":941,"_type":59,"_id":968,"_source":61,"_file":969,"_stem":970,"_extension":64},"/work/moneydo","Money Do","Mindful budgeting with the Kakeibo method","https://moneydo.vip/icon.svg","/img/projects/moneydo.png","/img/moneydo.png","https://moneydo.vip/",[17,18,75],"2020-04-29",[22,226,697,899,268],{"type":25,"children":942,"toc":966},[943,948,957],{"type":28,"tag":29,"props":944,"children":945},{},[946],{"type":33,"value":947},"MoneyDo is a personal budgeting app built around the Japanese Kakeibo method — \"your budget in a mindful and simple way.\" It helps users plan a monthly budget, derive a daily spending limit, and track expenses without spreadsheet fatigue.",{"type":28,"tag":29,"props":949,"children":950},{},[951,955],{"type":28,"tag":39,"props":952,"children":953},{},[954],{"type":33,"value":43},{"type":33,"value":956}," Most budgeting apps are complex and overwhelming. People need a simple, mindful way to manage personal finances that answers the everyday question — \"how much can I spend today?\" — without heavy tooling.",{"type":28,"tag":29,"props":958,"children":959},{},[960,964],{"type":28,"tag":39,"props":961,"children":962},{},[963],{"type":33,"value":53},{"type":33,"value":965}," A clean web app organised around four moves: plan your budget, adjust it anytime, get a daily budget, and track expenses as they happen. Built on Firebase for real-time syncing across devices, it turns short-term daily decisions, mid-term goals, and long-term saving strategies into something approachable.",{"title":8,"searchDepth":57,"depth":57,"links":967},[],"content:work:moneydo.md","work/moneydo.md","work/moneydo",{"_path":972,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":973,"description":974,"icon":975,"screenshot":976,"url":977,"date":978,"status":15,"roles":979,"stack":980,"body":981,"_type":59,"_id":1008,"_source":61,"_file":1009,"_stem":1010,"_extension":64},"/work/gutenabend","GutenAbend","Quarantine Club","https://gutenabend.netlify.app/img/logo.svg","/img/projects/gutenabend.png","https://gutenabend.netlify.app/","2020-03-31",[17,75],[22,226,697,899,268],{"type":25,"children":982,"toc":1006},[983,988,997],{"type":28,"tag":29,"props":984,"children":985},{},[986],{"type":33,"value":987},"GutenAbend was born during the COVID-19 lockdown as an \"online Kantine\" — a virtual social club to help people stay connected. Members schedule online meetups, propose ideas for what to do together, and RSVP to join.",{"type":28,"tag":29,"props":989,"children":990},{},[991,995],{"type":28,"tag":39,"props":992,"children":993},{},[994],{"type":33,"value":43},{"type":33,"value":996}," During the 2020 quarantine, people were isolated and craving social interaction. Video call tools existed, but there was no simple place to organise recurring group evenings and let people suggest and sign up for them.",{"type":28,"tag":29,"props":998,"children":999},{},[1000,1004],{"type":28,"tag":39,"props":1001,"children":1002},{},[1003],{"type":33,"value":53},{"type":33,"value":1005}," A Firebase-powered web app where anyone can sign in (Google or magic link), create and manage meetups, add ideas for activities, and RSVP. Users browse the schedule, join events, and suggest new ones — turning isolation into community.",{"title":8,"searchDepth":57,"depth":57,"links":1007},[],"content:work:gutenabend.md","work/gutenabend.md","work/gutenabend",{"_path":1012,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1013,"description":1014,"icon":1015,"screenshot":1016,"url":1017,"date":1018,"status":15,"roles":1019,"stack":1020,"body":1021,"_type":59,"_id":1048,"_source":61,"_file":1049,"_stem":1050,"_extension":64},"/work/15x4","15x4 Munich","Share Your Knowledge!","https://15x4munich.de/15x4_logo_munich.png","/img/projects/15x4.png","https://15x4munich.de/","2017-01-27",[17,18],[226,22,268],{"type":25,"children":1022,"toc":1046},[1023,1028,1037],{"type":28,"tag":29,"props":1024,"children":1025},{},[1026],{"type":33,"value":1027},"15x4 Munich is a volunteer-driven educational initiative — free events where four speakers each give a 15-minute talk on any topic, from science to culture. The platform serves as the public-facing website for the Munich chapter, helping curious minds and potential speakers discover upcoming events, browse past talks, and get involved with the community.",{"type":28,"tag":29,"props":1029,"children":1030},{},[1031,1035],{"type":28,"tag":39,"props":1032,"children":1033},{},[1034],{"type":33,"value":43},{"type":33,"value":1036}," The local 15x4 chapter needed a lightweight, easy-to-maintain website to promote events and attract new speakers and audience members.",{"type":28,"tag":29,"props":1038,"children":1039},{},[1040,1044],{"type":28,"tag":39,"props":1041,"children":1042},{},[1043],{"type":33,"value":53},{"type":33,"value":1045}," A static Nuxt.js site deployed on Netlify with a clean, animated hero section and simple navigation. The site communicates the core mission — \"Share Your Knowledge!\" — and provides contact and fan shop links to drive engagement.",{"title":8,"searchDepth":57,"depth":57,"links":1047},[],"content:work:15x4.md","work/15x4.md","work/15x4",1783608285063]