Sparkle · PropTech · AI product
Sparkle: AI property photo enhancement with human review
Upload a gallery, run a guided enhancement and compare before and after to choose which photos to publish. The design and development work focuses on saving time while keeping the agent in control.

Client case study · Product design and development
Tech Lead and TypeScript/Next.js developer at Byrds Consulting.
Sparkle lets a real estate agent upload a gallery, run enhancement and export web-ready JPEGs. The challenge is to improve the image while preserving the photographed space. Each result remains available beside its original for review before publication.
Starting point
A complete gallery to prepare for every new property
For an agent, editing is only one step among securing the listing, visiting the property, writing the description and distributing it. Yet the work repeats every time: select the files, correct orientation, brighten a dark room, balance colour, remove temporary clutter and export a consistent gallery.
Sparkle already runs that pass in a few minutes. The agent uploads a gallery, starts enhancement, compares every result with its source and downloads web-ready JPEGs. Originals remain available, so the decision to publish always belongs to the user.
The product contract
Remove repeated file handling without delegating the representation of the property to a generative model.
- Clean, declutter and correct light and colour in one pass.
- Preserve geometry, permanent fixtures, framing and perspective.
- Keep the original and require human review before publication.
- Fit the file organisation the agency already uses.
The invariant
Define what enhancement can change
The production prompt limits enhancement to removable clutter, cleaning, lighting and colour. It prohibits inventing, replacing, moving or redrawing elements, and requires the exact camera position, crop, architecture, geometry and proportions to be preserved.
Those rules give the current mode a clear boundary: improve what exists. They cannot guarantee that a generative model will never drift, so the interface keeps the original and presents every result as something to review—not as an automatically publishable truth.
Before
AfterRoom envelope retained
Walls, floors, ceilings, openings, permanent fixtures and the room layout must not be redrawn.
Stable viewpoint
Camera position, crop, perspective and spatial proportions stay aligned with the source photo.
Bounded changes
Enhancement targets removable clutter, marks, exposure, temperature and colour balance.
Human decision
Every version remains comparable with its original. The agent decides what honestly represents the property.
The comparison lets the agent spot model drift and decide whether the photo can be published.
Available product
An enhanced gallery the agent reviews before publishing
Enhancement covers photo upload, processing, comparison with originals and JPEG export. It applies a limited editing scope and leaves the choice of images to publish with the agent.
The delivered workflow
From gallery upload to image selection.
- Upload property photos and start enhancement.
- Clean up and adjust lighting and colour within the Enhancement scope.
- Compare each result with its original, which remains available.
- Select and download web-ready JPEGs.
The check before export
Prompt instructions do not guarantee that the model will stay within bounds. The original and comparison remain necessary to check geometry, permanent fixtures and viewpoint.
Connected sources, home staging and renovation: in development
Connected sources and automatic synchronisation are still in preview. The sections below describe work in progress, not an available feature.
Home staging and renovation are also in development, with no public release date. Staging adds movable furniture; renovation proposes different finishes or permanent equipment. These modes require more user choices and retain the room envelope, openings, proportions and viewpoint as their reference.
See the planned import workflow
Workflow in preview
Connect the source once, keep the agency’s organisation
The source work now in progress introduces one contract for local imports, Google Drive, Dropbox and S3-compatible storage including AWS S3, MinIO and Cloudflare R2. Each adapter can traverse files, normalise errors and send photos through the same import and enhancement pipeline. Automatic synchronisation applies to connected sources.
A user connects an account in Settings and chooses one parent folder. Each direct child folder then represents one property; compatible photos inside it are discovered recursively. The first scan records existing folders and presents them as import candidates, with previews loaded from the source but no silent listing creation. After that initial inventory, every new child folder can automatically create a draft listing.
Agency folder
One parent folder in Drive, Dropbox or S3-compatible storage; one direct child per property.
Source adapter
OAuth tokens and storage credentials encrypted at rest, paginated traversal, bounded downloads and normalised errors.
Non-destructive synchronisation
Initial inventory, reconnect-safe state, processing leases, bounded retries and additive reconciliation.
Shared photo pipeline
Manual and remote imports share ownership, format, plan-limit and auto-enhancement checks.
Draft for review
New photos arrive in Sparkle; the agent compares, selects and exports without losing the original.
Two guardrails keep convenience from becoming destructive: deleting a remote file never deletes anything in Sparkle, and an automatic import never consumes a separately purchased credit.
Target journey
From new folder to draft, without another manual import
The automation adopts a convention many agencies already use: one folder per property. Sparkle does not ask them to replace their storage tool or repeat a file selection for every listing.
01
Connect a source
The user authorises Drive or Dropbox, or configures compatible S3 storage. Persistent tokens and credentials are encrypted.02
Choose the parent folder
Sparkle records existing child folders and makes them browsable. Importing one remains an explicit action.03
Add the next property
After the initial inventory, a new child folder is queued automatically and becomes a draft with its photos.04
Enhance, then publish
The shared pipeline normalises, enhances and versions the images. The agent compares, selects and exports.
Automatic import can be disabled independently for each synchronised root. The saving comes from removing repetition, not removing the agent’s control.
Product and connector documentation
- Sparkle. Product website. Public positioning for Enhancement, preservation rules, formats, limits and the before-and-after comparison.
- Search for files and folders. Google Drive API. Official documentation for traversing and filtering Drive files and folders.
- Choose Google Drive API scopes. Google for Developers. OAuth scopes, least-privilege guidance and durable refresh-token storage.
- OAuth Guide. Dropbox Developers. OAuth, offline access and refresh-token guidance for a durable connection.
- Amazon S3 API Reference. AWS Documentation. Reference REST contract for S3 and compatible storage services.
- S3 API compatibility. Cloudflare R2. R2’s implemented S3 operations and the compatibility differences the adapter must handle.