TerraVision — AI House Price Prediction App
TerraVision is a mobile application developed as a capstone project for Bangkit Academy 2024 Batch 1. The app provides price estimation, property listing, and interactive filtering to help home buyers and real estate investors evaluate property values across key regions in Indonesia.
The problem
Real estate is a major investment sector in Indonesia, but many first-time buyers and investors lack access to clear valuation data, leading to mispriced purchases and poor financial planning.
Key challenges in the property market:
- Lack of valuation transparency when evaluating property prices across different cities.
- Complex buying processes that hinder efficient property exploration and comparison.
- Difficulties in budgeting, including calculating mortgage payments and extra acquisition costs.
What TerraVision does
TerraVision delivers a complete real estate companion tailored for target cities including Jakarta, Bekasi, Depok, Bandung, Bogor, and Tangerang:
- Property Price Estimation — Machine Learning-powered estimation based on building area, land area, bedroom count, bathroom count, and location.
- Property Listing & Ads — Add new property listings, upload images, and manage real estate offers.
- Search & Navigation — Dynamic search, pagination, and location-based property filtering.
- KPR & Budget Calculator — Mortgage payment calculations considering down payments, interest rates, and legal/tax costs.
- Personalized Profile & Favorites — Account management, saved listings, and application theme customization.
Architecture & Technology
The system is split into an offline model training pipeline and an online serving path, connected end-to-end:
- Model Training Pipeline (offline) — raw property data in Cloud Storage is processed with Dataflow, trained on Vertex AI Training, and versioned in the Vertex AI Model Registry.
- Model deployment — the registered model is deployed to a Vertex AI Endpoint, exposing it as a callable inference service.
- Backend (GCP) — an Express.js REST API on App Engine handles authentication, property listings, search/filter, and forwards prediction requests to the Vertex AI Endpoint, returning results as JSON.
- Mobile App — the Android client talks to the backend over HTTPS/JSON, so it never calls the ML endpoint directly.
Supporting the core flow:
- Authentication — Firebase Authentication for sign up/sign in, with JWT tokens issued for subsequent API calls.
- Database — Cloud SQL (PostgreSQL) storing users, properties, price history, and predictions.
- Storage — Cloud Storage for property images, documents, and model artifacts.
- Monitoring & Logging — Cloud Logging, Cloud Monitoring, and Error Reporting for observability across the backend.
- Networking & Security — HTTPS/SSL, IAM roles, and VPC/firewall rules securing traffic between services.
My Role & Key Responsibilities
As part of the Cloud Computing, I was responsible for connecting the machine learning model to the mobile app — designing and running the backend that sits between them, from data storage to inference to the API the app consumes:
-
AI → Backend → App Integration
- Integrated the trained price prediction model with the backend by calling the Vertex AI Endpoint from Express.js, so the mobile app gets predictions through a single REST call instead of talking to the ML service directly.
- Designed the request/response contract between the app and backend for prediction requests, keeping the mobile client simple and decoupled from the ML infrastructure.
-
REST API Development
- Designed and built server-side application logic using Node.js and Express.js.
- Implemented Authentication & User Management on top of Firebase Authentication, issuing and validating JWT tokens for protected routes.
- Built Property Management logic covering listing creation, search, filtering, and pagination.
-
Cloud Infrastructure & Service Integration (GCP)
- Deployed the Node.js application server on Google App Engine for scalable service hosting.
- Provisioned and managed relational database instances using Cloud SQL (PostgreSQL) for users, properties, price history, and predictions.
- Integrated Google Cloud Storage (GCS) for secure handling and hosting of user-uploaded property images and model artifacts.
- Set up Cloud Logging, Cloud Monitoring, and Error Reporting to track backend health and catch issues early.
- Configured IAM roles, VPC, and firewall rules to secure communication between the backend, database, and ML endpoint.