Experience

One role, the whole stack: storage, data platform, models, and the automation around them.

Nam Viet Media

Data Scientist (AI & Automation)

–

Owned recommendation for the company's news platform and its Spotify-style music streaming platform, from the physical storage layer to production ranking models, contributing to an approximately 40% increase in customer retention. Also built the company's web scraping and LLM automation workflows.

Recommender systems: news platform

  • Designed and built an end-to-end news recommender with a multi-stage architecture: candidate retrieval, deep learning ranking, and re-ranking for freshness and diversity.
  • Built two-tower retrieval with a Deep Structured Semantic Model (DSSM) whose item tower encodes articles with a pretrained BERT-style language model, so newly published articles can be recommended before they collect clicks.
  • Benchmarked and deployed attention-based news rankers (NRMS, LSTUR) that model each user from their click history with multi-head self-attention over article representations.
  • Added an LLM layer that generates concise article and user-interest summaries, feeding richer semantic signals into retrieval and ranking for sparse and long-tail content.
  • Handled the fast-decay, cold-start nature of news by blending content-based and collaborative signals with recency-aware re-ranking.

Recommender systems: music streaming platform

  • Built a music recommender for track and playlist suggestions, combining collaborative signals from listening behavior with content signals extracted from the audio itself.
  • Built a waveform-based music auto-tagging pipeline that classifies tracks into genre, mood, and instrument tags: extracted embeddings with self-supervised music foundation models (MuQ, MERT), fine-tuned Audio Spectrogram Transformer (AST) and PANNs CNN14 on mel-spectrograms, and used CLAP audio-text embeddings for zero-shot tagging of new labels.
  • Used the audio embeddings as track representations for similar-song retrieval and for recommending new tracks with no listening history.
  • Modeled listening sessions as sequences with SASRec and BERT4Rec, and experimented with Meta's generative recommender HSTU, to predict the next tracks a user is likely to play.

Data platform and MLOps

  • Built the data platform from storage up to the recommender: ingested unstructured Google Analytics 4 (GA4) event data into Amazon S3 and refined it through a Medallion architecture (Bronze → Silver → Gold) on Apache Spark and Apache Iceberg.
  • Turned raw GA4 events (page views, plays, skips, clicks, sessions) into clean user-item interaction tables and features for training and analytics.
  • Orchestrated ingestion, feature, training, and batch inference pipelines with Apache Airflow 3 and Prefect, running containerized workloads with Docker on Kubernetes.
  • Deployed the stack as microservices on on-premise Linux servers, configuring the hardware layer (server chassis, mainboards, and attached physical storage) to connect storage directly with the compute serving the recommender.
  • Set up reproducible experimentation and automated retraining so models stay current with new content and user behavior.

Workflow automation with n8n

  • Built a lottery-results verification system entirely in n8n, made of about 10 workflows running in parallel: pulled results from the API that feeds the front end, crawled the published pages, parsed and cross-checked both sources, stored them in a database, and scored each source on speed and accuracy, then pushed reports to Google Sheets and alerts to Google Chat.
  • Built an AI content pipeline: SerpAPI finds top-ranking and trending keywords, OpenAI GPT drafts an SEO outline, an editor approves it in a human-in-the-loop step, and the model writes the full article in the same conversation thread so the approved outline is not resent, saving tokens.
  • Added a two-model review stage in which two separate LLMs check each article for accuracy, quality, and SEO before it is uploaded to the CMS as a draft for final editorial review.
  • Built event-driven automations combining OpenAI/Gemini APIs, social APIs, and SQL for data collection, campaign monitoring, and notifications.

Web scraping and data collection

  • Built scrapers for dynamic, JavaScript-heavy sites with Playwright and Selenium, and controlled live Chrome sessions through the Chrome DevTools Protocol over a remote debugging port to reuse logged-in sessions and capture network data.
  • Fed scraped data into the n8n workflows, the content pipeline, and analytics databases.

Marketing analytics

  • Analyzed traffic, campaign performance, user behavior, conversions, and content engagement with SQL, GA4, Power BI, Tableau, and Looker Studio.