Portfolio

Projects

A selection of things I've built. Each one taught me something worth keeping.

Not Very Disco screenshot

Not Very Disco

2026

Role: Developer.

Key Responsibilities: Game Logic, Prototype, and TestFlight & itch.io Distribution.

A game app for a submission in a game jam hosted by the UC Jakarta Apple Developer Academy called Very Disco Jam for across the academies in the world. The app is distributed to testers via TestFlight.

The disco is packed. Your friends want a high five. The pickpockets want your stuff. Good luck. (NOT) VERY DISCO is a fast-paced reaction arcade game set right in the middle of a chaotic dance floor. People keep coming at you from every direction. Some are your friends. Some are pickpockets. The problem is, they all look pretty normal at first, so you gotta wait until they reveal themselves before making a move. Friend? Tap left. Pickpocket? Tap right. Sounds easy, right? Yeah... not for long. The dance floor gets more packed, people come at you faster, and your reaction window keeps getting smaller. Tap too early, too late, or just read the wrong person and you lose a life. So basically, stay sharp, trust your reflexes, and try not to get cooked in the middle of the disco. Two inputs. One messy dance floor. Keep the vibe alive.

SwiftSwiftUIUnity
Not Very Disco screenshot
Tactura screenshot

Tactura

2026

Role: Pipeline & on-device ML.

Key Responsibilities: Conversion Pipeline, On-Device Core ML, and Interactive RealityKit Preview.

An iPadOS app that for the Apple Developer Academy’s Challenge 5 "Community Challenge" collab with Black Hand Gang, with a goals to help making an access for visually impaired audiences to FEEL visual artwork. In a simple way, Tactura converts 2D visual artwork into 2.5D tactile reliefs that can be 3D-printed directly and felt.

SwiftSwiftUIiPadOSCore MLRealityKitOpenCVPython
Tactura screenshot
Pourfect: AR Latte Art screenshot

Pourfect: AR Latte Art

2026

Role: Developer (Presentation Layer).

Key Responsibilities: UI Translation from Design to Code, AR Tracking, and GPU-Accelerated Fluid Simulation.

An augmented-reality iOS app that teaches latte art that built on Challenge 4 from the Apple Developer Academy with technology-first approach with AR as the base feature for the app.

Pourfect uses AprilTag fiducial tracking to lock onto the cup and pitcher, then overlays a real-time, GPU-accelerated fluid simulation so you can practice pours — Heart, Tulip, Rosetta — with any liquid and get instant visual feedback. Built after pivoting from ML-based object tracking to robust, zero-training 6DoF geometry.

SwiftARKitMetalKitVisionAprilTags
Pourfect: AR Latte Art screenshot
Zony screenshot

Zony

2026

Role: Tech Lead, System Architect, and Developer

Key Responsibilities: System Architecture, Database Design, Tech Timeline Management, and TestFlight Distribution.

A dual-platform experience spanning iPhone and Apple Watch, built for the Apple Developer Academy’s “From Pieces to Product” challenge. Zony empowers parents of asthmatic children to keep their kids active by providing real-time tracking of oxygen saturation and heart rate, allowing parents to monitor their child’s health data remotely.

SwiftSwiftUIwatchOSiOSHealthKitServerlessnode.js
Zony screenshot
No-Ex Contact screenshot

No-Ex Contact

2026

Role: Developer

Key Responsibilities: Full App Development, UI Translation from Design to Code.

A native iOS app created for the Apple Developer Academy’s Challenge 2 "Recreate & Remix" in pair(Coder+Designer). A Remixed Contact App with auto delete functionality with timers and a swipe feature like dating app mechanism (named no-ex for a reason lol), distributed to testers via TestFlight.

SwiftSwiftUIiOSCore DataContacts
No-Ex Contact screenshot
ODD screenshot

ODD

2025

Role: Android Developer and Project Manager

Key Responsibilities: Project Management, Native Android Development, Business Logic Translation, and Payment Gateway Integration.

A native Android marketplace app built entirely in Kotlin for a Indonesian perfume brand called ODD. Built with Jetpack Compose, MVVM architecture, and a clean code approach. The app features a product catalog, shopping cart, and checkout process, providing users with a seamless shopping experience. Implemented payment gateway using Xendit, and integrated email notifications for order updates. The app is designed to be responsive and user-friendly, with a focus on performance and scalability.

KotlinAndroidGradleJetpack ComposeMVVMXendit
ODD screenshot