AI/ML Engineer · Jakarta

I build AI that turns noisy text into clear signal.

Production NLP and machine learning, grounded in years shipping real systems, from social listening to market intelligence.

About

I'm an engineer who likes the unglamorous part of AI: making it work reliably inside real products. Most of my time goes to language and data: reading the mess, finding what matters, and shipping it as something people can actually use.

Now I work on my own, putting that same care into the products I build.

What I do

Turning language and data into working systems.

NLP in production

Reading text at scale

Sentiment, classification, and entity resolution pipelines that process large volumes of messy, real-world text, reliably, not just in a notebook.

LLMs that ship

AI features people actually use

Structured output, enrichment, and semantic search wired into products, solving concrete problems instead of chasing hype.

Search & matching

Finding the right thing

Embeddings, vector search, ranking, and record linkage: the quiet machinery behind good recommendations and clean data.

Data & infra

Lean by design

Cloud-native pipelines on BigQuery and Cloud Run: serverless, event-driven, and cheap to run at scale.

Selected work

Products, not prototypes.

Built as the technical backbone of a data science team at a media intelligence company, turning raw text into systems analysts use every day.

01 Media intelligence · team product

Automated AI insight reports

Producing one report meant six-plus hours of pulling data, running the numbers, and writing it all up. I built an LLM pipeline that does the whole thing, from raw data to a finished report, and reruns on a schedule without adding any human load.

6+ hrs of manual work  →  under 1 minute, recurring

Python LLM structured output Solr Huawei Cloud
02 Media intelligence · team product

Smart alert systems

Not every spike is a crisis. Together with the team, I worked on a monitoring system that watches selected posts and escalates them through four stages, Normal, Watch, Hot, Crisis, by reading engagement velocity, sentiment, and volume together, so an early crisis surfaces before it grows while the noise stays quiet.

Normal Watch Hot Crisis
Python Engagement velocity Sentiment Volume signals Solr
03 Media intelligence · team product

Data layer for AI assistants

An AI assistant is only as good as the data behind it. I owned the backend, designing the services and data layer that fed clean, structured, query-ready data to the analyst-facing AI assistants, so they answered from solid ground instead of raw mess.

Python PostgreSQL Solr
Stack
Go Python Google Cloud BigQuery Cloud Run PostgreSQL Solr Firestore Huawei Cloud