AI Photo Editing App

Sep 2023 – Jan 2024
Problem
The edits people actually want from a photo app — remove that person, drop the background, make the sky dramatic, put him in a suit — are each a different technical problem, but users expect all of them behind a single tap. Each feature needs an accurate mask, a plausible fill, and a result that survives being zoomed into.
Approach
I built four editing features on a shared backbone of segmentation plus generative inpainting:
- Object removal — segment the unwanted region, then inpaint it with surroundings-consistent content rather than a blur or clone-stamp patch.
- Background removal — high-quality alpha matting around hard cases: hair, glasses, motion blur at the subject boundary.
- Sky replacement — sky segmentation combined with colour harmonisation, so the relit foreground matches the new sky instead of looking pasted on.
- Suit changer — garment-region segmentation and generative synthesis that keeps the subject’s identity and pose intact.
The common thread is that mask quality dominates perceived output quality: a strong generative model behind a sloppy mask still looks wrong at the edges, so most of the tuning effort went into the segmentation stage and its boundary refinement.
Tech stack
PyTorch · Diffusion Models · Segmentation networks · OpenCV · Python
Outcome
Delivered as a set of consumer-facing editing features.