<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Abdelraouf Sabri</title><description>Senior Android Developer sharing insights on mobile development, SDKs, and software architecture.</description><link>https://abd3lraouf.dev/</link><language>en-us</language><item><title>Specter MCP</title><link>https://abd3lraouf.dev/projects/specter-mcp/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/specter-mcp/</guid><description>An MCP server that gives AI agents direct access to your mobile emulators and simulators - no more copy-pasting error messages, crash logs, or UI descriptions.</description><pubDate>Sun, 21 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Building My Own Static Site Generator: A 9-Year Journey Home</title><link>https://abd3lraouf.dev/blog/building-my-own-static-site-generator/</link><guid isPermaLink="true">https://abd3lraouf.dev/blog/building-my-own-static-site-generator/</guid><description>After 9 years of framework hopping—from Jekyll to Hugo to Nuxt to Next.js—I finally built exactly what I needed. This is the story of how a Kotlin developer with just enough JavaScript built a static site generator with Claude&apos;s help.</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Why Koin Won the KMP Dependency Injection Battle</title><link>https://abd3lraouf.dev/blog/kmp-koin-introduction/</link><guid isPermaLink="true">https://abd3lraouf.dev/blog/kmp-koin-introduction/</guid><description>A pragmatic look at dependency injection choices in Kotlin Multiplatform, and why Koin emerged as the go-to solution for production apps</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate></item><item><title>ByteByteGo Reference Linker</title><link>https://abd3lraouf.dev/projects/bytebytego-reference-linker/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/bytebytego-reference-linker/</guid><description>A Tampermonkey userscript that transforms ByteByteGo course pages by converting reference markers into clickable links with rich preview cards.</description><pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Making SDKMAN Java Work with macOS: A One-Line Fix</title><link>https://abd3lraouf.dev/blog/sdkman-java-home-macos-integration/</link><guid isPermaLink="true">https://abd3lraouf.dev/blog/sdkman-java-home-macos-integration/</guid><description>How to make /usr/libexec/java_home find JDK installed using SDKMAN on macOS. Fix Xcode build failures and tool integration with a single command.</description><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate></item><item><title>AICommit</title><link>https://abd3lraouf.dev/projects/aicommit/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/aicommit/</guid><description>A CLI tool that generates professional git commit messages using local AI - 100% private, no cloud services, no API keys required.</description><pubDate>Mon, 26 May 2025 00:00:00 GMT</pubDate></item><item><title>Decompose Todo App</title><link>https://abd3lraouf.dev/projects/decompose-todo/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/decompose-todo/</guid><description>How I built yet another Todo app (yes, really) to master Decompose - a powerful reactive component architecture library for Kotlin that makes state management, navigation, and lifecycle handling surprisingly enjoyable.</description><pubDate>Thu, 08 May 2025 00:00:00 GMT</pubDate></item><item><title>OpenInTools Plugin</title><link>https://abd3lraouf.dev/projects/open-in-tools/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/open-in-tools/</guid><description>A JetBrains plugin I created to solve context-switching frustration in Kotlin Multiplatform Mobile development, providing one-click access to VS Code, Cursor, and Xcode.</description><pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Android WebView Code Injection</title><link>https://abd3lraouf.dev/projects/webview-code-injection/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/webview-code-injection/</guid><description>A comprehensive guide and sample project demonstrating how to inject JavaScript code into Android WebViews to extend functionality and bridge web-native communication.</description><pubDate>Thu, 13 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Semantic Versioning for Android</title><link>https://abd3lraouf.dev/projects/semantic-versioning/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/semantic-versioning/</guid><description>A complete Android project template showcasing automated semantic versioning with GitHub Actions, SpotBugs, Jacoco, SonarQube, and Maven publishing.</description><pubDate>Tue, 28 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Injecting JavaScript code into Android Webviews Two Ways</title><link>https://abd3lraouf.dev/blog/android-webview-javascript-code-injection/</link><guid isPermaLink="true">https://abd3lraouf.dev/blog/android-webview-javascript-code-injection/</guid><description>Mastering sending/receiving data to/from android web views. How we interact with them. A fully functional app inside</description><pubDate>Sat, 18 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Fancy Android Ruler</title><link>https://abd3lraouf.dev/projects/fancy-android-ruler/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/fancy-android-ruler/</guid><description>A customizable Android ruler widget with RTL support, imperial and metric systems, and smooth scrolling - published on Maven Central.</description><pubDate>Thu, 21 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Compose Timer - Android Dev Challenge</title><link>https://abd3lraouf.dev/projects/compose-timer/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/compose-timer/</guid><description>A beautiful countdown timer app built with Jetpack Compose for Android Dev Challenge Week 2, featuring canvas animations, Lottie integration, and custom text effects.</description><pubDate>Mon, 08 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Compose Pets - Android Dev Challenge</title><link>https://abd3lraouf.dev/projects/compose-pets/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/compose-pets/</guid><description>A pet adoption app built with Jetpack Compose for the Android Dev Challenge Week 1, exploring declarative UI patterns and Compose fundamentals.</description><pubDate>Wed, 03 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Circular Progress Bar</title><link>https://abd3lraouf.dev/projects/circular-progress-bar/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/circular-progress-bar/</guid><description>An Android library I built to create beautiful, customizable circular progress bars with smooth animations, gradient support, and RTL compatibility.</description><pubDate>Tue, 24 Nov 2020 00:00:00 GMT</pubDate></item><item><title>GADS 2020 Leaderboard</title><link>https://abd3lraouf.dev/projects/gads-leaderboard/</link><guid isPermaLink="true">https://abd3lraouf.dev/projects/gads-leaderboard/</guid><description>An Android app built for the Google Africa Developer Scholarship program, displaying top learners and skill leaders with form submission functionality.</description><pubDate>Fri, 18 Sep 2020 00:00:00 GMT</pubDate></item></channel></rss>