# How to Vibe Code Your Own One Place (and Stop Paying for It)

> The Entire Market. One Place.

- Site: https://one-place.com
- Category: Real Estate Aggregator & AI Search Engine
- Platforms: Web app
- Verdict: **Serious undertaking** (38/100 vibecodeable)
- Estimated effort: 6+ weeks of part-time work for a functional single-market subset

## Verdict

Build a scoped personal subset rather than trying to replicate a pan-European scraping empire, as maintaining 640+ live scrapers and deduplication pipelines requires massive ongoing engineering.

Attempting to clone the full operational scope of One Place—aggregating 5 million listings across 20 countries and 640 portals with visual AI search—is an immense engineering undertaking. While you can easily replicate the Next.js frontend, Kanban CRM, boards, and Stripe billing in a weekend, the real bottleneck is the data pipeline: handling portal blocks, changing DOM structures, running record linkage for deduplication, and storing millions of vector embeddings for multimodal image search. For personal use, building a scraper for 1-2 local portals and pairing it with a local vector database is an engaging multi-week project, but attempting to scale it across Europe is impractical.

### What you can't replicate

- Live data feeds and anti-scraping bypass infrastructure across 640+ proprietary European portals
- Historical price datasets accumulated over years of continuous monitoring
- Network effects of integrated real estate professionals and buyer pools

## What it does

An AI-powered cross-border real estate search engine and aggregation platform aggregating listings from hundreds of European portals into a single canonical record.

### Core features

- Cross-border multi-portal data aggregation and ingestion pipeline
- Entity resolution and canonical deduplication engine
- Natural language and visual semantic search over listings and photos
- Real-time multi-currency normalization and market data conversion
- Interactive property price history tracking and timeline charts
- Collaborative property boards and saved search alerts
- Real estate agent CRM with Kanban lead pipeline and activity timeline

## The business

### Pricing

- Free: €0/mo — Forever free for consumers and renters
- Pro: €39 + VAT/mo — Designed for power searchers and real estate professionals

## The hard parts

- Maintaining robust scrapers and data feeds across 640+ regional portals with differing DOM structures and anti-bot measures
- Building an entity resolution and deduplication model that accurately merges the same property across different portals despite translated titles and different crops
- Vectorizing and indexing hundreds of millions of property images for multimodal visual similarity search
- Handling real-time cross-currency conversions and localized metric normalizations at scale

## How to vibe code One Place

### Prerequisites

- Node.js LTS (free): Required runtime for executing the Next.js framework and building the TypeScript web application.
- GitHub (free): Version control and automated deployment trigger for your hosting provider.
- OpenAI API Account (pay-as-you-go (~$10-20/mo)): Provides vision and text embedding models required for natural language search queries and property photo analysis.

### Recommended AI tools

- Claude Code: Best-in-class terminal coding agent for scaffolding multi-file aggregators, scrapers, and frontend views iteratively.
- Cursor: Ideal AI-native editor for refining UI components, map integrations, and Tailwind styling.

### Stack

- Frontend: Next.js with Tailwind CSS and shadcn/ui components
- Backend: Next.js Server Actions and API Routes with TypeScript
- Database: Supabase (PostgreSQL with pgvector extension for image and text embeddings)
- Auth: better-auth
- Payments: Stripe
- Other: Firecrawl for scraping property portal pages, Mapbox for interactive property maps, Vercel AI SDK for parsing natural language search queries

### Hosting

- Vercel (Hosting the Next.js frontend, API routes, and serverless background scraping jobs): $0-20/mo
- Supabase (Relational database storage, user authentication, and vector similarity search via pgvector): $0-25/mo

### Build guide

1. **Project Scaffolding & Database Schema** — Initialize the Next.js project with Tailwind CSS, configure Supabase with PostgreSQL and pgvector, and set up better-auth for user management.

```
Scaffold a new Next.js TypeScript project using Tailwind CSS and configure folder structure for a real estate search application. Set up Supabase connection utilities and define the initial PostgreSQL schema using Drizzle or Supabase migrations. Create tables for `listings` (id, title, description, price, currency, country, address, lat, lng, source_portal_id, canonical_id, created_at), `listing_images` (id, listing_id, image_url, embedding vector(1536)), `boards` (id, user_id, name, color), `board_items` (board_id, listing_id), `price_history` (id, listing_id, price, recorded_at), and `crm_leads` (id, user_id, client_name, stage, contact_info, budget_min, budget_max, notes). Integrate better-auth for email/password and Google authentication, ensuring proper session handling across client and server components.
```

2. **Data Ingestion & Scraping Pipeline** — Implement targeted scrapers or API connectors using Firecrawl to ingest property data and images from local portals into the database.

```
Build a robust ingestion module in TypeScript using Firecrawl API bindings to scrape structured real estate listings from sample regional property portals. Implement a normalization layer that extracts standardized fields: price, currency conversion to EUR, square meters, bedrooms, bathrooms, energy ratings, and raw image URLs. Ensure the script handles rate limiting, missing attributes gracefully, and saves raw payloads to Supabase. Include automated background tasks via cron or Vercel functions to refresh listings daily and record price adjustments into the `price_history` table.
```

3. **Entity Resolution & Canonical Deduplication** — Develop deduplication algorithms to merge duplicate listings from multiple portals into a single canonical record.

```
Write a matching and deduplication service in TypeScript that processes newly ingested listings. Compare listings based on spatial proximity (latitude/longitude within 20 meters), matching floor area (±5%), identical room counts, and overlapping image visual hashes or titles. When duplicates are detected across different portal sources, merge them into a single canonical listing record while aggregating all source links, attributes, and image galleries onto one unified property page view. Log the canonical mapping in the database to prevent duplicate surfacing in search results.
```

4. **Natural Language & Multimodal AI Search Engine** — Integrate semantic search capabilities allowing users to query listings using natural language and visual attributes.

```
Implement an AI-powered search endpoint using the Vercel AI SDK and OpenAI embeddings. When a user enters a natural language query (e.g., 'apartment in Tallinn with herringbone floors, max 250k€'), parse the query into structured filter parameters (location, property type, budget ceiling, specific features) using structured output generation. Simultaneously, generate text embeddings for search intent and match them against property descriptions and image vectors stored via pgvector in Supabase. Build a responsive search results page displaying unified listings with real-time currency conversion sliders and dynamic filtering.
```

5. **Buyer Tools: Interactive Maps, Price History & Collaborative Boards** — Build user-facing tools for tracking price changes, saving searches, favoriting homes, and organizing collaborative boards.

```
Build interactive buyer tools in the Next.js frontend. Implement an interactive property detail page featuring an image gallery sorted by room, energy rating badges, a Mapbox integration showing exact location and nearby points of interest, and an interactive price history timeline chart displaying price drops and price-per-square-meter changes over time. Create a saved searches manager allowing users to name search criteria and rerun them easily, plus a collaborative boards feature where users can group listings into colored collections and generate shareable links for family, friends, or clients.
```

6. **Agent Pro Suite: CRM Pipeline & Activity Tracking** — Develop the Pro tier CRM feature set including a Kanban lead pipeline and client activity timeline.

```
Build an Agent Pro suite accessible to authenticated users with active Pro subscriptions. Implement a drag-and-drop Kanban pipeline component for managing real estate clients across stages (e.g., First Contact, Viewing, Offer, Closed). Create a detailed client view featuring an activity timeline to log calls, emails, and notes, and allow agents to attach curated property shortlists and custom boards directly to specific client profiles. Secure these routes behind subscription verification middleware tied to Stripe billing status.
```

7. **Stripe Billing & Subscription Integration** — Set up Stripe Checkout webhooks to gate Pro features like agentic search and CRM pipeline access.

```
Integrate Stripe billing for the Pro tier (€39/mo + VAT). Set up Stripe Checkout sessions, customer portal redirection, and webhook handlers to securely listen for `checkout.session.completed` and `customer.subscription.updated` events. Update the user profile and subscription status in Supabase accordingly. Implement UI gating across the application to seamlessly lock or unlock Pro features such as unlimited boards, lead pipelines, and agentic AI search based on the user's current subscription tier.
```

### Cost vs paying

**Starting costs (one-time):**

- Custom domain registration: ~$12 one-time
- OpenAI API developer credits: ~$15 one-time
- Total: ~$27 one-time

**Ongoing costs (monthly):**

- Vercel Hobby/Pro hosting: $0-20/mo
- Supabase Database & Vector storage: $0-25/mo
- OpenAI API usage for search & embeddings: ~$10-15/mo
- Total: ~$10-60/mo

- Paying for the SaaS instead: €39/mo
- Build time: 40-60 hours
- AI tool credits: ~$20/mo
- Break-even: 1 month of Pro subscription

## Sources

- [One Place Official Website](https://one-place.com)
- [One Place Terms of Service](https://one-place.com/terms)