I built a free browser-based film photo editor in 4 months - here's what I learned about color math
I've always loved the look of film photography - the warmth of Kodak Portra, the gritty contrast of Ilford HP5, the washed-out nostalgia of a disposable camera. But every tool that tried to replicate these looks either cost money, required an account, or slapped a watermark on your photo.
So I built Polaroma. A free, browser-based film and analog photo editor. No account, no subscription, no watermarks. Everything runs locally in your browser - your photos never touch a server.
The hardest part: getting the math right
This is where I spent most of my 4 months. Film presets aren't just "add some warmth and call it Kodak." Real film stocks have specific color responses, shadows behave differently from highlights, grain has texture and structure, and the way light bleeds into dark areas is very particular.
I had to study actual film stock characteristics and translate them into precise pixel matrix operations. Every preset in Polaroma is a carefully engineered set of mathematical transformations - color curves, channel mixing, luminance mapping - applied directly in the browser using canvas APIs. The goal was zero AI, zero guessing. Just clean, deterministic math that produces the same organic result every time.
What I ended up building
- 20+ hand-crafted presets - film stocks, VHS, CRT, Polaroid, Y2K digicam, avant-garde styles
- Full manual controls - exposure, highlights, shadows, tint, grain, chromatic aberration
- Instant rendering - no cloud processing, everything happens in milliseconds
- Privacy-first - your images never leave your device
What I'd do differently
I underestimated how long the preset calibration would take. I thought the UI would be the hard part - it wasn't. Getting a Fuji Velvia preset to actually feel like Fuji Velvia, rather than just looking vaguely green and contrasty, took way longer than expected. If I were starting over, I'd build a calibration testing pipeline earlier instead of eyeballing adjustments one by one.
Try it out
If you shoot photos, edit content, or just like making things look cool, give it a try at polaroma.online. Would love feedback from fellow devs, especially on the rendering approach. Always curious how others have tackled color science in the browser.
Comments
No comments yet. Start the discussion.