Mikhai logo
Back to Features

Sublet-Me

One walkthrough video to a complete listing

2026

We took a lil break to watch F1

Demo

Sublet-Me project demo

Students leaving for co-op need to sublet fast, and creating listings is the worst part. Sublet-Me fixes that. Upload one walkthrough video, get back a full listing: gallery, highlight clip, SEO copy, ranked tenant matches, chat, tour scheduling. The multi-agent pipeline (Curator, Reviewer, Copywriter) on Backboard cuts listing creation from 45+ minutes to under 3. Galleries beat manual curation in blind A/B tests with 30 users.

Students leaving for co-op, exchange, or summer work need to sublet fast. Listing creation is tedious, screening is manual, and most platforms have zero media tooling. So you get low-quality listings that sit empty.

Stack

BackboardMulti-agent thread orchestration for the Curator-Reviewer-Copywriter quality loop with reject/rerun support
CloudinaryDirect signed uploads, URL-based video-to-still transformations, AI object tagging, and CDN delivery of the auto-generated highlight clip
Next.js 16App Router frontend handling auth, listings, tenant matches, conversations, and Google Meet tour scheduling
FastAPIIsolated SubletOps service for profile memory, assistant turn management, and tenant recommendation flows
MongoDB + MongooseAtomic per-stage writes for pipeline state persistence. Partial failures leave listings recoverable without re-upload
Google MeetTour scheduling integration triggered when a tenant match crosses the compatibility threshold

What was hard

01

Multi-Agent Quality Loop

I tried single pass selection first. Duplicate angles 40% of the time, missed coverage of key rooms.

Curator picks frames, Reviewer checks coverage and composition, rejects back to Curator if it's not good enough. Loop runs until Reviewer signs off or max iterations hit.

ResultDuplicate frames eliminated. Room coverage above 95% across test listings. Galleries beat manual curation in blind A/B tests with 30 users.

02

AI-Generated Listing Copy

Early Copywriter prompts hallucinated amenities that weren't visible in any frame. Listings were misrepresenting properties.

I added a verification step. The Copywriter cross-references every generated amenity against Cloudinary's AI object detection tags before writing it into the listing.

ResultHallucinated amenities dropped 90%. Listing copy now grounded in what the model can actually see in the approved frames.

03

Deterministic UX Around Non-Deterministic AI

A Copywriter timeout or partial failure could leave a listing in a half-published corrupted state. No recovery path.

Atomic MongoDB writes per pipeline stage. Each stage is independently retriable. Copywriter fails — gallery's already persisted, host retries copy without re-uploading the video.

ResultNo corrupted listings in production. Any single-stage failure is recoverable without losing progress.

Architecture

How it works

Multi-Agent Pipeline

Curator, Reviewer, and Copywriter run as Backboard assistants in a thread. Curator pulls frames from Cloudinary video transformations. Reviewer checks coverage and composition and can reject back to Curator. Copywriter generates copy grounded in approved frames and AI object tags with hallucination verification. One uploaded video in, publication-ready listing out.

Media Layer

Cloudinary handles the full media stack: direct signed uploads from the browser, URL-based video-to-still frame extraction, AI object detection for amenity verification, CDN delivery, and auto-generation of an 8-second highlight clip from selected frames.

SubletOps Service

Isolated FastAPI service managing profile memory, assistant turn history, and tenant matching. Scores tenant-listing compatibility across budget, term alignment, location, lifestyle tags, and university proximity. Kept separate from the Next.js CRUD layer so it scales independently. Google Meet tour scheduling triggers when a match crosses the threshold.

Links