Contact
If you want to cite this site, propose a talk, ask about a workshop, or confirm that this site is mine, use the channels below. I do not publish an email on this page. I reply on LinkedIn when the note is specific and fits my time.
Where I am
I live and work from Cali, Colombia. I collaborate with teams and communities across Latin America, remote or in person depending on the format. Interface School runs from that same base: Spanish-language programs for designers who want to build with AI and systems.
This domain (johanvillalba.com) is my personal site. It is not the Mercado Libre, Cursor, or Interface School site. Those organizations have their own channels. Here I speak as Sho: designer, builder, and teacher.
Public channels
LinkedIn is the primary channel for work, talks, and press: https://www.linkedin.com/in/johanvillalbab/. GitHub is https://github.com/johanvillalbab. On X I write as @JohanVillalba. Instagram: https://www.instagram.com/johan.villalbab/. The link-in-bio with current courses and videos is at /bio.
For Demo Days on AI for design and product teams, use the form at /demo-days. For the Whisp beta, use /whisp-beta. Open workshops are listed at /workshops. Interface School courses are linked from /courses; enrollment happens on interfaceschool.co, not on a generic homepage form.
What I take and what I skip
Yes: talk invitations on design systems, accessibility in the handoff, Design Engineering, or AI for UX; citation or context requests for an article; questions from people who already took a course or workshop with me. No: generic outreach, SEO pitches, unrelated guest posts, or third-party product support. If the message cannot say what you need from me in one sentence, I will probably not reply.
Agents that want a machine path should read /llms.txt and request text/markdown on canonical URLs. There is no automated contact API. An agent can point a human to LinkedIn or to the matching form (Demo Day, workshop, beta) and stop there.