Skip to content
RH★RYAN
HANGRALIMDEVELOPER / BALI, ID

ML / MOBILE VISION

Sastra Bali

A Balinese learning app with a camera-based aksara classifier, built from public and handwritten datasets and packaged for Android with TensorFlow Lite.

A new way to read an old script.
THE ROLE
Machine Learning Team · Bangkit Capstone
THE WHEN
Nov — Dec 2024
BUILT WITH
TensorFlowCNNTensorFlow LiteData Augmentation

Learning through the camera

Sastra Bali, also called Sabi, is a Bangkit capstone app for learning the Balinese language and script. Alongside learning materials and quizzes, its scanning feature helps learners identify Balinese aksara from an image.

I worked on the machine learning side as part of a three-person ML team, collaborating with the Android and cloud teams to turn a character classifier into an app feature.

Building the dataset and model

We combined a public Balinese aksara dataset with handwritten samples we created ourselves. The training workflow brings those sources together, augments the images, and trains a convolutional neural network in TensorFlow. Separate notebooks cover augmentation, model training and evaluation, and metadata preparation.

The work included iterating on the model and checking its classification results before preparing it for the mobile team. Our original real-time video OCR ambition narrowed into a scan-and-classify flow that we could deliver within the project.

Making the model usable on Android

The handoff included a TensorFlow Lite model and metadata to support integration into the Kotlin Android app. That made the model’s input and output contract part of the implementation, alongside the network itself.

What I learned

This project connected dataset preparation, model iteration, and mobile deployment. The most useful lesson was that a trained model becomes a product feature only when another team can integrate it: preprocessing, labels, model format, and metadata all matter.

The machine learning repository contains the data preparation and model workflow; the organization also holds the mobile and backend components.

CASE FILE / 05THAT'S THE STORY.

LET'S BUILD THE NEXT ONE ↗
UP NEXT / CASE FILE 06

Music Recommendation

Find your next track in the sound.

← THE COMPLETE LINEUPBACK TO BASE ↑
YOU'VE GOT A DIRECT LINE.

RYAN'S GUIDE

The inside story on the work.

AI PORTFOLIO GUIDEASK AWAY
THIS IS WHERE THE CONVERSATION STARTS.
Ryan's guide

Hey! I'm Ryan's AI portfolio guide. Want the story behind a project, his background, or what he builds? You're in the right place.

PICK A CONVERSATION STARTER

ENTER: SEND SHIFT + ENTER: NEW LINE

Have something personal to discuss? Email Ryan ↗