AkiPath
A rental trust platform for newcomers to Ontario. Conceived, designed and shipped end-to-end — a live email application loop, an AI cover letter, a branded PDF trust profile, a nightly listing scraper, auth and a full admin portal — in roughly six months of part-time building alongside a full-time role as a Business Systems Analyst at TD Bank. This is not a concept. It is live at akipath.lovable.app.
- Role
- Sole Product Designer & Product Owner
- Tools
- Figma, Notion, Lovable, Supabase, Apify
- Tags
- Zero-to-oneTrust & SafetyMobile AppProduct Ownership

Your verified path to home in Canada.
At a glance
6 months
Solo build timeline
30+
Profile data points collected
Live
End-to-end email application loop
1.0–5.0
Application Strength Score
The problem
Every year more than 500,000 skilled economic migrants arrive in Canada, and a significant proportion settle in Ontario — particularly the Greater Toronto Area. Most have stable employment, verifiable savings and every intention of paying rent on time. Most also get rejected by landlords before a single conversation happens.
The reason is not their reliability. It is their invisibility inside Canadian trust systems. Ontario landlords screen on three signals: Canadian credit score, local rental history and Canadian references. A newcomer who arrived six months ago from Nigeria, Ghana or Kenya with a full-time offer and six months of savings has none of them. Not because they are a risk — because they are new.
The trust gap
| What landlords ask for | What a newcomer can provide | |
|---|---|---|
| Credit | Canadian credit score | Not yet established |
| History | Local rental history | Not applicable |
| References | Canadian employer reference | New employer, no history |
| Landlord | Previous Canadian landlord contact | First rental in Canada |
The result is a trust gap. Landlords assume risk they cannot measure; tenants cannot prove what they genuinely are. Both lose time and money. The average newcomer household spends six to eight weeks finding housing, often settling for substandard conditions because no one will take a chance on them.
The market is not building for this. Kijiji, Rentals.ca and Zumper are listing aggregators — they surface supply and do nothing about the trust asymmetry on the demand side. No product in Canada has seriously attempted to be the trust layer between newcomer tenants and Ontario landlords. That is the gap AkiPath fills.
My role
I was the sole product lead, designer and product owner. I ran discovery, defined the problem space, wrote the PRD, designed every screen and flow, authored every prompt used to build the product, made every architecture and prioritisation call, ran closed beta testing with real users, and iterated on what came back.
- Discovery & research
- PRD
- System design
- UX / UI
- Prompt engineering
- Architecture decisions
- Beta management
- Iteration
I also made the structural call that defined the build: pivoting from an AI conversational intake — which produced validation bugs, looping responses and inconsistent data — to a stepped wizard with constrained inputs. That decision saved weeks of debugging and delivered a far more reliable pipeline into the matching and application engine.
Discovery & research

“I had the money. They still said no.”
Primary research. I interviewed newcomer tenants from West African countries living in the GTA. Three themes recurred in almost every conversation.
“I had a job. I had money. The landlord still said no.”
Beta interview participant · GTA newcomer
“I spent three weeks on Kijiji. Nobody replied.”
Beta interview participant · GTA newcomer
“I didn't know what to put in my application to make them trust me.”
Beta interview participant · GTA newcomer
Secondary research. I mapped the Ontario rental application process against what newcomers can actually provide. The gap is structural: OREA Form 410 assumes Canadian credit history, local employer references and previous Canadian landlord contacts. None of these apply in a first year.
Landlord interviews. Speaking directly with a GTA landlord surfaced four things: they want Tinder-style matching, a fast signal of fit before investing time; their biggest fear is non-payment, not immigration status; they are receptive to advance rent (3–6 months upfront) as a substitute for missing credit history; and they take professionally packaged applications materially more seriously.
Mom Test discipline. I never asked whether people would use the product. I asked them to describe the last time they looked for housing, how they applied and what happened. The hair-on-fire problem — being taken seriously by a landlord who has no information about you — emerged consistently without prompting.
Product strategy
The insight that shaped everything: AkiPath is not a listings platform. Kijiji has more listings than we could ever scrape. The defensible position is being the trust infrastructure layer — the thing that moves a newcomer from unknown applicant to credible applicant. Listings are the distribution mechanism. Trust is the product.
| Listing supply | Trust layer | Positioning | |
|---|---|---|---|
| Kijiji / Rentals.ca / Zumper | High | None | Aggregators — surface supply, ignore trust |
| AkiPath | Sufficient | High | The trust layer between newcomers and landlords |
The YC “brick”. The hair on fire is being invisible to landlords. The brick that lands squarely on it is a professional, structured, landlord-readable document that pre-empts every objection a landlord has about a newcomer, delivered in a one-tap application flow. Everything in AkiPath exists to deliver that brick.
Product architecture
I designed the system as three interconnected layers.
Layer 01
Profile Engine
A stepped intake wizard collecting 30+ structured data points: housing preferences, financial picture (branching on in-Canada status), guarantor details with financial tier verification, lifestyle, advance payment willingness and intended lease duration. Every field is a constrained input — no free text except location — which eliminates the data quality problems of the conversational approach.
Layer 02
Trust Profile
A branded PDF generated client-side with html2canvas and jsPDF, capturing all profile data in a scannable, professional format. Deliberately not an OREA Form 410 replica — for copyright compliance, and because that format cannot accommodate the premium signals we collect. Designed to look like a relocation service output, not an MVP.
Layer 03
Application Engine
An AI cover letter (GPT-4o-mini via an edge function) personalised per listing with income-to-rent ratio, employment status, move-in date, guarantor details and advance payment offer. An Application Strength Score weighted across seven factors on a 100-point system, shown as 1.0–5.0 stars. One-tap send relays the email via Resend with the PDF attached and the tenant BCC'd.

Left to right: intake wizard, listing results, application review.
Key design decisions
Decision 01
Pivot from conversational AI to a stepped wizard
Three weeks of testing on the free-text chat intake exposed a structural problem: AI-parsed free text produces inconsistent, validation-prone data. The email field looped because the model didn't read a repeated answer as resolution. Budget answers like “around 1.8k-ish” couldn't be converted reliably. Constrained inputs — pill selectors, sliders, dropdowns, icon tiles — fixed data quality completely. The lost conversational warmth came back through copy and micro-interactions: Brie's voice still lives in the loading tips, the welcome email and the application review prompts.

Before: chat interface. After: stepped wizard. Pivot decision — week 3 of testing.
Decision 02
Defer auth to first action, not first result
The original design fired an auth modal the moment a user hit results — asking for commitment before they'd seen any value. The redesign defers auth to the first meaningful action: View Details, Save or Unlock. The same pattern Airbnb and LinkedIn use.
Before
After
Decision 03
Application Strength Score framing
The original static grid of stat tiles showed “Not specified” for missing fields — highlighting gaps right before a user was asked to pay $39. Never make the user feel broken at the point of conversion. The score inverts it: it leads with what is working, frames gaps as improvable rather than broken, caps improvement items at two, and never surfaces credit score as a gap — because that is the exact problem AkiPath exists for.
Decision 04
No document upload at MVP
Document upload and verification were in the original PRD. I cut them: storage complexity, verification workflow overhead, and — critically — they weren't needed to test the hypothesis. Does a professionally packaged application increase landlord response rates? You can answer that without verified documents. Shareable supporting links are the lighter substitute; upload is Phase 2, after the core loop is validated.
Information architecture
The full journey, from first open to sent application, was designed around one principle: the user should feel increasing confidence at every step, never anxiety. The wizard asks for more as the user gets more comfortable. Results show value before asking for anything. The Apply screen leads with strength signals before it asks for payment.
Newcomer journey
Technical architecture decisions
As product lead I made the key architectural calls and authored the specifications that drove implementation.
- Supabase — database, auth, RLS, pg_cron
- GPT-4o-mini — cover letter generation
- Resend — email relay with PDF attachment
- Apify — nightly Kijiji + Zumper scrape, 03:15 ET
Database design. A 30+ column profiles table with branching financial fields. A separate sent_applications table — not unique on user + listing, so reapplication is possible. saved_listings with a unique constraint. RLS policies scoped so landlord contact details never appear in public reads; they are revealed only through an authenticated action.
Listing pipeline. A nightly Apify cron scraping Kijiji and Zumper, upserting on unique(source, external_id), with Nominatim geocoding at scrape time. Three-pass fallback matching: budget + bedrooms + distance, then no filters sorted by price, then absolute cheapest active. A $500–$8,000 price gate filters out for-sale listings that bleed through.
Auth architecture. AuthGate holds session state with a synchronous clear on SIGNED_OUT and on any uid change. isPaid derives exclusively from the database profile row, never from local state. That fixed a session isolation bug where a previous user's profile persisted into a new sign-in — a race between async profile fetches and session changes.
Refactor decision. After three months of feature accumulation, Index.tsx had grown to 279 lines owning wizard state, the auth listener, results routing, the payment modal and KPI timestamps at once. I planned and executed the split into WizardFlow, ResultsScreen, AuthGate and fromWizard, and deleted seven dead chat-era components. The build stayed green throughout.
Measuring success
KPI 01
≤3 days
Median time to first listing engagement
signed_up_at → first_listing_engagement_at
TargetKPI 02
15–20%
Landlord reply rate per application
vs. a 5% industry baseline
In validationKPI 1 measures how quickly users move from signup to actively pursuing a landlord — proof that the profile-building flow creates immediate action. KPI 2 is the primary validation of the core hypothesis: seven days after a send, the system asks the tenant whether the landlord responded (Yes / No / Still waiting). Does a professionally packaged application change landlord behaviour?
Supporting signals tracked: profile_status progression, is_paid conversion rate once Stripe is live, advance payment offer selection rate and guarantor inclusion rate.
Outcomes & current state
Shipped
- Full end-to-end MVP live
- Closed beta with real users
- Real applications sent to real landlords
- Admin portal with scrape monitoring and metrics
- PIPEDA-compliant T&Cs and privacy policy
- AI cover letter and Application Strength Score
Next
- Stripe integration
- Detail-page listing scraper
- 7-day reply check-in edge function
- Admin profile review queue
What I'd do differently
Commission the landlord insight earlier. The direct landlord interview — which surfaced the advance rent signal, the non-payment fear and the desire for fast matching — happened late. Those insights would have shaped the Application Strength Score weights and the guarantor flow earlier and more precisely.
Validate willingness to pay before building the paywall. I built the full $39/quarter flow before running a single concierge-style paid test. A two-week manual “done-for-you” application service at $99, with no product at all, would have confirmed price tolerance faster and generated real landlord response data at the same time.
Cut the AI chat interface two weeks earlier. Conversational intake was the right instinct and the wrong implementation for the data quality a matching engine needs. The signal was there in week two. I held on for another week hoping prompt engineering would fix a structural problem.

The loop closed: build a trust profile, send a professional application, get a reply.
Skills demonstrated
- Zero-to-one product ownership with no engineering team
- Primary and secondary user research (Mom Test, JTBD framing)
- Systems-level product thinking — trust infrastructure over aggregation
- Information architecture across a complex branching intake flow
- Database schema design with an RLS security model
- AI product integration with clear use-case discipline
- Lean prioritisation under real constraints
- Closed beta management and structured feedback triage
- Technical decision-making at architecture level
- PIPEDA-compliant legal documentation for a Canadian consumer product
AkiPath is live at akipath.lovable.app.