I'm Rio Dwi Saputra. Most people just call me Ryo, a self-taught developer from Indonesia π. I started out building small games in C#/Unity, then moved into web scraping and reverse-engineering hidden APIs. These days I work across the data stack: ingesting messy real-world data, moving it through Airflow and Kafka, modeling it with dbt, and serving it through FastAPI, with IndoBERT and the Gemini API in the mix for AI-assisted processing.
- π Currently building: web-scraping engines and data pipelines that turn messy sources into clean, queryable data
- π οΈ Side habit: turning annoyances into small libraries (see
APIRetrys,Dekimashita, andCathDbelow) - π¬ Ask me about: web scraping, hidden-API reverse engineering, or building pipelines with Airflow, Kafka, and dbt
- β‘ Fun fact: I'd rather spend an hour automating a five-minute task than do it by hand twice
Languages & Core
Web Scraping & Hidden-API Reverse Engineering
Orchestration & Streaming
Databases & Storage
Valkey is used as a Redis-compatible in-memory store.
Data Transformation & Modeling
API & Backend
Containers & Infrastructure
AI/ML for Data Processing
| Project | What it does | Stack |
|---|---|---|
| Facraw-Playwright | Facebook scraping toolkit built on Playwright for reliable, browser-based crawling. | |
| Voice | A public opinion & sentiment tracker that collects and classifies real-world commentary. | |
| InstaHarvest | A focused crawler for harvesting Instagram images. | |
| Apify-Google-Trends | An Apify Actor that extracts Google Trends data on demand. | |
| APIRetrys | A small library that automatically retries failing HTTP requests, so flaky APIs stop breaking your pipeline. | |
| Dekimashita | A personal Python utility belt of text, dict, and alphanumeric helpers. |
Goes live automatically after this repo is pushed and the snake workflow runs once.
