Appearance
Roadmap
Completed — MVP
| Feature | Status |
|---|---|
| Browsable listings with search, filters, pagination | Done |
| Listing detail with image gallery | Done |
| Authentication (tenant / landlord roles) | Done |
| Favorites system | Done |
| Landlord CRUD (create, edit, status, delete) | Done |
| Image upload & management | Done |
| Interactive Google Maps with marker clustering | Done |
| Homepage with featured listings & neighborhood explore | Done |
| Dashboard (overview, favorites, listing management) | Done |
Completed — Scraper Pipeline
| Feature | Status |
|---|---|
Kijiji scraper (Playwright, __NEXT_DATA__ Apollo parsing) | Done |
| Two-phase pipeline: recent (pages 1-2) + deep rotation | Done |
| Image download pipeline (parallel, 10 concurrent) | Done |
| Normalizer (raw → structured, geocoding, neighborhood matching) | Done |
| Importer (scraper DB → public listings with images) | Done |
| Staleness detection & archival (48h threshold) | Done |
| Telegram notifications per pipeline step | Done |
| Admin dashboard (Fastify + HTMX, pipeline funnel, run history) | Done |
| Scheduled pipeline (cron every 30 min, overlap protection) | Done |
| BullMQ job queue with Redis (replaces node-cron) | Done |
| Bull Board UI for job monitoring at /queues | Done |
| Persistent scraper state (survives restarts) | Done |
| Raw data snapshots for debugging/reprocessing | Done |
Phase 9: Bilingual (FR/EN)
Full French/English support across the platform.
- URL prefix routing (
/en/listings,/fr/listings) - Translation files for all UI strings
- Language switcher in header
- Listing content stays in original language (AI translation in Phase 10)
- SEO: hreflang tags, translated meta descriptions
See Bilingual plan for details.
Phase 10: AI-Assisted Features
Leverage Claude to make search, listing creation, and content smarter.
- Natural language search ("2 bed near metro under $1500 pet-friendly")
- Listing description generator from bullet points
- Auto-translation of descriptions FR/EN
- Smart amenity tagging from description text
- AI-generated neighborhood summaries
See AI Features for details.
Phase 11: Building Profiles
First-class building entities with aggregated data.
- Building pages with all current and past listings
- Building-level amenities (gym, pool, doorman, etc.)
- Landlords link listings to buildings
- Building photos and descriptions
- Future: tenant reviews per building
See Buildings for details.
Phase 12: Market Analytics & History
Transparent rental market data.
- Price history snapshots on status changes
- Days on market tracking
- Neighborhood rent averages by bedroom count
- Price trend charts (per neighborhood, per building)
- Historical listing archive
- Public stats dashboard at
/stats
See Analytics for details.
Near-term: Tenant → Landlord Inquiry System
Allow tenants to contact landlords directly through the platform.
- "Contact Landlord" button on listing detail page
- In-app messaging thread per listing+tenant pair
- Email notifications to landlord on new inquiry
- Landlord can view and reply from dashboard
- Inquiry history visible to both parties
- Rate limiting to prevent spam
- Optional: pre-filled inquiry template with move-in date, # of occupants, etc.
Phase 13: Multi-Scraper Pipeline
Scale from single Kijiji scraper to multi-platform aggregation with decoupled architecture.
- Additional scrapers: Kangalou, Craigslist Montreal, Realtor.ca rentals
- Multi-queue architecture: Split single BullMQ queue into per-stage queues for independent concurrency
- Cross-platform deduplication: Detect same listing on multiple sites (address + price + bedrooms fuzzy matching)
- AI-powered enrichment: Parse descriptions for amenities, quality scoring, auto-categorization
- Concurrent workers: Multiple scrapers feed shared download/normalize/import queues
Proposed Features
In-depth exploration of major features under consideration. Each has a dedicated analysis doc.
Properties & Rental History
Persistent property entities separate from listings. A property represents a physical rental unit that exists whether or not it's currently listed. Enables rental history tracking, landlord portfolio management, re-listing convenience, and cross-platform deduplication. Foundation for Building Profiles (Phase 11) and Market Analytics (Phase 12).
See Properties & Rental History for full analysis.
Future ideas
| Idea | Description |
|---|---|
| Tenant reviews | Ratings for buildings and landlords |
| Rental applications | Apply directly through the platform |
| Lease management | Upload, sign, and store lease documents |
| Rent payments | Track and pay rent through MTL Rent |
| Saved search alerts | Push notifications when new listings match criteria |
| Comparable analysis | "Is this rent fair?" AI-powered price comparison |
| Transit & walkability | Walkability and transit scores per listing |
| Virtual tours | 3D walkthrough integration |
| Landlord verification | Verified badges for identity-confirmed landlords |