MVP Development & Deployment Plan
An accelerated 4-week sprint to launch the Propsight MVP on Google Cloud Platform.
Task & Code Descriptions
Project Setup & GCP Foundation
- Setup Monorepo:
- Initialize the Git repository with the defined folder structure for services, data, and packages.
- Configure GCP Project:
- Set up billing, IAM roles, and enable required APIs (GKE, Cloud SQL, Vertex AI, etc.).
- CI/CD Pipeline:
- Create a basic CI/CD pipeline using Cloud Build or Bitbucket Pipelines that triggers on commits to the main branch.
Backend & Data Pipeline
- Cloud SQL Schema:
- Deploy the initial PostgreSQL schema for users, properties, and preferences.
- Vertex AI Vector Search:
- Configure and set up the vector database index to store text and image embeddings.
- Data Ingestion MVP:
- Write Cloud Functions to pull initial data from public sources (e.g., FEMA flood maps) and populate Cloud SQL.
AaaS Core MVP
- Intent Recognition:
- Develop the core logic using Gemini to classify user prompts into categories like 'search' or 'risk_analysis'.
- Query Generation:
- Code the service to translate recognized intents into basic SQL and Vector DB queries.
Frontend MVP
- UI Components:
- Build the core React components: conversational search bar, map view, and property cards.
- User Auth Flow:
- Integrate Firebase Authentication for user sign-up and login.
- API Integration:
- Connect the frontend to the AaaS Core service to send prompts and receive results.
Business & Legal
- Secure Data API Agreements:
- Initiate and finalize data licensing agreements with MLS boards and third-party data providers for flood, crime, and wildfire data.
Integration & Testing
- End-to-End Testing:
- Test the full flow from a user typing a prompt in the UI to receiving synthesized results from the AaaS.
- Performance Tuning:
- Initial load testing to identify and fix bottlenecks in the API and database queries.
Deployment & Launch
- GKE Deployment:
- Write Kubernetes deployment files for each microservice and deploy to the GKE cluster.
- Public Launch:
- Point the domain to the live application and begin initial marketing pushes.