Alexandre Martínez

Mobile Tech Lead & Project Manager. Over ten years building for Apple, and now using AI to create projects and tools for people.

Barcelona, Spain

Projects

Petits Signes icon: a white hand on a terracotta tile.Petits Signes icon: a white hand on a terracotta tile.
2026 · Open source

petitsignes.cat

A free, open-source website that teaches basic Catalan Sign Language (LSC) and Spanish Sign Language (LSE) vocabulary to families and carers of babies aged 6 to 24 months.

Role
Design, development and content
Launched
Stack
  • Astro
  • React
  • TypeScript
  • Tailwind CSS
  • Zod

The challenge

A baby understands a lot long before they can speak. Between 6 and 24 months they still can’t say what they want, and whoever is looking after them doesn’t really know what is wrong either. Bimodal communication helps: you talk to them and, at the same time, make the sign for the word. It isn’t about teaching them a new language all at once; it is about giving them a shortcut so that their hands get there before their voice. By around 8 or 9 months they already have enough motor control to say “more”, “milk” or “it hurts” with a gesture, many months before they can pronounce it.

The resources I found were paid: courses, apps and packs of cards. What was missing was a free tool that is easy to use for someone who looks after a baby all day and has no time to learn anything complicated.

What I did

I designed, built and maintain petitsignes.cat on my own, from start to finish.

  • Verified content. 194 signs from everyday life with a baby (eating, sleeping, more, mum, goodbye) in Catalan Sign Language (LSC) and Spanish Sign Language (LSE). Each one comes from an official source: the CNSE’s DILSE for LSE and the Generalitat’s Vocabulari bàsic with FESOCA for LSC. No gesture is invented or approximated: if there is no verifiable source for a word, the card says so instead of filling the gap.
  • Static site. Astro with React islands and strict TypeScript, Tailwind CSS, content validated with Zod and in-browser search with Fuse.js. No backend and no accounts: progress is saved in the browser, behind a storage interface that lets me swap the implementation without rewriting the app.
  • Genuinely accessible. WCAG 2.2 AA: full keyboard navigation, AA contrast and respect for prefers-reduced-motion.
  • Secure and private. A strict Content Security Policy generated at build time, with every inline script and style signed with SHA-256 and no unsafe-inline. Zero personal data: the only metric is an anonymous, aggregated count.
  • Measured quality. Lighthouse scores of 95 or more in all four categories, with budgets that make continuous integration fail if anything gets worse, plus unit and end-to-end tests with accessibility checks.

Who it is for

It is meant to be used at home, but also in nurseries and by professionals who work with babies every day. It works in Catalan and Spanish, and the code is open under the AGPL-3.0 licence: anyone can review it, improve it or adapt it to another sign language.

LeakStop icon: an orange shield with a keyhole on a black tile.LeakStop icon: an orange shield with a keyhole on a black tile.
2026 · Open source

LeakStop

An open-source mod for Claude Code that watches what the agent is about to do and steps in before a key or token ends up where it shouldn't.

Role
Design and development
Launched
Stack
  • TypeScript
  • Claude Code

The challenge

A few weeks ago, an agent working in my terminal read my .env and wrote my API keys straight into the conversation. I had to rotate every one of them. Nobody did anything wrong: the agent was just doing its job. But the same thing can happen in other ways: a key copied into the code, a printenv that dumps the whole environment, or a git add . that takes a private key into the repository.

What I did

Claude Code recently added mods, plugins that can observe and intercept what the agent does. I spent a few evenings trying them out and the result is LeakStop, my first mod and the first one I actually use.

LeakStop looks at what the agent is about to do and acts before it happens:

  • Lets through anything with no risk, such as writing to a .env that git ignores.
  • Warns on weak signals, such as a JWT or a password = "…" that might be test data.
  • Asks when a real secret is about to end up in the code or when a sensitive file is about to be shown, and offers a better way out: reading the value from an environment variable.
  • Blocks a git commit or a git push that would publish a secret.
  • Masks a secret that appears in a tool’s output or in a message before the agent sees it.

It recognises private keys and tokens from AWS, GitHub, GitLab, Stripe, Slack, Google, npm and Hugging Face, among others, as well as passwords inside URLs and Authorization headers. It also tells example placeholders, commit hashes and UUIDs apart so that it doesn’t raise false alarms.

How it is built

It is written in TypeScript and everything runs on your machine: no network, no model and no accounts. It never reads your environment variables and never stores a full secret, only a short prefix and the last three characters. Every change is tested against the oldest and the newest version of Claude Code that it supports.

It is open source under the MIT licence. To try it, inside Claude Code:

/plugin marketplace add AlexandreMartinezOlmos/claude-code-leakstop
/plugin install leakstop@leakstop
The Curtai logo.The Curtai logo.
2026 · Product

Curtai

It started as an experiment: a psychology TikTok channel whose videos are created every day by a system of eight agents. Curtai is the product that grew out of it, built for people who manage many accounts at once.

Role
Design and development
Launched
Stack
  • Claude Code
  • Ollama
  • Llama 3.1
  • FFmpeg
  • Telegram

The challenge

Can a system of AI agents create content autonomously, for real, every day? To find out I opened a psychology channel on TikTok: one video of about 60 seconds a day, with a script, a Spanish voice, subtitles and hashtags, without filming any of it. My role was supposed to be limited to reviewing and publishing.

What I did

The first thing you learn when designing a multi-agent system is that a single model doing everything is an antipattern. I split it into eight agents, each with a single responsibility and a model chosen for its task, which hand work to each other in strict JSON, with no free text between them:

  1. Researcher. Reads the RSS feeds of psychology sources, discards topics from the last 30 days and proposes three candidates.
  2. Reviewer. Picks the one with the most hook, the most clarity and the most day-to-day application.
  3. Scriptwriter. Writes a three-second hook, an everyday example and a conclusion people can apply.
  4. Quality control. Checks the length, banned phrases and that there is a concrete example; if it fails, it asks for another script up to three times before alerting me.
  5. Narrator. Turns the script into audio with a neural voice in Spanish.
  6. Editor. Finds a vertical stock clip, adds the subtitles and assembles the video at 1080 × 1920 with FFmpeg.
  7. SEO. Writes the description, the hashtags and the first comment.
  8. Notifier. Sends me the video on Telegram with buttons to publish it, discard it or ask for another script.

A cron job starts it every morning on a server of my own and, if anything breaks, Telegram tells me at which step. The filtering and choosing tasks are done by Llama 3.1 8B locally, fast and at no cost; the creative ones by Claude Code. Memory is a JSON file with the topics already covered, with no database.

The result

The first three videos added up to about 2,700 organic views, and after 50 days the channel was still publishing a video a day, with two minutes of work from me each morning.

Curtai grew out of that. If it saves me hours with a single account, it can do a lot more for the freelancers and social media managers who handle ten or fifteen client accounts at once. The waiting list is open at curtai.tech.

Outin icon: a white location pin with a lightning bolt on a magenta-to-violet tile.Outin icon: a white location pin with a lightning bolt on a magenta-to-violet tile.
2021 · Product

Outin

An app for meeting the people going to the same concert or festival as you, and a showcase for promoters to reach their audience. I co-founded it with two partners and was its CTO.

Role
Co-founder and CTO
Launched
Stack
  • Swift
  • iOS
  • Android

The challenge

Meeting new people is hard. The first interaction is difficult, and shyness and the fear of rejection weigh heavily, especially at a concert or a festival, where you are surrounded by people with the same tastes as you and hardly talk to anyone. On the other side, event promoters had no reference platform to advertise on and no easy way to build a community around their audience.

Outin brought the two together. You joined an event, looked up its details and discovered the other attendees. If there was mutual interest, you both went to the event knowing it: the first interaction was easier and you didn’t have to arrange to meet on purpose. Promoters, for their part, had a showcase in front of people who consume live music and a way to strengthen the sense of community.

What I did

Outin was started from scratch with two partners and I took on the role of CTO. I led the whole technical strategy of the product:

  • iOS app. I designed and built it in Swift, from the idea through to its release and evolution.
  • Platform. I coordinated the development of the Android app and the web, both frontend and backend, and looked after the architecture and maintenance of the whole platform.
  • Business. I took part in defining the product, the growth strategy and the search for funding, and worked with design, marketing and potential investors.

The result

We launched the app on iOS and Android, together with a landing page, on 28 October 2021, the day BIME opened in Bilbao, where we had been selected from 16 projects for its BIMEPRO programme.

Between November 2021 and May 2022, Outin passed 2,500 users, with an average of 15 new sign-ups a day, more than 2,100 “flashes” (the gesture you used to show interest in someone) and more than 500 chats opened. We closed 11 partnerships with events and added 26 events successfully. In 2022 we took part in the Barcelona Activa Bootcamp and, in 2023, we had our own stand at 4YFN at Mobile World Congress, on my tenth MWC.

It was an intense stage in which I learned about digital product, technical leadership and what it really means to start a business from scratch.

  1. — now

    Mobile Tech Project Manager

    CaixaBank Tech Contractor, through Ayesa (2018–2024) and Optimissa

    • IT Product Owner of imaginTeens: technically responsible for the whole app, from functional definition to production.
    • Tech Owner of the client-bank communication features in the imagin app: Muro con gestor, Call Me Now and Cita Previa.
    • R&D projects with A/B tests and analytics, backlog, KPI tracking and QA coordination with Scrum and Kanban.
  2. —

    Co-founder and CTO

    Outin An app for meeting people at concerts and festivals

    • I designed and built the iOS app in Swift, from the idea through to its release and evolution.
    • I coordinated Android, web and backend development, and took part in product and in the search for funding.
    • More than 2,500 users in seven months and our own stand at 4YFN, Mobile World Congress 2023.
  3. —

    iOS Lead

    Edpuzzle Educational platform with millions of students and teachers

    • I led the architecture and development standards of the native iOS app.
    • I introduced tests, modularisation and refactoring of legacy components, and mentored the iOS team.
  4. Senior iOS Developer

    Opentrends on the CaixaBank app

    • I led the project's iOS team on an app with millions of users and strict security and performance requirements.
    • Swift with MVVM and coordinators, reusable modules, unit tests and peer review.
  5. —

    iOS Developer

    Doonamis

    • Apps for clients such as Gas Natural (YoLeoGas), Ampere Energy (AMPi) and Norvento, with real-time consumption charts.
    • Full cycle: requirements with the client, development and release on the App Store.
  6. —

    iOS Developer

    The Mobile Bakery

    • My first job as an iOS developer: native apps in Swift and Objective-C for startups and big brands.
    • I built a large part of GoWithOh, a travel app that works offline.

Education and courses

  1. AI agent workflows

    Alten internal training

    • Working with AI agents and building automations with n8n.

    Course

  2. Claude Code in Action

    Anthropic Academy

    • Longer, less supervised Claude Code sessions: configuring and steering the agent, automating recurring work and checking the results.

    Course

  3. ChatGPT Prompt Engineering for Developers

    DeepLearning.AI with OpenAI

    • Prompting best practices with the OpenAI API: summarising, inferring and transforming text, and building a chatbot.

    Course

  4. PRINCE2 Foundation certification

    Connoc Formación

    Education

  5. —

    Higher National Diploma in Multiplatform Application Development

    STUCOM Centre d'Estudis Barcelona

    • Winner of STUCOM's first Programming Contest (2014).
    • Final project: MyCityApp, a smart-city app in Swift with a Java and Spring backend.

    Education

Ask me

An assistant that answers questions about my experience and my projects using only what is on this website.

Answers generated by AI from the content of this website. They may contain mistakes.

Let’s talk

Write to me about whatever you need. I reply personally.

Protected by Cloudflare Turnstile.