Premium
A map-first
marketplace for
Myanmar.
A dual-mode real estate marketplace where buyers browse with zero friction and agents pay per listing — not per account. One Flutter app, two modes, bilingual English and Burmese.
Specified across 6 PRD modules, 6 architecture docs and 5 design docs — all held in an Obsidian vault.
Imagery on this page is stand-in material: the apps are pre-release, so no product screenshots exist yet.
No account. Ever.
Favourites, compare and history live on the device only.
Bottom nav bar
Five tabs, thumb-reach compromises, and a login gate on the first screen.
Drawer only
All primary navigation is a left drawer. A deliberate decision, not an oversight.
Golden light
over cream.
Not tech blue.
Aura Glass is the language both apps share: warm, luminous, calm — golden light over cream or deep bronze, frosted surfaces, generous whitespace. Every surface uses the same recipe, so the product reads as a single sheet of glass rather than a set of unrelated cards.
Blur is a budget,
not a decoration.
— design/01-design-system.md
One Material
Translucent fill, hairline stroke, warm shadow — everywhere.
48 dp Touch Targets
WCAG AA contrast, scalable text, low-end Android first.
Burmese First
SIL Padauk fallback; 1.5 line height across the scale.
Premium
Featured
A spec render of the listing card: a single 3:1 stack, a scrim that starts at half height so the top of the photo is never darkened, price as the card title. A listing has no title field — it was removed in change round 1.
Glass fill
#FFFFFF @ 55% light · @ 8% dark
Glass stroke
#FFFFFF @ 72% light · @ 15% dark
Glass shadow
#7A5A23 @ 18% light · #000000 @ 40% dark
Radii
Panels 20 · list cards 16 · buttons 12 · chips 20
Brand + semantic tokens
Primary #E8A33D · Primary Dark #C98416 · Secondary #A9855A · Success #3DA47E · Warning #E0762B · Error #D95448 · plus the cream surface stack.
Background · Surface · Text Primary · Text Secondary · Border
Background · Surface · Elevated · Text Primary · Text Secondary
One app for
browsers. One for
posters.
Guest and Agent Mode ship as a single binary, switched from the drawer — so a guest who becomes a poster never installs anything new.
See how a listing goes liveBilingual master data
Regions, cities, townships, property types and amenities all carry a name_mm column, so the same record renders in either language.
No auth
Verified agents
Nothing goes live
without a human.
Every listing and every developer project starts non-public and enters a first-in-first-out review queue. Expiry never deletes anything — it downgrades presentation, and renewal restores it.
Tier First
The 7-step form opens on tier selection, so an agent knows their photo and video limits before uploading.
Submitted as Pending
Location, details, amenities, media and a live customer preview — then it lands in the queue.
Reviewed, Oldest First
Approve, reject with a mandatory reason, or request changes. Target turnaround is under 24 hours.
Live — Then Downgraded
A daily sweep at 00:01 UTC drops the tier. The listing stays visible; extra photos, videos and the badge step aside.
Waiting on Approval
Not publicly visible. Owned by the poster, invisible to guests, and held back from the feed until it has been reviewed.
Live in the Feed
Ordered Premium → Featured → Normal, with the tier's badge, search priority and media allowance applied.
Graceful Downgrade
Still live, still visible. Photos past the 5th, all videos and the 360° tour are hidden — never deleted. Renewal flips them back.
Rejected or Archived
There is no hard delete anywhere. A rejection carries a reason; agents can archive their own listings, and nothing is ever removed from the record.
The rules live
with the data,
not the client.
Every request is checked against the same permission model, and reads go through a curated layer rather than raw records — so a query can never quietly step around a rule. Anything sensitive runs on the server, where the credentials never leave.
Guest reads
Agent writes
Privileged writes
Two isolated environments — UAT and production — with a written rule: every change lands in UAT first, then production, and is not done until both report identical counts and matching value sets.
Every change applied
to UAT first, then production
Write-read-back checks
surface silent reversions
Media rules live as data,
not as code branches
Guests can write exactly
two things: a report, a counter
Tiers attach
to listings,
not accounts.
An agent can run one Premium listing and five Normal listings at the same time. Each listing keeps the limits it was sold — the allowance is snapshotted onto the row, so a later change to tier configuration never retroactively shrinks an existing listing.
Normal
The entry tier. Free, and enough to list a property and be found in search.
30-day run · search priority 3 · no badge
- 5 photos
- No video
- No 360° tour
- Standard feed placement
- Nothing deleted on expiry
Featured
Adds video and a 360° tour, plus a star badge and a step up the search order.
30-day run · search priority 2 · ⭐ badge
- 10 photos
- 1 video
- 5 tour images
- Star badge on cards and detail
- Ranked above Normal
Premium
The full media allowance, top of the feed, and a gold card treatment in the home feed.
30-day run · search priority 1 · 🔥 badge
- 20 photos
- 3 videos
- 5 tour images
- Gold border and shadow
- First in the home feed
- Taller card in the feed
Where does the build stand today?
Two isolated environments are live and nearly every build task is implemented. The open item is verification, not construction.
Written to spec.
Verification
outstanding.
The plan was an 8-week MVP. In practice the project switched to owner-driven change rounds in August 2026 — fourteen of them, each gated behind a docs-first review. Nearly every build task on both boards is implemented, but release was deferred by the owner, and the real open item is verification rather than construction.
Planned phases
Phase 1 — MVP
Weeks 1–8Data model and media storage; guest discovery, search, map and detail; agent sign-in, dashboard and the create-listing flow; listing review, subscriptions and content.
Phase 2 — v1.1
Weeks 9–12Agent analytics, saved searches with push notifications, draw-search-area on the map, brochure download, performance work.
Phase 3 — v1.2
Weeks 13–16Biometric login, auto-save drafts, bulk approve, CSV export, an activity-log audit trail, deep-link work.
Phase 4 — v2.0
Future3D walkthroughs, mortgage calculator, agent reviews, in-app messaging, the iOS launch and Southeast Asia expansion prep.
Session duration
> 3 minutes
Approval turnaround
< 24 hours
Crash rate
< 0.5%
Detail page load
< 2 seconds
The honest caveat: the build sessions ran in a sandbox without a Flutter toolchain, so most entries end in “not analysed, not run” — the owner still owes a pub get → analyze → test → device pass. The code is written; proof that it runs is the outstanding item.
“a listing keeps the limits
it was sold”
— core model documentation
Thida
First-time buyer
Overwhelmed by scattered listings and unreliable filtering.
Ko Min
Independent agent
No dedicated platform for the Myanmar market, and hard to stand out.
U Hla
Project developer
Needs a professional project showcase, separate from regular listings.
Every listing then passes a human review before it reaches the feed, and expires on a fixed clock rather than renewing silently.
Brand marksfrom graphic/Logo/