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.