RM
← Case Studies

Internal tool / Product prototype / Real estate operations

TerritoryOps Spain

A local-first internal control console for tracking real estate opportunities across Spain.

TerritoryOps combines geospatial visibility, table-based review, pipeline tracking, and attention logic into a private operational atlas.

Prototype scope: local browser data, optional demo records, no backend or authentication.

Internal ToolProduct PrototypeReal Estate OperationsLocal-firstNext.jsTypeScript
Editorial placeholder for the Map, Table, and Pipeline product views.

Project Snapshot

What the system is

Type

Local-first internal control console and product prototype

Use case

Real estate scouting, follow-up control, deal-stage review, and location intelligence

Role

Product framing, workflow design, UX structure, data validation, and implementation

Stack

Next.js, React, TypeScript, Tailwind CSS, Leaflet, OpenStreetMap, Vitest

Status

Public prototype; no backend, authentication, team sync, or paid APIs

Business Context

The workflow problem behind the project

Real estate scouting often begins as a loose collection of Google Maps links, notes, contact details, rough valuations, follow-up dates, and uncertain deal states. As that list grows, the operational question becomes harder: what is controlled, what is being negotiated, what needs attention, and what can be ignored? TerritoryOps was built as a prototype for that specific control problem, not as a marketplace or production enterprise platform.

System / Solution

How the workflow is bounded

The product brings one local dataset into three complementary views. The map establishes spatial context, the table supports dense operational review, and the pipeline makes deal stages legible. Quick capture, dossier details, attention rules, validation, and JSON/CSV portability keep the workflow useful without requiring backend infrastructure.

Map view

Spain-centered location visibility with shared filters and status context.

Table view

Sortable operational detail for values, contacts, follow-ups, and warnings.

Pipeline view

Stage-based scanning across watchlist, interest, evaluation, negotiation, control, and passed locations.

Quick capture

Focused entry for names, places, coordinates, Google Maps links, and initial status.

Local persistence

Browser storage keeps setup private, lightweight, and immediately usable.

Attention logic

Overdue or missing actions and negotiations without contacts become direct drilldowns.

Portable data

Validated JSON and CSV import/export support backup, transfer, and inspection.

Design logic / Build decisions

Simple by design, deliberate in operation

Internal tools should remove operational friction before they add infrastructure. The interface is composed like a private atlas and control room: restrained, information-dense, and focused on capture, status, and visible next actions.

01

Local-first before backend

Workflow validation came before accounts, databases, or synchronization complexity.

02

Three complementary views

Map answers where, table answers what, and pipeline answers where each opportunity stands.

03

Attention as logic

Missing and overdue follow-ups are actionable records, not a decorative metric.

04

Portable by default

CSV and JSON keep the local dataset inspectable, transferable, and easy to back up.

05

Manual status changes

No drag-and-drop yet. Stage changes stay intentional through the edit flow.

06

Infrastructure postponed

Supabase, auth, audit logs, and team sync remain future options, not premature foundations.

Core features

A compact operating system for place-based opportunities

Each capability supports the same question: what deserves attention, and what is the next responsible action?

Map view

Spatial awareness across Spain with status-colored markers.

Table view

Sortable, dense review of operational and deal fields.

Pipeline view

Fast scanning across the business-control status model.

Quick capture

Focused entry with coordinate and Google Maps support.

Asset dossier drawer

Place, deal, contact, follow-up, and decision context in one panel.

Needs-attention drilldown

Clickable overdue, missing-action, and missing-contact records.

Import / export

JSON and CSV portability with proper escaping and compatibility.

Data validation

Business-number, probability, coordinate, and duplicate checks.

Local-first persistence

Automatic browser restoration after edits, imports, and view changes.

CI and test coverage

64 tests plus lint, typecheck, test, and build in GitHub Actions.

Technical implementation

Engineering discipline without platform overhead

The prototype uses a modern frontend stack and explicit data rules while keeping the operating model intentionally local. Engineering proof supports the product story without turning the case study into repository documentation.

64Automated tests
0Backend services
0Paid APIs
Next.js 16React 19TypeScriptTailwind CSSLeafletOpenStreetMaplocalStorageVitestESLintGitHub Actions

A typed RealEstateLocation model keeps identity, place, business-control, contact, follow-up, and audit fields explicit.

Shared filters persist across Map, Table, and Pipeline, so switching views never resets operational context.

Import validation rejects invalid business values while preserving valid zero values and legacy exports.

General build discipline was informed by the awesome-vibe-coding workflow collection, used as inspiration rather than a dependency or product foundation.

View workflow inspiration

Visual proof

Screenshot slots prepared for the real interface

The case study does not fabricate product screens. These composed placeholders preserve the page rhythm until real captures are added.

Spatial portfolio, shared filters, and status markers.
Operational density, sorting, warnings, and values.
Deal-stage scanning across the status model.
Location dossier with deal, contact, and follow-up context.
Quick capture with expandable operational detail.
Actionable overdue, missing-action, and contact warnings.

Outcome / Why it matters

From scattered research to an operating workflow

TerritoryOps demonstrates that a small internal tool can make business logic visible without imitating a large platform.

  • Turns loose location research into a structured map, table, and pipeline.
  • Makes follow-ups and missing operational context visible.
  • Separates passive interest from active evaluation and negotiation.
  • Keeps the prototype private, portable, and easy to reason about.

What I would build next

Add infrastructure only when the workflow earns it

The roadmap stays modest and follows validated operating needs rather than feature accumulation.

01Saved views02Read-only demo mode03Supabase sync04Authentication05Audit log06Attachments07Optional drag-and-drop