Bazaart
Batch Studio: Bazaart's web editor for sellers, which edits up to 1,000 product photos at once on desktop. I worked on it in a team of two developers and a designer.
- Year
- 2024 – present
- Context
- Software Engineer, Bazaart
- Role
- Frontend engineer. Led the bulk editor in a team of two developers and a designer, made the architecture decisions, and helped build the coded design system
- Tools
- TypeScript, React, Redux Toolkit, Web Workers, Storybook, Jest, Playwright, Fabric.js (HTML5 canvas)
Released in June 2026. Opened by about 8% of active web users in its first 19 weeks.
Batch styling
A few simple choices (background, size, shadow, framing, a sale badge) restyle every photo at once, and each change shows across the whole grid immediately, so a seller can judge the result at a glance.
One responsive layout
One experience that adapts instead of two separate products. On a phone the tools move to a bottom bar, panels slide up like sheets, and the page never zooms by accident or hides controls under the keyboard.



AI templates on a whole batch
Pick one look and apply it to every photo in one step. Placeholder cards appear instantly, then a small worker pool generates four at a time while the rest wait. Results return to their original positions, and a failure marks only its own card without stopping the others.
AI Studio on a product
A short path from a plain photo to a gallery of shots: pick a shot type, choose from nine options that appear together, and have them land next to the original, grouped as one product.
On the phone
Interaction details
What I did
- Led the web app's bulk AI photo editor in a team of two developers and a designer, and made the architecture decisions. People edit one or many images with instant rendering while AI generation runs in the background.
- Fixed 7+ second UI freezes on large photo batches by moving heavy jobs (HEIC conversion, background removal, masks) to Web Workers. The editor supports up to 1,000 images on desktop.
- Built a history system that stores each image's actions and values instead of rendered images, with capped steps and undo recovery across multiple images.
- Built a side-editing mode with its own UI and history, so people can experiment safely, then discard or apply. Built canvas editing tools on Fabric.js with rotation-aware geometry.
- Split a monolithic app context into Redux Toolkit state slices, removing unnecessary UI re-renders.
- Helped build the coded design system from Figma and Claude Design: reusable components from buttons to full screens, documented in Storybook, and the base for the design-to-code agent workflow.
- Adapted the editor for phones: panel layouts, touch gestures and selection, and a full-screen image focus that resizes as panels open and close.
How I work with AI
- Helped build agent workflows: a design-to-code pipeline (task bundles, agent-built, verified by tests, reviewed in separate PRs) and a per-PR translation sync that updates about 15 languages.
- Keep code quality high with manual and AI-assisted review, regression and Playwright UI tests, and documented code design, decisions and a learning log so agents follow our standards.
Want to talk about this work? mr.omer.viner@gmail.com · LinkedIn