I spent 14 months building PhotoQuill, a browser-based Photoshop alternative that runs entirely on WebGPU. Launched 2 weeks ago. Here's what I learned.
Why I Built This
I'm a designer turned developer. Every time I opened Photoshop, I had to wait forever for it to load. Plus, Adobe's $22.99/month subscription felt too expensive for occasional use. I thought: what if there was a browser version that just works, instantly, and for free?
The Technical Challenge
I started with Canvas 2D API. Performance was terrible with large images. Then I discovered WebGPU - the new browser GPU API that gives you direct access to graphics hardware.
Key decisions:
- WebGPU over WebGL (3-5x performance boost)
- Pure client-side processing (privacy + zero server costs)
- Full PSD compatibility, not just export (hardest part)
Three Hardest Technical Problems
- Reverse-Engineering PSD Format
Photoshop's .psd format has no complete public documentation. I spent a month studying the ag-psd library source code to understand layers, masks, blend modes, and data structures. Smart Objects were the worst - they're nested PSD files.
- WebGPU Performance Optimization
Getting 60fps canvas rendering in a browser required careful GPU memory management:
- Tile-based rendering (split layers into chunks)
- Only render visible areas
- Compute Shaders for filters (2x faster than Fragment Shaders)
Result: smooth editing even with 500MB PSD files.
- Implementing 27 Blend Modes
Photoshop has 27 layer blend modes (Multiply, Screen, Overlay, Color Dodge, etc.). Each one required writing GLSL shaders and ensuring pixel-perfect match with Photoshop's output. 2000+ lines of shader code.
What Worked
- Ship MVP fast: First version had just layers, brushes, and export. Launched in 2 weeks.
- Build in public on Twitter: Daily progress updates built early audience.
- Focus on one killer feature: Full PSD compatibility. Competitors only do partial support.
- Freemium model: Core editor free forever. AI features are paid add-ons.
What Didn't Work
- Trying to build 50 features at once: Took 3 months to realize I should ship with 10 core features first.
- Ignoring mobile: 30% of users are on mobile. Had to rebuild the UI.
- Over-optimization: Spent 2 weeks optimizing a feature only 1% of users touch.
Current Status (2 weeks post-launch)
- 800+ users (no paid ads)
- 15% day-1 retention
- First paying customer yesterday
- 4.6/5 rating on Product Hunt
Tech Stack
- Frontend: React + TypeScript + Zustand
- Rendering: WebGPU + GLSL Shaders
- PSD parsing: ag-psd (heavily modified)
- Hosting: Cloudflare Pages (free tier)
Cost Structure
- Server: $0 (static site)
- AI API: ~$50/month (user-paid)
- Domain: $12/year
- Total: Nearly zero operating cost
Advice for Indie Hackers
- Pick the right tech: WebGPU enabled desktop-class performance in a browser.
- Freemium works: Free core attracts users. Premium features convert.
- Build in public: Twitter exposure drove 60% of early traffic.
- Solve real pain: Adobe's price + install requirement + privacy concerns = clear market need.
Open Source Plans
Planning to open-source the core PSD parser and WebGPU rendering engine under MIT license. Want to help other developers build similar tools.
Questions for the Community
- What performance bottlenecks have you hit building browser apps?
- Would you consider using WebGPU over Canvas/WebGL?
- Any experience with freemium pricing models?
Try it: https://photoquill.com
Happy to answer technical questions about WebGPU, PSD format, or indie development.
Try it out here: PhotoQuill

Top comments (0)