> Markdown version of [/videos/100623-like-peas-in-a-pod-what-happens-when-people-clone-your-app](https://www.wearedevelopers.com/videos/100623-like-peas-in-a-pod-what-happens-when-people-clone-your-app). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Like Peas in a Pod - What Happens When People Clone Your App? Ivan Kutskir single-handedly built a Photoshop killer using 150,000 lines of vanilla JavaScript. Discover how he reverse-engineered PSDs and conquered browser limits to scale Photopea. - **Speakers:** Ivan Kutskir, [Christian Heilmann](https://www.wearedevelopers.com/@chris-heilmann), [Daniel Cranney](https://www.wearedevelopers.com/@daniel-cranney) - **Event:** WeAreDevelopers LIVE - **Published:** October 21, 2026 - **Duration:** 1:16:14 - **URL:** https://www.wearedevelopers.com/videos/100623-like-peas-in-a-pod-what-happens-when-people-clone-your-app - **Thumbnail URL:** https://customer-goifxnzhrq3d0d54.cloudflarestream.com/5bf87e8fc91679d541949d6232e5f7e0/thumbnails/thumbnail.jpg?time=4421015ms ## Summary The episode kicks off by exploring the rise of "vibe coding" for internal tools and how generative AI enables non-technical teams to bypass third-party software bottlenecks. The hosts examine the hidden maintenance costs of open-source adoption, typo-squatting security risks via homoglyphs, and evaluate how various AI agents tackle a custom UI challenge using modern CSS anchor positioning. The core narrative shifts to an interview with Ivan Kutskir, the solo developer behind Photopea, a massively popular browser-based Photoshop alternative. Kutskir details his 14-year journey of writing over 150,000 lines of vanilla JavaScript to reverse-engineer and parse complex PSD container formats natively in the browser. By keeping image manipulation entirely on the client side, Photopea operates as a highly scalable, privacy-first application that bypasses astronomical server costs, even if it occasionally hits browser RAM ceilings compared to native tools that cache directly to disk. Engineering a desktop-grade web application required overcoming entrenched browser constraints, such as wrestling to intercept default keyboard shortcuts like "Ctrl+T" to maintain muscle-memory parity for designers. Kutskir highlights a pragmatic approach to technical debt, abandoning his custom text-rendering engine in favor of compiling the C-based HarfBuzz font shaping library into WebAssembly. Ultimately, the conversation reflects on the future of design software, questioning whether AI-driven, prompt-based generation will inevitably replace the granular, layer-based photo editing workflows that defined the last two decades. **Keywords:** photopea browser clone, client-side processing architecture, webassembly integration, harfbuzz font shaping, psd file parsing, privacy-first photo editing, vibe coding internal tools, css anchor positioning, homoglyph security attacks, npm typosquatting, browser memory constraints, generative ai prompt editing, native browser shortcuts clash, agentic coding assistants, ui reverse engineering ## Chapters 1. **Navigating the clunky India visa application website** (00:25) — The hosts joke about repeating video intros and discuss the clunky experience of applying for an India e-visa. 1. **Introducing Photopea creator and solo developer Ivan Kutskir** (04:54) — The solo developer behind the browser-based Photoshop alternative Photopea shares the project's origins. 1. **Vibe coding and building custom internal company tools** (08:30) — The benefits of building simple internal UI tools and hacking interfaces using AI rather than relying on bloated third-party software. 1. **Hidden costs of adopting and maintaining open source software** (16:30) — An overview of Google's open source treaty emphasizing that implementing and maintaining free software still requires significant investment. 1. **Security vulnerabilities in ImageMagick and homoglyph typo squatting** (17:42) — A look at a recent arbitrary file read vulnerability in ImageMagick and the persistent threat of homoglyph domains. 1. **Challenges of detecting and moderating AI-generated image content** (20:51) — New detection tools struggle to reliably identify AI-generated media as automated image editing becomes cheaper and more accessible. 1. **Running Android APKs natively on Mac and fake meeting apps** (25:54) — A new emulator runs Android apps natively on Apple Silicon alongside a humorous website that simulates a busy video call. 1. **Exploring CSS anchor positioning through the Without Love challenge** (28:52) — A coding competition explores CSS anchor positioning alongside UI solutions generated by LLMs like Claude, ChatGPT, and Gemini. 1. **Playing the tech headline guessing game Faker News** (39:26) — A trivia game tests industry knowledge by challenging players to identify whether bizarre tech headlines are real or fabricated. 1. **Integrating HarfBuzz and navigating browser keyboard shortcut limitations** (49:42) — Photopea handles complex typography with HarfBuzz via WebAssembly and works around the challenges of mapping Photoshop keyboard shortcuts in a browser. 1. **Privacy-first architecture and reverse engineering the PSD format** (61:02) — How Photopea's client-side processing ensures user privacy while keeping server costs drastically low. 1. **Impact of generative AI tools on traditional photo editing** (64:43) — New generations may bypass complex photo editors entirely in favor of prompt-based AI image generation. 1. **Managing browser memory limits for rendering large PSD files** (70:28) — Opening massive files in a browser-based editor can cause memory crashes until upcoming file streaming APIs become standardized. ## Related Moments - [Balancing developer productivity tools with digital nostalgia](https://www.wearedevelopers.com/videos/100363-wearedevelopers-live-playing-in-production) (from "WeAreDevelopers LIVE - Playing in Production") - **Thumbnail URL:** https://customer-goifxnzhrq3d0d54.cloudflarestream.com/e6f89ca14ebcb8a0344cb9f91636f863/thumbnails/thumbnail.jpg?time=3244273ms - [Exploring agentic browsers and artificial intelligence generation](https://www.wearedevelopers.com/videos/1723-wearedevelopers-live-graalvm-in-action-static-analysis-insights-and-more) (from "WeAreDevelopers LIVE - GraalVM in action, Static Analysis insights and more") - **Thumbnail URL:** https://customer-goifxnzhrq3d0d54.cloudflarestream.com/02b7a7655fd62a50ddd8369156020eb5/thumbnails/thumbnail.jpg?time=215125ms - [The culture and developer reaction to vibe coding](https://www.wearedevelopers.com/videos/1376-wearedevelopers-live-vibe-coding-deep-dive-conference-video-editing-and-more) (from "WeAreDevelopers LIVE - Vibe Coding Deep Dive, Conference Video Editing and more") - **Thumbnail URL:** https://customer-goifxnzhrq3d0d54.cloudflarestream.com/02f32e36d35ecb4e850f910cc4dedd96/thumbnails/thumbnail.jpg?time=75135ms - [Audience Q&A on AI documentation formatting and tools](https://www.wearedevelopers.com/videos/100199-making-documentation-ai-ready-preparing-your-docs-for-the-llm-era) (from "Making Documentation AI-Ready: Preparing Your Docs for the LLM Era") - **Thumbnail URL:** https://customer-goifxnzhrq3d0d54.cloudflarestream.com/be57cd6710246a89eb75179c3e96b8a8/thumbnails/thumbnail.jpg?time=21830ms - [Navigating Apple's evolving on-device AI and machine learning stack](https://www.wearedevelopers.com/videos/100225-edge-ai-on-ios-beyond-the-cloud-designing-the-next-generation-of-intelligent-on-device-apps) (from "Edge AI on iOS: Beyond the Cloud, Designing the Next Generation of Intelligent On-Device Apps") - **Thumbnail URL:** https://customer-goifxnzhrq3d0d54.cloudflarestream.com/4f8f846e3c6379fac2a5314fbc25abbe/thumbnails/thumbnail.jpg?time=207270ms - [Uncovering hidden vulnerabilities and bloat in web ecosystems](https://www.wearedevelopers.com/videos/2166-wearedevelopers-live-is-css-catching-up-to-flash) (from "WeAreDevelopers LIVE - Is CSS Catching Up to Flash?") - **Thumbnail URL:** https://customer-goifxnzhrq3d0d54.cloudflarestream.com/fed3981e541dac022f599b412606c66a/thumbnails/thumbnail.jpg?time=30000ms ## Related Articles - [Dev Digest 118 - not a total recall](https://www.wearedevelopers.com/magazine/452-dev-digest-118-not-a-total-recall) - [Dev Digest 127 - putting 5 rings on it](https://www.wearedevelopers.com/magazine/464-dev-digest-127-putting-5-rings-on-it) - [Dev Digest 125 - Duck and Cover](https://www.wearedevelopers.com/magazine/462-dev-digest-125-duck-and-cover) - [Dev Digest 123 - Easy as A, B, C1](https://www.wearedevelopers.com/magazine/459-dev-digest-123-easy-as-a-b-c1) ## Related Jobs - [Senior Software Engineer, Sandboxes (Eu Or East Coast Preferred)](https://www.wearedevelopers.com/jobs/ext/2161904-senior-software-engineer-sandboxes-eu-or-east-coast-preferred) at **Docker, Inc.** - [Senior AI Frontend Engineer](https://www.wearedevelopers.com/jobs/ext/3785356-senior-ai-frontend-engineer) at **TeamViewer Germany GmbH** - [Senior AI Frontend Engineer](https://www.wearedevelopers.com/jobs/ext/2552851-senior-ai-frontend-engineer) at **TeamViewer Germany GmbH,** - [Senior Software Engineer, Sandboxes (Eu Or East Coast Preferred)](https://www.wearedevelopers.com/jobs/ext/2145616-senior-software-engineer-sandboxes-eu-or-east-coast-preferred) at **Docker, Inc.** - [Software Engineer, Fullstack](https://www.wearedevelopers.com/jobs/48415-software-engineer-fullstack) at **Sciforium** - [AI Software Engineer (Germany)](https://www.wearedevelopers.com/jobs/48317-ai-software-engineer-germany) at **Sunhat**