DEV Community

Austin Murray
Austin Murray

Posted on

How I Built and Shipped a Production-Ready AI Recommendation System (Nomova.ai)

Overview

Nomova.ai is an AI/ML-powered vacation planning platform designed to generate personalized travel recommendations using predictive modeling and cloud infrastructure.

The goal of the project was to explore how modern AI systems can be built end-to-end—from model development to production deployment—while keeping the system scalable, maintainable, and practical in a real-world environment.

Problem

Travel planning is typically fragmented across multiple platforms. Users jump between search engines, booking sites, and review platforms, then manually combine information into a decision.

This creates friction in three key ways:

High cognitive load
Inconsistent recommendations across sources
Lack of personalization

Nomova.ai was built to address this by consolidating the experience into a single, AI-driven recommendation system.

System Design

The system was designed as a cloud-native SaaS architecture with a clear separation between data processing, machine learning, and serving infrastructure.

Machine Learning Layer

The core predictive functionality was built using PyTorch, with models deployed through Vertex AI.

This layer handles:

Learning user preference patterns
Ranking travel destinations and recommendations
Supporting iterative model experimentation and tuning

The model design focuses on combining user signals with contextual inputs to produce ranked outputs.

Feature Processing Layer

Raw user interaction data is transformed into structured signals before being passed into the model.

Key feature groups include:

Behavioral interaction history
Destination affinity signals
Contextual constraints such as budget, duration, and preferences

This separation ensures the model remains decoupled from raw input complexity and improves maintainability.

Cloud Deployment

The system is deployed using Vertex AI for model serving and infrastructure management.

This setup enables:

Scalable inference endpoints
Managed deployment workflows
Simplified model lifecycle management

This allowed the system to move from experimental development into a production-ready environment without restructuring core logic.

Engineering Decisions
Separation of Concerns

The ML layer, feature pipeline, and serving infrastructure were intentionally separated to allow independent development and iteration.

Cloud-Native Architecture

Using Vertex AI reduced operational overhead and allowed the system to scale inference workloads without manual infrastructure management.

Iterative Model Development

The system was designed to support experimentation, allowing models to be updated and evaluated without disrupting production workflows.

Challenges
Cold Start Problem

New users lack historical interaction data, requiring fallback logic to generate meaningful initial recommendations.

Model Generalization

Balancing personalization with general travel relevance required careful feature selection and tuning.

Production Transition

Moving from local development to a deployed system required restructuring inference flows and ensuring consistency between environments.

Outcome

Nomova.ai was successfully delivered as a production-ready system and handed off following completion of its core machine learning and infrastructure components.

The project demonstrates experience in:

Designing scalable ML systems
Building cloud-native architectures
Moving models from development to production
Structuring systems for long-term maintainability
Stack
PyTorch
Google Vertex AI
Google Cloud Platform
Python-based ML pipelines

Top comments (0)