- Everything a realtor can do
- Approves sign-ups, sets role and territory
- Settings, costs, feature switches
How Propelogo works, from parcel to closed deal.
Propelogo finds industrial property worth buying, finds the person behind the owner LLC, and helps brokers call and email them at scale. This is the overview for everyone joining, whatever your role: the product, who it's for, the data underneath, the repos, and how we work. The numbered pins are clickable.
The money is in the yard, not the building.
Our launch partner buys industrial parcels whose extra paved yard can be leased for outdoor storage and vehicle parking. Legacy industrial owners rarely price their own parking lot as revenue, so the deals sit in public data that nobody reads at scale. Propelogo reads it for them, then gets them on the phone with the owner.
One analyst, one city, one spreadsheet
- Draw yard polygons in Google Earth, one parcel at a time
- Two zoning lookups per parcel to see if outdoor storage is allowed
- Re-key everything into a 196-row Excel funnel
- Hunt for the human behind each LLC, then dial one number at a time
One investor covers a state
- Zoning, use tables, flood, environmental and paved yard ingested nationwide
- Every parcel scored against five gates and valued automatically
- Owner lookup finds the person and phone behind the LLC
- Parallel dialer and bulk personalized email work the list
"The agent sources; the human decides. Blake doesn't open a laptop to find deals. He states his criteria, the agent elevates sites overnight, and he takes the calls on his phone."
- Propelogo a.k.a. Legion
- The product. Everything in this guide.
- Titan Capital Advisory
- The public brokerage website owners see. No product features, no login.
- Oak Network
- The company behind the team. Its other products (LeasePilot, Vaki, OAK core) are separate; never mix them up with Propelogo.
Brokers find the deals. Callers work the phones.
We build for a launch partner first and make it sellable to the next broker without new data work. Their feedback arrives as emails, test notes and syncs, all filed under customers/ in the product docs. Product questions for them go through Jan or Fahmida, never straight from the team.
Blake · industrial broker
Our design partner since June. His manual workflow (modules M1–M20) is the source of truth for what we automate. He reviews the feature lists and runs syncs with the team several times a week.
Davis · same stack
Proves the product works beyond one person. His two problems shape the October work: finding the person to call, and keeping up with 20–30 follow-ups a day.
Four roles inside the app. An admin picks one when approving a sign-up.
- Map, corridors, parcels, valuations
- Owner lookups, email, mail, calls
- Assigns leads to callers
- Can't manage users
- Assigned leads + the shared queue
- Dials with the brief and script
- Logs results and callbacks
- No map or agent
- Every call, outcome, recording
- Reads transcripts
- Can't edit or place calls
Every screen serves one loop.
Find a parcel, check it qualifies, find the owner, reach out, work the reply. Below is a sketch of each main screen. For real screenshots and click-by-click detail, read the realtor field guide, then click through it yourself on stage.propelogo.com.
- 1Search and filtersAddress, owner, city or parcel ID. Filters for state, zoning, land use and outdoor storage. The list and the map always match.
- 2Where properties fitWarm hexagons show where parcels match. Zoom State → Metro → Parcels; at parcel zoom every lot is drawn.
- 3Corridors in viewReady-made target lists in the area on screen, with progress like "1 of 28 called".
- 4LayersImagery, flood, wetlands and more. Color parcels by the measure you care about.
- 1Three kinds of saved viewExplore corridors for everyone, Standalone good sites outside any corridor, My views lassos you saved.
- 2A corridorA cluster of industrial parcels along a road or in a park, e.g. North River, Greenville, 310 parcels. It's a call list, already built.
- 3Add all to CRMEvery parcel becomes a lead. Ones already in the CRM are skipped.
- 4Find the ownersLooks up the person behind each LLC and their phones. This is where skip-trace spend happens.
- 5Queue callsAdds and queues every owner with a phone in one step.
- 1Engine valuationOur estimate from building and paved-yard rent capitalized at a market cap rate, shown next to the county's assessed value.
- 2Five gatesZoning allows outdoor storage, no residential neighbor, no environmental flags, low flood risk, enough paved yard. Pass all five and it's a real lead.
- 3Four tabsOverview, Value (edit rents and cap rate), Owner (find the person behind the LLC), Site (building, yard and ground measured from imagery).
- 4Open leadThe full page: aerial photo, comps, zoning and permitted uses, environmental, building attributes, tags.
- 5The lotBuilding and paved yard measured from aerial imagery (computer vision) are shaded on the parcel.
- 1Queue · Board · ListToday's ranked list, a pipeline board, or a plain table.
- 2The pipelineNew → Contacted → No response → Interested → Negotiating → Closed. Every call result moves a lead along.
- 3Find owners & phonesRuns in the background; numbers found go straight into the call queue.
- 4Today's callsCallbacks due first, then fresh owners nobody has called. Each lead page has Call, Email and Mail (postcard).
voicemail 11
- 1Local caller ID, parallel dialingEach owner sees a local number. Up to three lines ring at once.
- 2Start callingA human runs the session. The dialer handles ringing, answering machines and the next number.
- 3Live statsDialed, talked, voicemails. Call throughput is this quarter's key metric.
- 4First person to answer winsYou're connected instantly; the other lines drop. Machines are hung up automatically.
- 5Script and outcomeAn opening written from the lead's facts, then one tap to log the result. Callbacks land on the calendar; Do not call is permanent.
rank_by(engine_value)
preview_bulk_add(5)
- 1Copilot (the agent)Ask for parcels, valuations or CRM changes in plain English. Also docked in the map as "Ask agent".
- 2Tools, not guessesIt answers by calling tools over the parcel database. You can watch the trace.
- 3Shows bulk changes firstAnything that touches many leads is previewed and confirmed before it runs.
- 4Ranked resultsAs a table, on the map, or raw. Quality is checked daily against a fixed set of 10 eval prompts.
Sketches, not screenshots. Numbers and names are examples.
Public data, collected county by county.
Every jurisdiction publishes its data differently, so most of the hard work is collection and cleanup. Each parcel gets six data domains. Together they power the five gates and the valuation you saw on the parcel card. Full detail: data categories.
Population ≥ 25k or ≥ 5k industrial jobs. ~2,927 jurisdictions, ~79% of the US population.
Population 5k–25k or ≥ 1k industrial jobs. Stopped in October so we can finish quality on Foundation.
Small, low-industrial places. Waits until national coverage is 50–60%.
The funnel is fat. Calls and email are the pinch.
Finding parcels is no longer the bottleneck; reaching owners is. October is about turning a big, clean list into conversations, and proving it with numbers week over week ahead of the late-October roadshow.
More live conversations
Parallel dial, local caller ID, inbound callbacks on desk and iPhone. A human always talks.
Bulk, but personal
One prompt, many emails, each using a real fact about the property. Replies land in the CRM.
One app, one backend, two databases, one pipeline.
You don't need to code to follow this. The app talks only to the backend. The backend owns the CRM data and reads the parcel data. The pipeline is the only thing that writes parcel data. Engineering detail: Architecture & System Map.
propelogo.com
api.propelogo.com
PostGIS
- 1The web appEvery screen in chapter 3, including the in-browser dialer. Sign-in is Supabase.
- 2The API, the only backendLeads, CRM, calling, scoring, valuation, owner lookups. Everything the app does goes through it.
- 3CopilotClaude, orchestrated with LangGraph, reading the parcel database directly.
- 4App databaseUsers, leads, CRM status, call logs. Changed by the backend.
- 5Parcel databaseThe source of truth for parcels. Read-only to the app; only the pipeline writes it.
- 6The pipelineCollects county data, lands it in S3, cleans it in Snowflake, serves it to the parcel database.
- 7VendorsSign-in, phone, voice, email and skip-trace. Each costs money per use, so cost is a product decision.
Five repos. Know what lives where.
Even if you never write code, you'll link to these. Issues live mostly in the frontend repo and all show up on the LeadGen board. Every code repo has a CLAUDE.md with its conventions.
- 1Start here, whatever your roleThe PRD, specs, feature lists, decision log and every customer conversation. Published from Jan's workspace.
- 2Feature listsThe Google Doc is canonical; the markdown files mirror it. Blake reviews these, so they're the priority backlog.
- 3Customer feedbackSearch
customers/blake/feedback/before asking "what did Blake mean?".
- 1Every screen in chapter 3And most product issues.
mainships propelogo.com;stagingships stage.propelogo.com. - 2Feature flagsUnfinished work ships dark behind a flag. What's switched on is visible at /admin/flags.
- 3Engineers: run it
npm install·npm run dev, with.env.localvalues from Fahmida.
- 1The API and the CopilotCalling, email sending, owner lookups, scoring and valuation logic all live here.
- 2Two databasesWrites the app database; only reads the parcel database.
- 3Engineers: run it
cp .env.example .env·docker compose up. Blank vendor keys keep integrations off.
- 1Where chapter 4's data comes fromEach data type gets its own collection module; all attach to the parcel by
parcel_id. - 2The worklist0052 nationwide tiers: which jurisdictions, in which order.
- 3Data lane onlyStart here only if you're on Andre's lane. Engineers start at
docs/data/0008-data-landing-contract.md.
- 1The earlier voice + email agentReference for the voice PRD. Calling now ships in the frontend and backend, with a human always on the line.
- 2Don't build hereAlso skip leadgen-db and leadgen-zone-experiments: early prototypes kept for history.
Spec first. One issue per task. Prove it on staging.
We write the spec and acceptance criteria before anyone builds. Every task is a GitHub issue on the board. Nothing reaches the brokers until someone has clicked it on staging. These three docs answer most "should it do X?" questions.
RESOURCES.md
The index. Every spec, meeting, repo, data source and Slack decision is linked from here. Bookmark it.
2PRD · Map CRM Agent
Problem, North Star, scope, releases, October lanes. Read §0–§2 in your first week.
"As a realtor, I want to log a call outcome in one tap so that the lead comes back on the right day."
- Each outcome sets the matching CRM status
- Callback creates a calendar entry for the chosen time
- Do not call removes the owner from every queue
- Works on desktop and the iPhone app
Mobile and web parity is the default. If the criteria can't be checked on staging, the issue isn't done.
staging and a PR, reviewed.One owner, one backlog per lane.
Ask the lane owner first. Jan owns scope and priority; Saquib sponsors the product and sets strategy. Most conversation happens in #leadgen-product on Slack.
- "Is this a ticket?" and "which first?"
- Specs, acceptance criteria, PRD
- Customer context: Blake, Davis
- CRM, dialer, call queue
- Staging access and app accounts
- Approves production releases
- Copilot and its eval prompts
- LLM and vendor cost
- Leasing tool
- Collection, QC, Foundation + Florida
- AWS and secrets
- Anything about parcel data quality
- Map Explorer and the design system
- Titan brokerage site and org setup
- Light and dark, desktop and mobile
- Bulk send from a saved view
- Inbox placement testing
- Replies landing in the CRM
By Friday, you can explain the loop to someone else.
Works for any role. Tick these off as you go; your ticks are saved in this browser.
- Day 1
- Day 1
- Day 2
- Day 2
- Day 3
- Day 3
- Day 4
- Day 5
Words you'll hear
- Parcel
- One property lot: its outline plus IDs. Every other piece of data attaches to it.
- Corridor · saved view
- A ready-made cluster of industrial parcels along a road or in a park. Effectively a call list.
- Gates
- Five checks a parcel must pass: zoning, residential neighbor, environmental, flood, paved yard.
- Engine valuation
- Our estimate: building and yard rent capitalized at a market cap rate.
- Paved yard · impervious
- The hard surface outside the building, measured from aerial imagery. Where the value is.
- Owner behind the LLC
- The real person who controls an entity owner, found through state registries and lookups.
- Skip-trace
- A paid lookup for an owner's phone numbers and emails.
- Parallel dialing
- Ringing several owners at once and connecting the caller to the first who answers.
- Foundation tier
- The first data sweep in each state: places with ≥ 25k people or ≥ 5k industrial jobs.
- Staging
- The shared test version of the app, with its own data. Changes are proven here before production.
- Campaign
- An outreach send, by email or calls, to a set of owners. We never say "project" for this.
- Interface
- The agreed API or data shape between two pieces of software. "Contract" always means legal.