Skip to content
View JstnClmnt's full-sized avatar

Highlights

  • Pro

Block or report JstnClmnt

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
JstnClmnt/README.md

Justine Clemente

Senior Data Scientist at RingCentral · Manila, Philippines
NLP foundation · Applied ML · GenAI · Data Engineering

Portfolio · LinkedIn · Email


I started in NLP, working with transformer models like BERT years before ChatGPT brought them into the mainstream. My early work covered language-model pretraining, text classification, conversational AI, and entity resolution. Since then, I've grown into a generalist working across machine learning, data engineering, and GenAI. The job is still the same: turn an unclear business problem into something people can use and trust.

For the past five years, I've been the only data scientist supporting my analytics organization at RingCentral. I own projects from the first conversation through deployment and support, working with data engineers and analysts along the way. Several of these systems feed reports and tools used by senior leaders, so I spend a lot of time on validation, safe failure modes, and the less glamorous work that keeps a bad input from becoming a confident answer.

I'm also completing an M.S. in Computer Science part-time at De La Salle University.

Selected work

Most of my recent work lives in a private enterprise codebase. These summaries focus on the problem, the decisions behind the build, and what shipped.

🔎 Dashboard discovery with guardrails

Teams knew the business question they wanted to answer, but not which dashboard in a large catalog held the answer. I built a two-pass Claude system that interprets the question, retrieves a match through forced tool use, and verifies the result against the real catalog before returning it. On a held-out 40-query set, it returned the top result correctly 39 times (97.5% top-1) and never declined a query that had a valid answer.

🗣️ Text-to-SQL for business teams

I shipped a Streamlit assistant that lets people query Snowflake in plain English. It uses Claude with ChromaDB retrieval, blocks known invalid fields before generation, and checks the SQL again afterward. About 50 people use it, including executives and senior leaders. The application runs on Docker and Kubernetes, with query logging for review and feedback.

🔗 Reconciling two customer bases so nobody gets lost in the migration

A partner's customers were moving onto our platform, and the two customer bases overlapped with no shared key between them. The matching is what decides who actually makes it through: a customer the pipeline misses is a customer who falls out of the migration, and the revenue goes with them. I combined TF-IDF and cosine similarity, fuzzy matching, and deterministic identifiers into a weighted confidence score, tuned strict and ranked so an analyst could review every candidate. It runs against an account base of roughly 5.6 million rows.

⚙️ Alteryx-to-SQL migration

I built an LLM-assisted converter that parses Alteryx workflow graphs, traces schemas, and produces Hive/Impala SQL using Claude, LangChain, and sqlglot. It generated roughly 16,000 lines of SQL across 27 workflows, guarded by 25 automated correctness checks that are discovered from the workflows themselves rather than kept as a hardcoded list. A companion pipeline loads the underlying data into Snowflake and on-prem Hadoop.

📊 Executive reports that write themselves, without making things up

I automated recurring Snowflake-to-Python reporting used by C-suite and VP leaders, and Claude writes the commentary on top of it: a one-line read on each deal, a narrative per risk bucket, a pipeline health summary, and a top-signal callout for the chat message. The rule that makes this safe to put in front of that audience is that the LLM writes the prose and never the numbers — every figure, bucket, and flag is computed deterministically in Python and handed to the model as fixed input, and the response has to satisfy a structured-JSON contract before anything is rendered.

The failure policy is tiered by what's at stake. Freshness checks stop a run before stale data reaches a report at all. The daily executive report refuses to send on a bad model response rather than send an invented story, while a softer weekly takeaway just falls back to neutral wording so the report still goes out. Delivery covers PDF, Excel, chat, and Google Drive on schedule, and a related set of 10 Tableau delivery pipelines distributes roughly 300 dashboards to leadership channels.

What I work with

  • ML and NLP: entity resolution, text classification, sentiment, CSAT and churn modeling, forecasting; XGBoost, Random Forest, SVM, and MLP models in scikit-learn and PyTorch
  • GenAI: RAG, Text-to-SQL, prompt engineering, tool use, LangGraph, evaluation, and hallucination mitigation; Claude, LangChain, ChromaDB
  • Data and deployment: Python, SQL, Snowflake, Hive/Impala, Docker, Kubernetes, Streamlit, Tableau, pytest

Experience

Company Role Dates
RingCentral Senior Data Scientist Jul 2023 – Present
RingCentral Data Scientist May 2021 – Jul 2023
Senti AI AI Research Engineer Sep 2019 – May 2021

Earlier public work

My public repositories mostly reflect earlier research, coursework, and teaching. Two that still represent where I came from are my real-time sign-language-to-text thesis and a Python data structures workshop.

Recognition

I'm always happy to compare notes on applied ML, NLP, and practical GenAI.

Pinned Loading

  1. discord-text2sql-mcp discord-text2sql-mcp Public

    Experimental MCP-native Text2SQL Discord assistant with schema grounding, layered SQL safety, charts, and reproducible evaluation.

    Python

  2. CS203 CS203 Public

    Data Structures and Algorithms(CS203)

    Java 5

  3. ASLRecognitionThesis ASLRecognitionThesis Public

    Jupyter Notebook 1

  4. AI2-Machine-Learning AI2-Machine-Learning Public

    Predicting habitability of exoplanets using various machine learning methods

    Jupyter Notebook

  5. UST-DSA-Python-Workshop UST-DSA-Python-Workshop Public

    Jupyter Notebook 1