Manage data sources, integrations, and monitor pipeline health.
The backend will poll this inbox on a schedule and parse incoming commercial listing alerts.
Outlook/Microsoft 365 typically requires an app password rather than your account password. Generate one at account.microsoft.com → Security → Advanced security options. For corporate Microsoft 365 accounts, use the OAuth tab — basic auth is often disabled.
Recommended for modern Outlook accounts. Uses Microsoft Graph to read mail without storing your password.
Categorize properties in your detail view. Add as many as you want — each gets a color used on cards and map markers.
The poller scans your inbox for listing alert emails. After successful parsing, each email is moved to Deleted Items so the inbox stays clean.
Configured in the backend country registry. Edit backend/app/countries.py to add more.
Narrows the listing emails that get parsed. Leave blank to accept everything from the senders above.
Listings are extracted from the email body via embedded listing URLs. Once parsed, the original email is deleted from your inbox; you can recover it from the Deleted Items folder for ~30 days if needed.
Driving distances from each listing to nearby competitor locations are computed via OpenRouteService. Without a key, the app shows straight-line approximations marked with a tilde (~).
Free key (2,000 lookups/day) at openrouteservice.org/dev/#/signup. Stored encrypted at rest.
Loading…
Optional last-resort geocoder, tried only after the free providers (Nominatim, Photon, OpenRouteService) all miss. Has the highest hit rate, especially for French addresses and unit numbers.
Free tier: $200/month credit ≈ 40,000 lookups. Set up at console.cloud.google.com → enable the Geocoding API → create an API key. Stored encrypted at rest.
Loading…
Optional deepest fallback. Used when (a) the regex parser can't extract a listing from an email body, and (b) every geocoder above misses an address. Pick the provider you have an API key for.
Stored encrypted at rest. Free tiers vary by provider — see each provider's pricing page. Calls only fire on the listings/addresses no other path could resolve.
Pick a provider above to see model suggestions.
Loading…
Upload CoStar Analytics property exports (.xlsx). Listings are automatically deduplicated against existing data — matched listings get an "Also on CoStar" badge.
Loading…
Some listings don't have a direct source link. This tool uses AI web search to find the correct listing page by MLS number and address — pick the engine: Google (Gemini + Google Search grounding) or Grok (xAI Live Search).
Some realtors list residential properties as commercial. This tool scans listings with monthly rent ($/mo, no per-sqft pricing) and uses AI to check if the listing page mentions bedrooms, living room, or kitchen. Matches are tagged Residential.
Add, rename, recolor, or deactivate competitor brands. Changes are reflected everywhere: map layers, distance filters, uploads, and intel panels.
Upload location data for competitor brands. The Listings view shows the distance from each property to the nearest competitor of each brand. Re-uploading a file replaces the previous data for that brand.
Accepted formats: .csv or .xlsx. Required columns: name, address, city, lat/latitude, lng/longitude. Rows missing coordinates are skipped automatically.
Choose which competitor brands are visible on the map by default when the page loads. Users can still toggle layers on/off manually.
Pan/zoom the map to the area you want a country to open on, then press "Use current view" on that country's row. Applies for all users.
Candidate sites for new Best Brains centers. They appear on the map as orange "P" pins — click a pin for nearest-competitor distances and AI demographics. The orange "+" button on the map also adds one.
| Name | Address | City | Prov | Postal | Pin |
|---|
Add, edit, or remove individual competitor locations without uploading a CSV. Useful for one-off corrections or additions.
| Brand | Name | Address | City | Province | Actions |
|---|---|---|---|---|---|
| Loading... | |||||
Pipeline health: parsed listings, geocoded coordinates, distance cache, and recent geocoder failures. Use this to spot which addresses aren't resolving and why.
Listings that still have no coordinates. Shows raw + cleaned address to spot parser issues.
| MLS | Raw address | Cleaned address | City | Received |
|---|---|---|---|---|
| Click "View recent failures" to load. | ||||
Live walk-through of the email pipeline — connection, fetch filters, per-message parser output. Nothing is written to the DB or deleted from the inbox.
Last few addresses sent to the geocoder cascade and which provider (if any) solved them. Useful for spotting parser-output noise that's blocking lookups.
| Address (cleaned) | City | Result | Provider |
|---|---|---|---|
| No attempts yet. | |||
Paste a problematic address, city, and province. See exactly what the cleanup function sends to the geocoder — without making any network calls.
Monitor external API call volumes, costs, and failure rates across all providers.
| Provider | Today | Period | Success % | Avg ms | In Tokens | Out Tokens | Est. Cost |
|---|
Loading...
Loading...
| Address | Attempts | Last Failure |
|---|
Addresses that failed geocoding repeatedly were sent to AI for correction. Review and accept, edit, or deny each suggestion below.
Loading...
Listings without geocoordinates are hidden from the main view. Edit the address below and save to trigger re-geocoding on the next cycle, or hibernate listings you don't need.
Loading...
AI-generated recommendations for reducing API costs and improving hit rates.
Per-country toggles that control app behaviour. Changes apply to Canada.
When enabled, listing cards without a scraped image will show a Street View thumbnail button that auto-loads on render. When disabled (default), thumbnails are only loaded on-demand from the expanded card to save Google API costs ($0.007/call).
When enabled, the email poller will also fetch and parse forwarded CoStar Daily Alert emails, ingesting their listings alongside Realtor.ca data. Requires CoStar alert emails to be forwarded to the configured inbox.
Wipes all locally stored settings, tags, comments, and listing tag assignments. Listings themselves come from the email backend (mocked for now).
The address is geocoded automatically and shown as an orange "P" pin.