Genrupt: From AI Generation to Seller Workflows
Built a Next.js AI image editor and seller workflows for generating, reviewing, and editing creative content. Helped Genrupt support its first 200 paying customers.

Project overview · 47 seconds
Paid seller workflows needed account and job controls
Genrupt already generated AI images and video for Amazon sellers. To serve paying teams, it needed shared organization accounts, subscriptions, and credit accounting that stayed correct when generation ran concurrently or a provider request had to retry.
I joined as a product engineering contractor and worked directly with the founder. My scope covered the image editor, billing and credits, background processing, seller workflows, and external agent access. I helped turn the founder’s product direction into shipped workflows for market analysis, review scraping, listing generation, and A+ content.
The product kept expanding while serving paying customers. Each new workflow had to fit the same account, permission, and job controls.
Making generated image text editable
I built an image editor that uses optical character recognition (OCR) to detect text, turns it into editable layers, and uses inpainting to remove the original text from the image. Detection and removal had to work together: a correct text layer was of little use if the background repair left visible damage.
I evaluated self-hosted models on RunPod and selected providers for latency and removal quality. That meant judging the result a seller would edit, alongside the time it took to get there.
Frontend workflows from generation to editing
The Next.js interface connects creative generation, review, reruns, batch editing, and A+ content creation. Editable text layers give sellers a way to revise generated images instead of starting again for each text change.
Generation status, retry, and recovery paths keep long-running work visible. These interfaces sit on the same organization, billing, and job controls described below, so the user’s editing workflow stays connected to the work being performed and charged.
Protecting credits through concurrency and retries
Reserve credits atomically.
Concurrent requests can both see enough credit before either spends it. I used atomic PostgreSQL reservations and row locking to prevent generation from overdrawing an account, with cleanup when work failed.
Keep a retry attached to the original provider job.
I moved image generation into pg-boss background jobs. For video, retries reused the provider job and settled costs idempotently, so repeating a request did not create another charge for the same work.
Status and recovery paths connected long-running image, video, storyboard, and seller jobs to the credits and billing state they affected.
The creative workflows used the same commercial systems
Creative variations, batch editing, and A+ content ran on the product’s shared account, billing, credit, and background-job systems. My contribution included both the seller workflows and the controls that charged for and recovered their work.



Connecting seller workflows to external agents
I exposed market-analysis and Amazon listing workflows through Model Context Protocol (MCP). OAuth and organization-aware access kept those calls tied to the customer’s account. A selected tool catalog and asynchronous results let agents start approved work and retrieve its result without handling the application’s internal job mechanics.



What shipped, and what the evidence covers
This work helped Genrupt support its first 200 paying customers. That is a shared product outcome from my work alongside the founder; my contribution was the engineering described here.
Teams could subscribe, share an account, and buy credits.
Organization billing, credit accounting, and payment updates supported paid seller workflows.
Generation jobs had a path through retries and failures.
Credit reservations, background jobs, and idempotent cost settlement kept generation work connected to account balances.
External agents could run approved seller actions.
OAuth and organization-aware MCP access exposed selected workflows with asynchronous results.
The screens show shipped workflows, and my Applied AI résumé records the OCR and inpainting work, credit controls, provider-job reuse, and MCP integration. Model selection is described here through its criteria; a numerical comparison is not included. You can visit Genrupt to see the product.
Looking for a senior frontend engineer?
I help product teams build and improve React and TypeScript applications, from complex interfaces to reliable releases. I’m open to remote roles and contract work.