Universitas Brawijaya · Malang, Indonesia
Hi, I’m Reyno Benedict.
Computer Science student at Universitas Brawijaya, working on machine learning and software engineering — from data pipelines and models to the services around them.
Selected Projects
Public repositories on GitHub, described from their own code and READMEs.
-
Featured project
ICP Intelligence — Indonesian crude price forecasting platform
An end-to-end MLOps platform that rebuilds Indonesia’s official crude price (ICP) series and forecasts it alongside global benchmarks.
- Python
- FastAPI
- MLflow
- React
- Cloudflare Workers
Repository for ICP Intelligence (opens in new tab) Staging demo of ICP Intelligence (opens in new tab)View detailsHide details for ICP Intelligence
- Problem
- Indonesia’s official monthly crude oil price (ICP) is set by the Ministry of Energy and Mineral Resources (ESDM) and published in decree documents, so building a clean history to analyse and forecast requires extracting it from PDFs.
- Data pipeline
- PDF text extraction (PyMuPDF) and OCR (Tesseract) on ESDM decrees, with each month reconciled across sources and combined with Brent, Dubai, WTI and the USD/IDR rate.
- Forecasting
- 1–6 month forecasts with uncertainty ranges; candidate methods compared with rolling-origin backtesting; models tracked in MLflow, data versioned with DVC, and a continuous-training workflow in GitHub Actions.
- Application
- FastAPI backend and a React web app with saved scenarios, rule-based insights, PDF/Excel/CSV reports, user accounts and an operator area for datasets, models and jobs.
- Infrastructure
- Cloudflare Workers gateway with a D1 database, Docker and Docker Compose, Prometheus and Grafana monitoring, and CI that runs linting, type checks, tests and secret scanning.
- My role
- Designed and built the whole system as a solo project; it began as a course MLOps assignment and grew into a full platform.
- Status
- Portfolio project with a public staging deployment — not a production service. The staging demo’s forecasting features work only while the self-hosted backend is online. Model evaluation is ongoing.
-
Business record matching for BPS Kota Malang
An internal web tool that matches records of the same business across datasets, then routes candidate pairs to staff for review.
- TypeScript
- Next.js
- FastAPI
- PostgreSQL
- FAISS
View detailsHide details for business record matching
- Problem
- Business records from different datasets need to be linked when they refer to the same business, and every proposed match has to be checked by staff.
- Contribution
- Main developer on a three-person team.
- Approach
- A Python FastAPI service normalises text and generates candidate pairs using character n-gram TF-IDF, truncated SVD, FAISS nearest-neighbour search and RapidFuzz scoring. A Next.js and PostgreSQL app provides role-based workflows: admins upload datasets and run matching jobs, staff verify pairs as match, non-match or review, and the office head monitors progress — with audit logs and CSV export.
- Status
- Work-in-progress MVP. The real datasets are restricted, so the repository uses anonymised data, and no accuracy figures are reported because there are no ground-truth labels.
-
Indonesian job market analysis with Apache Spark
Scraped job listings and Spark-based analysis of Indonesia’s job market.
- Python
- PySpark
- Spark MLlib
- Selenium
View detailsHide details for job market analysis
- Problem
- Understand hiring patterns in Indonesia — which companies, locations, job types and salary ranges appear in job listings.
- Contribution
- Solo final project for the Big Data Analytics course.
- Approach
- Listings scraped from Glints with Selenium and BeautifulSoup, cleaned with pandas, analysed with Spark SQL, and job titles grouped with a Tokenizer → TF-IDF → K-Means pipeline in Spark MLlib.
- Status
- Completed course project.
More on GitHub
-
Heart disease prediction on GitHub (opens in new tab)
Heart disease prediction using supervised and unsupervised machine learning.
- Python
- Jupyter
-
Palm oil fruit ripeness classification on GitHub (opens in new tab)
A digital image processing and computer vision experiment that classifies palm oil fruit ripeness with an artificial neural network.
- Python
- Jupyter
About
Background & interests
I’m drawn to software engineering and machine learning, and to the question of how complex systems become solutions that are actually useful in the real world.
I enjoy exploring new technologies and experimenting with ideas, and I learn best by building. Recently that has meant a solo MLOps platform that forecasts Indonesia’s crude oil price, and leading development of a record-matching tool with a three-person team for BPS Kota Malang.
My coursework has also taken me through big data, cloud and DevOps.
What I’m Exploring
Areas I’m working in through coursework and my own repositories.
-
Software Engineering
Typed, tested applications with clear boundaries between services.
- TypeScript, React & Next.js
- FastAPI services
- Tests & CI with GitHub Actions
-
Machine Learning
Forecasting, similarity search and classification, evaluated against baselines.
- scikit-learn
- Time-series backtesting
- TF-IDF, FAISS & fuzzy matching
-
Data & MLOps
Taking models from notebooks to versioned, monitored pipelines.
- MLflow & DVC
- Apache Spark (SQL, MLlib)
- Prometheus & Grafana
-
Infrastructure
Containers, orchestration and edge deployment, through my projects and coursework labs.
- Docker & Docker Compose
- Kubernetes (kubeadm, HPA) in coursework labs
- Cloudflare Workers & D1
Academic Background
Education
Universitas Brawijaya
Faculty of Computer Science (FILKOM) · Malang, Indonesia
Undergraduate · Computer Science
Courses with public project work
- Big Data Analytics
- Web Application Development
- Service Automation Provisioning
Let’s Connect
Always glad to exchange ideas, talk about software engineering and machine learning, or collaborate on student projects.
- Email benedictreyno@gmail.com
- LinkedIn Reyno Benedict (opens in new tab)
- GitHub ReynoBenedict (opens in new tab)
- Instagram @reynoben021 (opens in new tab)
Curriculum vitae: View my CV (PDF, opens in new tab)