Indonesia · WIB

Hi, I’m Rio.

█
Portrait of Rio Firman Raharja

@rio

available for work!

Scroll Down

About Rio Firman Raharja, Machine Learning & Applied AI Engineer

I build intelligent software systems at the intersection of AI, machine learning,
and product engineering. My primary focus is AI that solves real problems,
backed by reliable software systems.
I also build native iOS apps in Swift,
bringing the same care to mobile experiences and everyday workflows.
PythonPyTorchLangChainSwiftSwiftUIUIKitFlutterGoTypeScriptNext.jsReactNode.jsPostgreSQLQdrantDockerTailwind CSSPythonPyTorchLangChainSwiftSwiftUIUIKitFlutterGoTypeScriptNext.jsReactNode.jsPostgreSQLQdrantDockerTailwind CSS

Selected projects

Selected work / Applied AI

AI, put to work.

Three different problems. One focus: useful AI, grounded in context, connected to reliable systems, and built for people.

Strata PDA dashboard with document ingestion and writing skill shortcuts
Applied AI

01 / 04 · Document workspace

Full size

A single starting point for document uploads, conversations, and reusable writing skills.

Project 01 / Full-Stack AI Engineer

Strata PDA

Your documents. Your voice. Traceable answers.

A document assistant that turns personal archives into context-aware drafts. Local embeddings, source citations, and reusable writing personas connect AI generation to the documents and style that matter to each user.

Highlights

  • 01Local RAG with BGE-M3 and Qdrant
  • 02Reusable writing personas and source citations
  • 03Streaming drafts with live preview and DOCX export

1,024

Embedding dimensions

PDF + DOCX

Document ingestion

SSE

Draft streaming

PythonFastAPIQdrantBGE-M3GeminiReact
Explore the case study
Streamly demo dashboard showing audience sentiment and suggested live stream actions
Applied AI

01 / 04 · Live audience pulse

Full size

Simulated sentiment, message volume, and actionable insights in a compact creator dashboard.

Project 02 / Full-Stack & AI Engineer

Streamly

Turn a fast-moving live chat into a clear next move.

An AI co-pilot for TikTok Live that turns chat activity into audience sentiment, emerging topics, and practical actions. Hierarchical summaries preserve the conversation's timeline across short pulses, developing trends, and session reviews.

Highlights

  • 01Hierarchical summaries across 5, 20, and 45 minutes
  • 02Atomic Redis batch isolation during chat ingestion
  • 03Sentiment, emerging topics, and actionable AI insights

5 / 20 / 45m

Analysis windows

Redis

Queue + insight cache

Demo

No live stream required

TypeScriptNode.jsRedisGeminiReactExpress
Explore the case study
Signalroom market research terminal with fundamental and price discrepancy controls
Applied AI

01 / 05 · Signalroom terminal

Full size

Configure a research scan and compare fundamental performance with price behavior.

Project 03 / AI & Backend Engineer

Market Intelligence

From market anomaly to an evidence-backed research memo.

Signalroom is an IDX research terminal that connects robust statistical screening, cited AI research, and deterministic scenario testing. Each research run stays tied to one market snapshot so its evidence and calculations can be revisited.

Highlights

  • 01Robust screening with median/MAD and outlier controls
  • 02Cited Gemini research validated with Pydantic
  • 03Deterministic stress tests and immutable snapshot replay

357

Documented automated tests

3

Stress scenarios

Snapshot

Reproducible research

PythonFastAPIPydanticGeminiSectors APIpytest
Explore the case study

Native iOS / Swift · 03 projects

Built for iOS. Written in Swift.

UIKit and SwiftUI interfaces, durable uploads, local persistence, and AR experiences. Three native apps that show how I build beyond the model and into the hands of users.

Slate native iOS creator dashboard for projects, invoices, and transfers
Swift / iOS

01 / 03 · Creator workspace

Full size

A native iOS overview of client projects, invoices, and file transfers.

Slate

From creative brief to verified file delivery.

Durable background uploads with multipart recovery

SwiftUIKitCore Data
BrandLens campaign discovery screen captured in iOS Simulator
Swift / iOS

01 / 03 · Campaign discovery

Full size

Simulator capture of the native campaign discovery experience.

BrandLens

Printed campaigns, brought into another dimension.

ARKit image tracking and RealityKit scenes

SwiftUIKitARKit
Personal Money Tracker monthly overview with synthetic iOS Simulator transactions
Swift / iOS

01 / 04 · Monthly overview

Full size

Income, expenses, balance, and recent transactions using synthetic demo records.

Personal Money Tracker

Make everyday money tracking easy to keep up with.

Quick IDR entry and dedicated Grocery tracking

SwiftSwiftUISwiftData

Cross-platform / Flutter & Web

One product. Android, iOS, and web.

GitHub Contributions

Coding activity

GitHub Contributions

Last 365 Days

0

contributions in the last year

Longest Streak

0 days

Active Days

0 days
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri0 contributions on 2025-09-072 contributions on 2025-09-082 contributions on 2025-09-097 contributions on 2025-09-100 contributions on 2025-09-110 contributions on 2025-09-120 contributions on 2025-09-130 contributions on 2025-09-140 contributions on 2025-09-150 contributions on 2025-09-160 contributions on 2025-09-170 contributions on 2025-09-180 contributions on 2025-09-190 contributions on 2025-09-200 contributions on 2025-09-210 contributions on 2025-09-220 contributions on 2025-09-230 contributions on 2025-09-240 contributions on 2025-09-250 contributions on 2025-09-260 contributions on 2025-09-270 contributions on 2025-09-280 contributions on 2025-09-290 contributions on 2025-09-302 contributions on 2025-10-010 contributions on 2025-10-020 contributions on 2025-10-030 contributions on 2025-10-040 contributions on 2025-10-050 contributions on 2025-10-060 contributions on 2025-10-0722 contributions on 2025-10-088 contributions on 2025-10-096 contributions on 2025-10-100 contributions on 2025-10-110 contributions on 2025-10-126 contributions on 2025-10-132 contributions on 2025-10-140 contributions on 2025-10-1518 contributions on 2025-10-169 contributions on 2025-10-170 contributions on 2025-10-180 contributions on 2025-10-190 contributions on 2025-10-200 contributions on 2025-10-210 contributions on 2025-10-220 contributions on 2025-10-232 contributions on 2025-10-2422 contributions on 2025-10-2517 contributions on 2025-10-260 contributions on 2025-10-270 contributions on 2025-10-285 contributions on 2025-10-2924 contributions on 2025-10-302 contributions on 2025-10-310 contributions on 2025-11-010 contributions on 2025-11-020 contributions on 2025-11-030 contributions on 2025-11-040 contributions on 2025-11-056 contributions on 2025-11-060 contributions on 2025-11-070 contributions on 2025-11-080 contributions on 2025-11-090 contributions on 2025-11-100 contributions on 2025-11-112 contributions on 2025-11-120 contributions on 2025-11-131 contributions on 2025-11-140 contributions on 2025-11-150 contributions on 2025-11-160 contributions on 2025-11-174 contributions on 2025-11-180 contributions on 2025-11-199 contributions on 2025-11-202 contributions on 2025-11-211 contributions on 2025-11-220 contributions on 2025-11-230 contributions on 2025-11-240 contributions on 2025-11-250 contributions on 2025-11-260 contributions on 2025-11-270 contributions on 2025-11-280 contributions on 2025-11-290 contributions on 2025-11-300 contributions on 2025-12-010 contributions on 2025-12-020 contributions on 2025-12-031 contributions on 2025-12-044 contributions on 2025-12-050 contributions on 2025-12-060 contributions on 2025-12-070 contributions on 2025-12-080 contributions on 2025-12-093 contributions on 2025-12-103 contributions on 2025-12-110 contributions on 2025-12-120 contributions on 2025-12-130 contributions on 2025-12-140 contributions on 2025-12-150 contributions on 2025-12-161 contributions on 2025-12-170 contributions on 2025-12-186 contributions on 2025-12-190 contributions on 2025-12-200 contributions on 2025-12-210 contributions on 2025-12-226 contributions on 2025-12-234 contributions on 2025-12-240 contributions on 2025-12-252 contributions on 2025-12-260 contributions on 2025-12-270 contributions on 2025-12-280 contributions on 2025-12-290 contributions on 2025-12-300 contributions on 2025-12-312 contributions on 2026-01-010 contributions on 2026-01-021 contributions on 2026-01-030 contributions on 2026-01-040 contributions on 2026-01-050 contributions on 2026-01-060 contributions on 2026-01-071 contributions on 2026-01-080 contributions on 2026-01-090 contributions on 2026-01-100 contributions on 2026-01-110 contributions on 2026-01-120 contributions on 2026-01-130 contributions on 2026-01-140 contributions on 2026-01-150 contributions on 2026-01-160 contributions on 2026-01-170 contributions on 2026-01-180 contributions on 2026-01-190 contributions on 2026-01-200 contributions on 2026-01-210 contributions on 2026-01-220 contributions on 2026-01-230 contributions on 2026-01-240 contributions on 2026-01-250 contributions on 2026-01-260 contributions on 2026-01-270 contributions on 2026-01-280 contributions on 2026-01-290 contributions on 2026-01-300 contributions on 2026-01-310 contributions on 2026-02-010 contributions on 2026-02-020 contributions on 2026-02-030 contributions on 2026-02-040 contributions on 2026-02-050 contributions on 2026-02-060 contributions on 2026-02-070 contributions on 2026-02-084 contributions on 2026-02-095 contributions on 2026-02-100 contributions on 2026-02-110 contributions on 2026-02-120 contributions on 2026-02-130 contributions on 2026-02-140 contributions on 2026-02-150 contributions on 2026-02-164 contributions on 2026-02-171 contributions on 2026-02-182 contributions on 2026-02-190 contributions on 2026-02-200 contributions on 2026-02-210 contributions on 2026-02-220 contributions on 2026-02-230 contributions on 2026-02-240 contributions on 2026-02-250 contributions on 2026-02-260 contributions on 2026-02-270 contributions on 2026-02-280 contributions on 2026-03-010 contributions on 2026-03-020 contributions on 2026-03-030 contributions on 2026-03-040 contributions on 2026-03-050 contributions on 2026-03-060 contributions on 2026-03-070 contributions on 2026-03-080 contributions on 2026-03-090 contributions on 2026-03-104 contributions on 2026-03-110 contributions on 2026-03-120 contributions on 2026-03-130 contributions on 2026-03-140 contributions on 2026-03-150 contributions on 2026-03-160 contributions on 2026-03-170 contributions on 2026-03-180 contributions on 2026-03-190 contributions on 2026-03-200 contributions on 2026-03-210 contributions on 2026-03-220 contributions on 2026-03-230 contributions on 2026-03-240 contributions on 2026-03-250 contributions on 2026-03-260 contributions on 2026-03-270 contributions on 2026-03-280 contributions on 2026-03-290 contributions on 2026-03-300 contributions on 2026-03-310 contributions on 2026-04-010 contributions on 2026-04-020 contributions on 2026-04-030 contributions on 2026-04-040 contributions on 2026-04-053 contributions on 2026-04-060 contributions on 2026-04-070 contributions on 2026-04-080 contributions on 2026-04-090 contributions on 2026-04-100 contributions on 2026-04-110 contributions on 2026-04-120 contributions on 2026-04-130 contributions on 2026-04-140 contributions on 2026-04-150 contributions on 2026-04-160 contributions on 2026-04-170 contributions on 2026-04-185 contributions on 2026-04-190 contributions on 2026-04-200 contributions on 2026-04-210 contributions on 2026-04-220 contributions on 2026-04-230 contributions on 2026-04-240 contributions on 2026-04-253 contributions on 2026-04-260 contributions on 2026-04-273 contributions on 2026-04-280 contributions on 2026-04-290 contributions on 2026-04-300 contributions on 2026-05-010 contributions on 2026-05-020 contributions on 2026-05-030 contributions on 2026-05-045 contributions on 2026-05-051 contributions on 2026-05-060 contributions on 2026-05-077 contributions on 2026-05-080 contributions on 2026-05-090 contributions on 2026-05-100 contributions on 2026-05-110 contributions on 2026-05-121 contributions on 2026-05-130 contributions on 2026-05-140 contributions on 2026-05-150 contributions on 2026-05-160 contributions on 2026-05-170 contributions on 2026-05-180 contributions on 2026-05-190 contributions on 2026-05-200 contributions on 2026-05-210 contributions on 2026-05-220 contributions on 2026-05-230 contributions on 2026-05-240 contributions on 2026-05-250 contributions on 2026-05-260 contributions on 2026-05-270 contributions on 2026-05-280 contributions on 2026-05-290 contributions on 2026-05-300 contributions on 2026-05-310 contributions on 2026-06-013 contributions on 2026-06-0210 contributions on 2026-06-031 contributions on 2026-06-040 contributions on 2026-06-050 contributions on 2026-06-060 contributions on 2026-06-072 contributions on 2026-06-080 contributions on 2026-06-090 contributions on 2026-06-100 contributions on 2026-06-110 contributions on 2026-06-120 contributions on 2026-06-130 contributions on 2026-06-140 contributions on 2026-06-150 contributions on 2026-06-163 contributions on 2026-06-172 contributions on 2026-06-182 contributions on 2026-06-190 contributions on 2026-06-200 contributions on 2026-06-210 contributions on 2026-06-220 contributions on 2026-06-230 contributions on 2026-06-242 contributions on 2026-06-250 contributions on 2026-06-260 contributions on 2026-06-270 contributions on 2026-06-280 contributions on 2026-06-290 contributions on 2026-06-300 contributions on 2026-07-014 contributions on 2026-07-021 contributions on 2026-07-030 contributions on 2026-07-040 contributions on 2026-07-052 contributions on 2026-07-060 contributions on 2026-07-070 contributions on 2026-07-080 contributions on 2026-07-090 contributions on 2026-07-100 contributions on 2026-07-110 contributions on 2026-07-120 contributions on 2026-07-130 contributions on 2026-07-140 contributions on 2026-07-150 contributions on 2026-07-160 contributions on 2026-07-170 contributions on 2026-07-180 contributions on 2026-07-190 contributions on 2026-07-200 contributions on 2026-07-210 contributions on 2026-07-222 contributions on 2026-07-230 contributions on 2026-07-240 contributions on 2026-07-250 contributions on 2026-07-260 contributions on 2026-07-270 contributions on 2026-07-280 contributions on 2026-07-290 contributions on 2026-07-300 contributions on 2026-07-310 contributions on 2026-08-010 contributions on 2026-08-020 contributions on 2026-08-030 contributions on 2026-08-040 contributions on 2026-08-050 contributions on 2026-08-060 contributions on 2026-08-070 contributions on 2026-08-080 contributions on 2026-08-090 contributions on 2026-08-100 contributions on 2026-08-113 contributions on 2026-08-120 contributions on 2026-08-130 contributions on 2026-08-140 contributions on 2026-08-150 contributions on 2026-08-160 contributions on 2026-08-174 contributions on 2026-08-180 contributions on 2026-08-190 contributions on 2026-08-200 contributions on 2026-08-210 contributions on 2026-08-220 contributions on 2026-08-230 contributions on 2026-08-240 contributions on 2026-08-250 contributions on 2026-08-260 contributions on 2026-08-270 contributions on 2026-08-280 contributions on 2026-08-290 contributions on 2026-08-300 contributions on 2026-08-310 contributions on 2026-09-010 contributions on 2026-09-020 contributions on 2026-09-030 contributions on 2026-09-0414 contributions on 2026-09-053 contributions on 2026-09-060 contributions on 2026-09-070 contributions on 2026-09-08
@rfirmn
LessMore