# Mahdi Farra > Design leader and design engineer with 17 years scaling teams, building systems, and shipping production code. I've grown design teams from 1→6, led cross-functional orgs of 25+, and I do the design engineering myself. My teams ship faster. Most recently, I designed monetization at Meta (Facebook Plus & Meta AI subscriptions). Before that, I founded DesignQA, an AI tool that turns UI bugs into code fixes. This portfolio (mahdif.com) belongs to Mahdi Farra, a design leader and design engineer. The links below point to clean Markdown versions of each public page (any page is also reachable by adding .md to its URL). The entire site concatenated into one document is at /llms-full.txt. This file follows the llms.txt convention (https://llmstxt.org). ## Start here - [Home](https://mahdif.com/index.md): Design leader and design engineer with 17 years scaling teams, building systems, and shipping production code. ## Case studies - [DesignQA](https://mahdif.com/case-studies/designqa.md): Built AI devtool from 0→1 through rigorous user research (50+ interviews). Secured paying customers pre-launch. - [Ronday](https://mahdif.com/case-studies/ronday.md): Scaled design team 1→6 while growing 25-person cross-functional org. Achieved 4x engagement increase and 83% performance improvement. Supported the $7M seed raise with the product strategy narrative - [Airtime](https://mahdif.com/case-studies/airtime.md): Designed and prototyped a social video calling app that brings people together through shared experiences. Led interaction design for reactions, chat, and real-time video features. - [Rakuten Restaurants](https://mahdif.com/case-studies/rakuten-restaurants.md): Redesigned the Takeout Console that Rakuten's restaurant partners run their counters on. Three months in 2019: reworked group orders and at-a-glance order status, cutting customer wait times 20% and - [Ava](https://mahdif.com/case-studies/ava.md): Led cross-platform design (iOS, Android, Mac, Windows) for AI-powered accessibility platform serving the deaf and hard of hearing community. Increased session duration 3x. ## Writing - [Peeko, on camera](https://mahdif.com/blog/peeko-on-camera.md): The first video I have made since DesignQA. Why I left Google Analytics, how I built the replacement, and four questions I ask it out loud. Not a demo reel. The whole story in 24 minutes. - [I built a joke website in ten days. It made $10.](https://mahdif.com/blog/i-built-a-joke-website-in-ten-days-it-made-10.md): The honest accounting of a ten-day joke site. Not the launch post. What the agents built, where I launched it, and why $10 was the right number. - [The second thing Peeko did was show me my biggest post was my worst one](https://mahdif.com/blog/the-second-thing-peeko-did-was-show-me-my-biggest-post-was-my-worst-one.md): My biggest LinkedIn post of the month sent 23 readers to the essay it was about. Peeko showed me why, and half of it was mine. This is the first post written the other way. - [Peeko is open. The first thing it did was lie to me.](https://mahdif.com/blog/peeko-is-open-the-first-thing-it-did-was-lie-to-me.md): I built my own analytics to replace Google Analytics. Last week it told me Google had read a passwords file that does not exist on my site. Fixing that lie became the feature I like most, and now - [I cloned my voice so my blog could read itself](https://mahdif.com/blog/i-cloned-my-voice-so-my-blog-could-read-itself.md): Four voices, every post, zero dollars a month. Why a lifelong text to speech user finally built narration into his own site, and the voice clone that almost fooled me. - [The blank box is a systems problem](https://mahdif.com/blog/the-blank-box-is-a-systems-problem.md): One text box, a billion different intents. OpenAI's head of design calls it the blank box problem. Not a case for a new interface. A case for a design system where the model does the assembling. With - [Paper is awesome but not perfect](https://mahdif.com/blog/paper-is-awesome-but-not-perfect.md): I spent a few days trying to move my daily design work from Figma to Paper. What I loved, every bug I hit, and a suggested fix for each one. Ten years after I did the same thing to InVision. - [How I shipped my first iOS game without shipping AI slop](https://mahdif.com/blog/how-i-shipped-my-first-ios-game-without-shipping-ai-slop.md): The build log for Weirdo, my first game in the App Store. Designed in Figma, built with Claude Code on React Native. The AI wrote most of the code and did not make a single design decision. - [I built an interface for tmux, and I called it muxo](https://mahdif.com/blog/i-built-an-interface-for-tmux-and-i-called-it-muxo.md): A dashboard for the tmux sessions running your coding agents. It answers one question, what is running and who needs me, refuses to do anything else, and is honest about the part that is still - [I replaced Google Analytics with an analytics system I can talk to](https://mahdif.com/blog/i-replaced-google-analytics-with-an-analytics-system-i-can-talk-to.md): I removed GA from my sites and built my own analytics. No cookie banner, no dashboard safari. I ask Claude questions about my visitors and it answers. It also sees the AI bots GA never could, and on - [I had a thought at the gym. It's now in the App Store.](https://mahdif.com/blog/i-had-a-thought-at-the-gym-its-now-in-the-app-store.md): Coffee plus sun equals what? That thought hit me at the gym, and this week it became my first game in the App Store. Not a case study. The build story comes Tuesday. - [My laptop is closed and the agents are still working](https://mahdif.com/blog/my-laptop-is-closed-and-the-agents-are-still-working.md): A Mac mini that never sleeps, tmux, and a private network, so coding agents keep working after I shut the lid. The actual setup, the question tmux could not answer, and the tool I built to answer it. - [I hacked a birthday-gift LED screen into an AI token usage monitor](https://mahdif.com/blog/i-hacked-a-birthday-gift-led-screen-into-an-ai-token-usage-monitor.md): A friend gave me a pixel clock for my birthday. I flashed it, built a private dashboard for it, and now my Claude usage sits on my desk all day. The full setup, with links to build your own. - [I built a version of myself. Most people tried to break it.](https://mahdif.com/blog/i-built-a-version-of-myself.md): Three weeks of real conversations with the chat on this site. One genuinely good conversation, one person I mistook for a crowd, and a traffic number that was mostly my own deploy script. Not a - [My actual taste file](https://mahdif.com/blog/my-actual-taste-file.md): The full contents of the taste file my agents read before they write a line of UI. Not a template. A decision record from years of corrections, published as is. - [My new website wasn't designed for humans first](https://mahdif.com/blog/my-new-website-wasnt-designed-for-humans-first.md): Every page on this site now exists twice. One version for you, one in plain markdown for the AI agents that increasingly read it first. The actual architecture, what it cost, and the one thing I - [My actual Claude Code workflow as a designer](https://mahdif.com/blog/my-actual-claude-code-workflow-as-a-designer.md): The real daily loop I use to design and ship products with Claude Code. Not a tool list. Four steps, one taste file, and where the human still stays in the work. - [Design Philosophy](https://mahdif.com/blog/design-philosophy.md): A plain list of the principles I design by. No story around them, just the rules I keep coming back to on every product I work on. - [How I Changed My Company's Culture with Food!](https://mahdif.com/blog/changing-company-culture-with-food.md): Food is not just fuel. This is the story of how I changed my company's culture with food! - [Why Your New Product Feature Failed](https://mahdif.com/blog/why-your-product-feature-failed.md): I know exactly what it feels like to launch a product feature and then see it fail. I've been there, and have done that 😅 - [Tips for Promoting a Healthy Company Culture](https://mahdif.com/blog/tips-for-promoting-a-healthy-company-culture.md): Leading teams and cultivating the right company culture can be challenging and is an art in itself. Here are 6 quick tips for promoting a healthy culture in which every team member thrives - [3 Tips for Building Strong Design Teams](https://mahdif.com/blog/three-tip-for-building-strong-design-teams.md): Building a strong product design team isn't a walk in the park, and over the years, I've found it quite challenging to find the right people 😶 That said, here are 3 tips for finding great candidates - [5 Common Product Mistakes to Avoid](https://mahdif.com/blog/five-common-product-mistakes-to-avoid.md): I've spent 15+ years building products, and guess what? The learning never stops 🙃, and I love it! Here are 5 common product mistakes to avoid, ones I wish I had known about earlier in my career - [Running ChatGPT alternative locally and offline](https://mahdif.com/blog/running-chatgpt-alternative-locally-and-offline.md): Concerned about data privacy with ChatGPT? Introducing Ollama, a secure, efficient solution for local language model deployment. - [Reinventing The Clap Reaction](https://mahdif.com/blog/reinventing-the-clap-reaction.md): Using technology to express human emotions. - [Building an App to Generate Gif Quizzes](https://mahdif.com/blog/designing-and-launching-an-app-to-generate-gif-quizzes.md): A walk through my design and development process for building gifbanana.com, why I built it, and how much it cost me. - [The Art of Design Spec'ing](https://mahdif.com/blog/the-art-of-design-specing.md): Let's learn more about design specs, how to create them, and how they smooth out the hand-off process between design and engineering. - [Blogging here I come!](https://mahdif.com/blog/first-official-blog-post.md): It's been a while since I've published an article. It's time to get back to it. ## Interactive demos - [Response Kit](https://mahdif.com/demos/response-kit.md): An interactive sketch of the blank box argument: one AI answer composed from five reusable UI primitives, at two densities. ## Pages - [Work](https://mahdif.com/work.md): Selected case studies and portfolio projects - [About](https://mahdif.com/about.md): Background, the places I have lived, skills, and photography - [Résumé](https://mahdif.com/resume.md): Career history and roles - [Side Projects](https://mahdif.com/side-projects.md): Things I have built on the side - [Contact](https://mahdif.com/contact.md): How to get in touch - [Newsletter](https://mahdif.com/newsletter.md): Get new posts by email, one email per post - [Résumé PDF](https://mahdif.com/resume/Mahdi-Farra-Resume.pdf): downloadable resume ## Reading and listening - [Books](https://mahdif.com/books.md): Books I recommend, with ratings - [Podcasts](https://mahdif.com/podcasts.md): Podcasts I listen to ## Optional - [Lab](https://mahdif.com/lab.md): Experiments and small explorations