Pre-release Verification outstanding

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.

Product Surfaces
2
Build Tasks Specified
104
Owner Change Rounds
14

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.

Conventional Aura Estate

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.

Screens in Guest Mode 18
Design System

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.

Yangon Condo 2 Bed
Stand-in property cover photo
Premium
1,000 Lakh MMK
Bahan Township · Yangon
Stand-in property cover photo
Featured
3.5 Lakh MMK
Chanmyathazi · Mandalay

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 recipe

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.

Light · warm cream Dark · deep bronze

Background · Surface · Text Primary · Text Secondary · Border

Background · Surface · Elevated · Text Primary · Text Secondary

Contrast target WCAG AA
The Product

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 live

Bilingual master data

English en_US
မြန်မာ my_MM

Regions, cities, townships, property types and amenities all carry a name_mm column, so the same record renders in either language.

Stand-in property imagery
No auth

Guest Mode

18 screens

Home, search, map, detail, favourites, compare, recently viewed, agent directory and 360° tours.

Stand-in property imagery
Verified agents

Agent Mode

Dashboard, a 7-step create flow, my listings, profile, and a block-based project builder.

Stand-in interior imagery

Map-first Search

Browsing starts at the map, not a text box. Filter by township and sort by distance.

Stand-in interior imagery

Per-listing Currency

MMK, USD or CNY chosen by the poster. Display only — there is no FX conversion anywhere.

Stand-in interior imagery

Ratings & Reports

Anyone can rate a listing or flag a problem — the only two contributions that need no account.

Listing Lifecycle

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.

1

Tier First

The 7-step form opens on tier selection, so an agent knows their photo and video limits before uploading.

2

Submitted as Pending

Location, details, amenities, media and a live customer preview — then it lands in the queue.

3

Reviewed, Oldest First

Approve, reject with a mandatory reason, or request changes. Target turnaround is under 24 hours.

4

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.

status = pending

Waiting on Approval

Not publicly visible. Owned by the poster, invisible to guests, and held back from the feed until it has been reviewed.

Burnt orange — deliberately not brand gold
status = active

Live in the Feed

Ordered Premium → Featured → Normal, with the tier's badge, search priority and media allowance applied.

Success green
is_visible = false

Graceful Downgrade

Still live, still visible. Photos past the 5th, all videos and the 360° tour are hidden — never deleted. Renewal flips them back.

The single most cross-cutting rule in the product
status = archived

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.

Soft delete everywhere
No payment SDK. Anywhere.
A bank transfer or cash payment is confirmed by hand and the expiry extended. There is no card handling and no in-app purchase in v1.
Engineering

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.

A column guard stops agents self-upgrading
Area search by drawing on the map, later
Search that forgives typos, in both scripts
Value sets as data, not hard-coded codes
One shared core UAT + Production

Guest reads

public listings only · no account needed

Agent writes

scoped to their own listings

Privileged writes

credentials held server-side, never shipped

Framework Flutter 3.x
State GetX
Local store GetStorage
Auth tokens Secure Storage
Languages English · မြန်မာ
Platforms iOS · Android

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

Subscriptions

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.

Limits, badges and search priority all read from the tier row
A 4th tier is a data change, not a rebuild
Card treatment is driven by a highlight_style value, so an unknown tier still renders
External payment No card handling
Tier pricing is not published yet

Normal

Stand-in property imagery

The entry tier. Free, and enough to list a property and be found in search.

Free

30-day run · search priority 3 · no badge

  • 5 photos
  • No video
  • No 360° tour
  • Standard feed placement
  • Nothing deleted on expiry
How tiers expire
Most Listings

Featured

Stand-in property imagery

Adds video and a 360° tour, plus a star badge and a step up the search order.

Not published

30-day run · search priority 2 · ⭐ badge

  • 10 photos
  • 1 video
  • 5 tour images
  • Star badge on cards and detail
  • Ranked above Normal
See the downgrade rule

Premium

Stand-in property imagery

The full media allowance, top of the feed, and a gold card treatment in the home feed.

Not published

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
How limits are enforced

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.

Read delivery status
Warm contemporary interior
Delivery Status

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.

Two isolated environments live Changes applied in lockstep Device test pass pending Release deferred

Planned phases

Phase 1 — MVP

Weeks 1–8

Data 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–12

Agent analytics, saved searches with push notifications, draw-search-area on the map, brochure download, performance work.

Phase 3 — v1.2

Weeks 13–16

Biometric login, auto-save drafts, bulk approve, CSV export, an activity-log audit trail, deep-link work.

Phase 4 — v2.0

Future

3D 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.

Aura Estate brand mark — final design Aura Estate company logo Brand marks
from graphic/Logo/