I work at the boundary between hardware and the OS — HAL implementations, Binder IPC, system services, SELinux policy, vendor/system integration on real boards. That's where my attention actually lives these days.
I came up through Android app development, and that background is still useful — it's why framework internals make intuitive sense to me — but it's not the work I'm chasing anymore. I'm spending my time going down the stack: kernel → HAL → Binder → framework, instead of up.
app dev background (5.6 yrs) → AOSP / platform engineering (current focus)
- Built a Binder IPC framework using AIDL, Binder, and ParcelFileDescriptor that exposes system functionality as discoverable, HTTP-like endpoints
- Built an SDK that enforces real-time UI restrictions for automotive infotainment by talking to vehicle system services over IPC (speed, gear position, regional regulations)
- Working day-to-day across the VNDK/Treble vendor-system boundary —
init.rcconfiguration, system service registration, vendor integration on Raspberry Pi 5 - Comfortable in AOSP's build system (Soong/Blueprint), and reviewing/landing changes through Gerrit
- Native-side experience in C++/JNI for system services and HAL implementations, alongside the Java/Kotlin framework layer
- 🧵 Tracing the touch event pipeline end to end — Linux Input Subsystem →
EventHub→InputReader→InputDispatcher→ViewRootImpl→ the View tree - 🔗 Going deeper on Binder IPC — past AIDL-as-a-tool, into how
/dev/binderactually moves bytes between processes - 🛠️ Building out
vendor/myoem— a personal AOSP vendor tree on a Raspberry Pi 5, with a Thermal HAL (sysfs + PWM fan control), a Binder daemon written withlibbinder_ndk, and an AAOS-style vehicle property service - 📺 Posting daily on 100 Days of AOSP — short, no-fluff breakdowns of one AOSP concept at a time
- 🎤 Prepping a talk on Binder IPC internals, with a live demo running on real hardware
🧩 Tools I reach for
AOSP · HAL (HIDL/AIDL) · Binder IPC · SELinux · VNDK/Treble · Soong/Blueprint · init.rc · VTS/CTS · Gerrit · JNI
## 🛠️ A few things I've built
|
android_vendor_myoem My AOSP vendor tree — custom HALs, a Binder daemon, SELinux policy, VTS tests — all flashed and tested on a Raspberry Pi 5. |
Thermal-Control A C++ HAL interfacing with the Linux kernel's PWM fan driver via sysfs, wired up to a Binder service over AIDL. |
|
Volume-Control A C++ daemon that reads analog input over SPI from a potentiometer and drives Android's Audio API in real time — no core AOSP source modified, per Project Treble. |
Silicon to System A YouTube series breaking down AOSP internals — HAL, Binder, the build system, boot process — one concept at a time. |
I write long-form technical breakdowns on Medium — Binder, AIDL, HAL bring-up, AOSP build internals — mostly things I had to figure out the hard way and wished someone had written down first.
Portfolio → arunaditya.com · YouTube → @SiliconToSystem · Medium → @aruncse2k20 · LinkedIn → arun-aditya
If you're working on AOSP, AAOS, or anything that sits between hardware and the framework — I'd genuinely like to talk.
