places.je V5

Project type: client

Partnering on a full rebuild of places.je, Jersey's property listing platform.

Technical consulting engagement for Jersey’s leading property aggregator platform, which scrapes and consolidates listings from 224+ estate agents across the island.

Project Overview

places.je is a comprehensive property portal serving the Jersey real estate market. The platform aggregates property listings from estate agent websites, planning portal data, and various data sources through a sophisticated scraping and ingestion pipeline.

Consulting Scope

Phase 1: Technical Review and Infrastructure Migration

The engagement focused on a thorough analysis of the existing codebase and infrastructure:

  • Code Review: Deep dive into the .NET backend architecture, React frontend, and job processing systems
  • Infrastructure Assessment: Evaluated current hosting, CI/CD pipelines, and deployment processes
  • Migration Planning: Developed recommendations for moving from Bitbucket Pipelines to GitHub Actions
  • Database Migration: SQL Server data migration strategy to new hosting platform (Fly.io)

Key Technical Findings

Architecture Analysis

The platform consists of several key components:

  • Places.Web - Public-facing property search site
  • Places.Web.Agent - Agent portal for property management
  • Places.Feeds - Scraping and data ingestion pipeline
  • Hangfire - Background job processing for indexing, media, and alerts

Frontend Modernization

Identified technical debt in the frontend stack:

  • React 17 (nearly 5 years old at time of review)
  • React.NET (unmaintained server-side rendering)
  • Webpack 5.70 and Babel 7.17 requiring updates

Infrastructure Recommendations

Provided detailed recommendations covering:

  • Database migration strategy
  • CI/CD modernization with GitHub Actions
  • Authentication and authorization improvements
  • Image storage optimization on Google Cloud Storage
  • Job orchestration improvements (Hangfire hardening)
  • Ongoing maintenance and support contract structure

Image Processing Pipeline

Documented and analyzed the sophisticated image processing system:

  • Scraping from estate agent websites
  • SHA1 hashing for duplicate detection
  • Format standardization (PNG to JPEG conversion)
  • Multiple size generation (thumbnails to lightbox)
  • Cloud storage with organized naming conventions
  • Version-based cache busting

Technologies

  • .NET backend services
  • React frontend with server-side rendering
  • SQL Server primary database
  • Redis caching layer
  • Hangfire background job processing
  • Google Cloud Storage for image assets
  • Fly.io hosting platform