Skip to content
codexa

Websites · React

Real estate agency

Local real estate agency site with current listings, recent results, how selling works, the agents and an appraisal form.

Real estate agency starter, as built from its own files
Starter screenshot captured from this template's own build at 1440×900. It shows the template as it ships, not output generated from a prompt.

What you get

A site for an independent estate agency: current listings with prices, recent sales figures, the selling process, the agents, vendor quotes and a free appraisal request. All content lives in src/site.ts.

Files

Exactly what is copied into a new project: 13 files, nothing generated.

Raw data: GET /api/v1/templates/site-real-estate

src/site.ts
src/site.ts
import type { Site } from "./types"; /** Everything this site shows. Edit freely. */export const site: Site = {  "brand": "Fernhill Property",  "nav": [    {      "label": "Listings",      "href": "#listings"    },    {      "label": "Selling",      "href": "#selling"    },    {      "label": "Agents",      "href": "#agents"    },    {      "label": "Reviews",      "href": "#reviews"    }  ],  "navCta": {    "label": "Free appraisal",    "href": "#contact"  },  "sections": [    {      "kind": "hero",      "variant": "split",      "eyebrow": "Independent agency · Paddington & Red Hill, Brisbane",      "title": "We sell homes in the streets we live in.",      "text": "Six agents, one office on Given Terrace, and a weekly written report on every enquiry and inspection your home gets.",      "primary": {        "label": "Book a free appraisal",        "href": "#contact"      },      "secondary": {        "label": "Browse listings",        "href": "#listings"      },      "visual": {        "type": "mock",        "title": "Recently sold",        "rows": [          {            "label": "14 Latrobe Tce, Paddington",            "value": "$1,685,000"          },          {            "label": "7 Enoggera Tce, Red Hill",            "value": "$1,120,000"          },          {            "label": "22/48 Musgrave Rd, Red Hill",            "value": "$612,500"          },          {            "label": "31 Collingwood St, Paddington",            "value": "$2,040,000"          }        ],        "footer": "Median 23 days on market across our last 40 sales."      }    },    {      "kind": "gallery",      "id": "listings",      "eyebrow": "For sale",      "title": "Current listings",      "text": "Inspections every Saturday. Ask us for the contract and building report on any listing.",      "items": [        {          "title": "9 Hale Street, Paddington",          "caption": "4 bed · 2 bath · Offers over $1.45m",          "tone": "#115e59"        },        {          "title": "3/16 Fernberg Rd, Paddington",          "caption": "2 bed · 1 bath · $695,000",          "tone": "#57534e"        },        {          "title": "41 Arthur Tce, Red Hill",          "caption": "3 bed · 2 bath · Auction 15 Nov",          "tone": "#3f6256"        },        {          "title": "12 Woodstock Rd, Toowong",          "caption": "5 bed · 3 bath · $2.1m",          "tone": "#6b5a48"        },        {          "title": "8 Kennedy Tce, Paddington",          "caption": "Queenslander · 3 bed · $1.29m",          "tone": "#134e4a"        },        {          "title": "27 Ithaca St, Red Hill",          "caption": "Renovator · 2 bed · $940,000",          "tone": "#78716c"        }      ]    },    {      "kind": "stats",      "items": [        {          "value": "23",          "label": "Median days on market"        },        {          "value": "98.6%",          "label": "Of asking price achieved"        },        {          "value": "112",          "label": "Homes sold in the last year"        },        {          "value": "2009",          "label": "Selling locally since"        }      ]    },    {      "kind": "steps",      "id": "selling",      "eyebrow": "Selling",      "title": "How selling with us works",      "items": [        {          "title": "Appraisal",          "text": "An agent walks through your home and sends a written price range with comparable sales within 48 hours."        },        {          "title": "Campaign",          "text": "Photography, floor plan and listing online within a week. Commission of 2.2% including GST, no sale no fee."        },        {          "title": "Offers & settlement",          "text": "Every offer in writing, a weekly report on buyer feedback, and an agent at settlement day."        }      ]    },    {      "kind": "team",      "id": "agents",      "eyebrow": "Agents",      "title": "The team on Given Terrace",      "items": [        {          "name": "Rachel Fern",          "role": "Principal",          "tone": "#115e59"        },        {          "name": "Tom Nguyen",          "role": "Sales agent",          "tone": "#44403c"        },        {          "name": "Leah O'Brien",          "role": "Sales agent",          "tone": "#3f6256"        },        {          "name": "Sam Patel",          "role": "Property manager",          "tone": "#57534e"        }      ]    },    {      "kind": "quotes",      "id": "reviews",      "eyebrow": "Reviews",      "title": "What sellers told us",      "items": [        {          "quote": "Rachel's appraisal was the lowest of three, and she sold it for more than the highest. No games.",          "name": "Michael T.",          "role": "Sold in Paddington"        },        {          "quote": "The Friday reports meant we never had to chase anyone for an update.",          "name": "Anna & Chris",          "role": "Sold in Red Hill"        },        {          "quote": "Tom found us a buyer before the first open home. Settlement was painless.",          "name": "Gwen H.",          "role": "Sold in Toowong"        }      ]    },    {      "kind": "contact",      "eyebrow": "Appraisal",      "title": "What is your home worth?",      "text": "Tell us the address and a good time. An agent will visit and send a written price range, free and with no obligation.",      "fields": [        "name",        "email",        "phone",        "message"      ],      "button": "Request appraisal"    }  ],  "footer": {    "text": "Independent real estate in Brisbane's inner west.",    "columns": [      {        "title": "Office",        "links": [          "186 Given Terrace, Paddington QLD",          "(07) 5550 1294"        ]      },      {        "title": "Property",        "links": [          "Buy",          "Sell",          "Rent",          "Property management"        ]      },      {        "title": "Follow",        "links": [          "Instagram",          "Facebook"        ]      }    ],    "legal": "© Fernhill Property. Sample content: replace it in src/site.ts."  }};

Remix

Remix this template

Describe what to change and the agent starts from Real estate agency's files. The box is already started for you: finish “Start from Real estate agency and …”

Agent ready

Creates a free account first; your idea is carried over.

Dependencies

Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.

  • react^19.1.0
  • react-dom^19.1.0
  • vite^6.3.0
  • @vitejs/plugin-react^4.4.0
  • tailwindcss^4.1.0
  • @tailwindcss/vite^4.1.0
  • typescript^5.8.0

How it runs

Framework
Vite + React + TypeScript
Dev command
npm run dev
Build command
npm run build
Output directory
dist
Port
5173
Entry route
/

Projects run in an isolated sandbox with a live preview. Read the projects documentation for settings, snapshots and deployment.

All templates

Build on Real estate agency

Create a free account, start from this template, and ask the AI agent to turn it into your app.