DEV3 Technologies home

DEV3 Porchlane – Real Estate Agency CRM SaaS Laravel Script with Listings Portal, Map Search & Lead Routing

A self-hosted real estate agency platform on Laravel 12 and Filament 4: a branded listings portal with map search, saved-search alerts, lead routing with response clocks, a viewings diary, offers and vendor reports. Web installer and demo data included. No mobile apps.
by DEV3 TechnologiesVerified Author(0) 0 sales 0 viewsUpdated 11 Nov 2026

Video tour. Pick a section below to browse 111 screenshots in 9 sections.

App & phone tours

Tap play to watch each app. Nothing downloads until you do.

  • Mobile web1:03

Porchlane is an agency CRM with a public listings portal that you host yourself, built by DEV3 Technologies on Laravel 12 and Filament 4. You run it as the operator: you sell plans to estate agencies, and each agency gets its own branded portal on a subdomain or custom domain, with map search for buyers and tenants and a back office where every enquiry becomes a lead that is routed, answered, viewed, offered on and completed.

What it does

  • A branded listings portal per agency. Home search over a photo, results as a list or a map, a filters drawer, sort, a listing page with swipeable gallery, key facts, floor plans, an approximate location map and similar homes. Agent and branch pages with generated avatars, a valuation request form and a sitemap. English site with right-to-left Arabic, light and dark.
  • Location privacy that holds. Listings can show an exact, street or area location. Below exact, pins snap to a grid cell and the address shows only the allowed fields in pages, JSON, feeds, Open Graph tags and the sitemap. Photo location data is stripped on upload.
  • Leads that find the right agent. Enquiries, viewing requests and valuation requests are routed by rules (round robin, least loaded, the listing's agent or a fixed agent) and skip agents on time off or at their cap. The response clock runs in branch business hours and a breach is flagged once. Claim is a single-winner action.
  • A viewings diary that cannot double-book. Slots come from agent availability minus time off, buffers and notice. Time off over booked viewings lists the clashes for hand-over. Confirmation and reminder emails and calendar files.
  • Offers and deals. Submit, counter, accept, reject or withdraw, with exactly one accepted offer per listing, milestones, fees, completion and fall-through that puts the listing back on the market. Vendors see offer ranges unless you allow exact amounts.
  • Matching and alerts. New listings and price drops match saved searches and contact requirements once per search and listing, with a daily cap, digests, signed unsubscribe links and consent recorded per channel. Visitors prove their email with a sign-in link before saving a search.
  • Vendor reports. A private link per listing with views, enquiries, anonymised viewing feedback, offers as ranges and price history.
  • Office and operator panels. Listings with a hand-built editor (drop the pin on the agency map, photo manager with cover and order, window cards with a QR code), lead board with response-clock badges, contacts with duplicate merge, routing rules, diary, deals with fees, reports, Street Pulse on the dashboard, branches, agents, branding, domain, API keys and webhooks. The operator panel shows agencies with their meters, plans, subscriptions, platform invoices, domains, abuse reports, an outbox and an audit log, plus audited view-only support sessions.
  • API and feeds. A scoped REST API with an OpenAPI document and signed webhooks, public read endpoints that return masked data only, XML and JSON export feeds behind signed URLs and CSV or XML import.

Quality checks

The release passed seven gates on the final code: Larastan level 6 with 0 errors, a Pest suite that includes tab and filter checks for every panel list, a cross-agency walk of every office URL and the portal tests, a build inside the page budget, migrations and the full demo seed on MySQL 8 and SQLite, a headless smoke test of the site, portal and panels with the race checks run on MySQL (parallel claims of one lead, bookings of one slot, acceptance of competing offers and more), the installer driven from the zip, and a secret scan.

What you should know before buying

  • Map search uses tiles you configure. The demo and default install draw a schematic map in code with no network use. To show a real map, set a tile provider you are entitled to use and follow its usage policy. Geocoding is bring-your-own.
  • No MLS, IDX or portal syndication in this version. You can export XML or JSON feeds and import CSV or XML; there are no direct portal integrations.
  • Messages go to the log until you configure drivers. Leads, emails, SMS and WhatsApp are written to the outbox by default; real email needs your SMTP, and SMS and WhatsApp need your own provider credentials.
  • You are the merchant of record. Agencies pay you for their plan through a simulated gateway until you connect your own. There is no rental booking, no payments from home buyers or tenants and no e-signature.
  • Virtual tours open in a new tab and are never embedded.
  • Web only: there are no mobile apps. The compiled assets ship in the package, so Node.js is not needed.

What's included

The full source, a web installer (and a command-line one), demo data for ten fictional agencies, the buyer guide, the OpenAPI document and the docs for tenancy and the concurrency checks.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Porchlane passed before release.

The engineering behind Porchlane: a location mask that never leaks an exact address, one winner for every lead claim, viewing slots that cannot be double-booked and one accepted offer per listing, each proved against MySQL.

The problem it solves

A listings portal looks like search and cards until two agents claim one lead, two visitors book one slot, two managers accept different offers, or a listing set to street precision leaks its exact pin through a map, a feed or a page title. Each of those has to end consistently, in front of real visitors.

Architecture and approach

Porchlane is a Laravel 12 application with Filament 4 office and operator panels and a hand-built server-rendered portal. Every public shape of a listing is built in one presenter from masked data, and a test greps the output of fifty listings for the true address and coordinates. Lead claims are a conditional update, viewing booking re-checks overlap under the agent row lock, and the accepted offer and the open deal are unique keys in the database, so a race becomes a constraint violation instead of a double booking.

Tenancy is fail-closed on every tenant table, outbound requests (webhooks, feed imports, tile URLs) go through a fetcher that pins DNS on every hop, and the public pages send an explicit content-security policy that lists a tile provider only when the agency configured one.

Quality gates and results

The release passed seven gates, including a headless smoke test of the site, portal and panels, and race checks on MySQL for claims, bookings, offers, routing and alerts. The reconciliation command passes on the demo data: ten agencies with listings, leads, viewings, offers and deals.

Tech stack

Area Technologies
Application Laravel 12, Filament 4, Blade, REST API
Data MySQL 8, SQLite
Frontend Tailwind CSS 4, Vite
Quality Pest, Larastan level 6, Playwright

Inside the build

Your listings, your portal: The marketing site opens on a house at dusk with a working search card and three real listing cards. Your listings, your portal — The marketing site opens on a house at dusk with a working search card and three real listing cards.

Dark mode hero: The same hero in dark mode, with the headline and search card clear of the card stack. Dark mode hero — The same hero in dark mode, with the headline and search card clear of the card stack.

Guides & articles

Practical guides and engineering write-ups for DEV3 Porchlane.

Estate agent CRM with a listings portal: 6 things to check before you pick one

Last updated
Estate agent CRM with a listings portal: 6 things to check before you pick one: DEV3 Porchlane

An agency does not lose a buyer to a missing feature, it loses them to a slow answer, a double-booked viewing or a listing page that gave away too much. Here are six things to check before you pick software that runs a listings portal and the office behind it, with DEV3 Porchlane as the worked example.

Porchlane home page: a house at dusk with a working search card and three listing cards

1. Who can see the exact address?

A portal shows pins and street names, and every one of them is a chance to leak the exact home of a vendor who asked for privacy. Ask whether the precision is set per listing and whether it holds in the JSON, the feed, the page title and the sitemap, not only on the map. Porchlane snaps pins to a grid cell below exact precision and builds every public shape of a listing from the same masked data.

A listing page with an approximate location map and the note that the exact address is shared at a viewing

2. What happens in the first thirty minutes?

Speed to first reply decides who wins the enquiry. Look for routing by branch and price band, a clock that counts only business hours and a clear place for leads nobody has claimed. Porchlane routes by round robin, least loaded, the listing's agent or a fixed agent, skips anyone on time off, flags a breach once and gives every lead a single winner when two agents claim it.

The lead board with a column per stage and response-clock badges on each card

3. Can two people book the same slot?

Slots should come from the agent's real availability minus time off, buffers and notice, and booking should re-check the diary at the moment it commits. Porchlane lists the viewings that clash with new time off for hand-over instead of cancelling them silently.

The team calendar with one column per agent and time off shown as blocks

4. How are offers tracked?

An offer is only useful if the listing's status follows it. Porchlane allows exactly one accepted offer per listing, opens a deal with milestones and a fee, and puts the listing back on the market if the deal falls through. Vendors see offer ranges unless the agency chooses to show exact amounts.

Offers waiting for a decision, with counter, accept and reject actions

5. Does the vendor get a report without a login?

A private link per listing is enough for most vendors: views, enquiries, anonymised viewing feedback, offers as ranges and the price history. Check that it never shows a buyer's name or contact details.

A vendor report with views, enquiries, feedback and price history

6. What are the limits?

Ask every vendor the honest questions. Porchlane draws a schematic map by default and shows real tiles only from a provider you configure, has no MLS or portal syndication in this version (XML and JSON export only), writes messages to the log until you set up mail and SMS, leaves payments between agencies and the operator, and has no mobile apps.

Video: a tour of Porchlane from the site and the portal to the lead board, an accepted offer and the vendor report

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Buying guides: Laravel scripts with Filament panels and a web installer · Next.js or Laravel for a SaaS script?

Questions about this product (0)

Answers from the DEV3 team and the community.

Ask a question

No questions yet.

Wondering about setup, licensing or customisation? Ask, and the DEV3 team will help.

More from this author

View all

Related in Web Scripts & Software

View all