Rizky Mirzaviandy
Fullstack Developer // Machine Learning Enthusiast // Systems Engineer
// Open-Source Contributor

I build systems that are useful before they are fashionable.
I care about software that survives real use: Linux tools, desktop utilities, browser automation, and products with clear operational value.
I work between engineering depth and product pragmatism. I like understanding low-level mechanics, but I also care whether a feature helps someone finish the job faster, more safely, or with less friction.
The languages I use most confidently are TypeScript, Python, Rust, Go, and Kotlin. I use TypeScript across Nimbus, FreshTrack, and NADI; Python across LuhutOS and ML workflows; Rust through TuxTuner and merged upstream work on bat, fd, and Boa; and Kotlin through the Masjid Display Android TV app.
I also spend time on machine learning workflows, especially experimentation, model evaluation, and applied product use cases. I am comfortable working with Python-based tooling for data preparation, training, and iteration.
That is why I mix shipped upstream PRs across bat, fd, Boa, and Apache DataFusion with Linux tooling, end-user applications, and machine-learning-oriented work. The through-line is not a specific framework. It is an evidence-first way of building software that earns trust.
I contribute to open source
7 merged PRs across bat, fd, Boa, and Apache DataFusion. Features, bug fixes, tests, and docs shipped through maintainer review.
bat was the first repo where I built momentum quickly: I opened 6 PRs in one week and got 3 merged in 24 hours. Those merges added --fallback-syntax, fixed symlink-based syntax detection by resolving target paths, and fixed BAT_CONFIG_DIR handling that could trigger duplicate flag errors on startup.
Since then I have focused on merged PRs with concrete user impact. In fd I fixed invalid working-directory handling for --full-path. In Boa I corrected ES16 edition mapping and added JsTypedArray coverage for toReversed, toSorted, and toLocaleString. In Apache DataFusion I clarified NULL behavior for array_remove so the docs match real query semantics.
“7 merged PRs across 4 upstream repos.”
- REPOSbat / fd / boa / datafusion
- STARS115K+ COMBINED
- LANGSRUST / TESTS / DOCS
- SCOPE7 MERGED PRS
Challenge
Each repo had a small but real gap: missing fallback behavior in bat, broken edge-case handling in fd, incorrect tester mapping in Boa, and unclear SQL semantics in DataFusion docs.
Approach
I reproduce the issue, trace the root cause in the upstream codebase, and submit a narrowly scoped PR with tests or docs when the fix changes behavior. That keeps review fast and makes the change easy for maintainers to merge.
Results
- bat (57.8K★): 3 merged PRs - fallback syntax feature, symlink resolution fix, BAT_CONFIG_DIR startup fix
- fd (42.2K★): graceful error handling for invalid working directories with --full-path
- Boa (7.1K★): 2 merged PRs - ES16 edition mapping fix + JsTypedArray coverage for new array methods
- Apache DataFusion (8.5K★): NULL handling docs clarified for array_remove
- 7 merged PRs across 4 public upstream repositories
LuhutOS
I built an Arch-based Linux distribution with GNOME Wayland, safer GPU handling, and polished defaults.
I built LuhutOS to take Arch's rolling-release model and wrap it in curated defaults, including a WhiteSur desktop theme, a streamlined TUI installer, and automatic GPU driver detection. The result is a system that feels usable without a long manual setup.
It ships with 14 custom packages, a CLI system management tool (luhutctl), a GTK4 GUI management panel (luhut-menu), and optional bundles for Steam, Docker, and developer toolchains.
Installer Flow
Process Sequence- REPOXavrir/luhutos
- TYPELINUX DISTRO
- STATUSACTIVE DEVELOPMENT
- STACKPYTHON / BASH / PKGBUILD

TuxTuner
I built a Wayland-native performance control utility for ASUS gaming laptops on Linux.
“If Armoury Crate worked on Linux, it would look like this.”
I built TuxTuner as a GTK4 control center for ASUS gaming laptops running Linux. It provides GPU mode switching, CPU thread limiting, and display refresh rate control through a native Wayland interface.
All privileged operations go through pkexec. I kept it free of telemetry and unnecessary bloat, and published it on the AUR.
- REPOXavrir/tuxtuner
- TYPESYSTEM UTILITY
- STATUSPUBLISHED (AUR)
- STACKRUST / GTK4 / LIBADWAITA
AI browser agent for Chrome & Firefox
I built a browser agent that controls Chrome and Firefox with natural language, supports multiple providers (Gemini, OpenAI, Anthropic), and uses a safety-first Plan-Approve-Execute workflow with Level 3 CDP automation.
Android TV prayer times & treasury app
I built a Kotlin + Jetpack Compose app for mosque displays with real-time prayer countdown, Hijri calendar, treasury management, and sound notifications. I optimized it for 5-10 meter viewing distance.
Food inventory tracker with expiry alerts
I built an Expo Android app for household food inventory with barcode scanning, batch tracking, local expiry notifications (H-7, H-3, H-0), and Supabase sync with RLS protection.
- COUNT3 PROJECTS
- RANGEMOBILE / BROWSER / TV
Let's build something
I'm open to full-time roles, freelance projects, and open-source collaboration.