Nextcloud
- Developed and maintained Files and Notes mobile apps with over 1M+ active users
- Implemented end-to-end encryption using Bouncy Castle ensuring secure data transfer and certificate-signature verification
- Integrated large-language model solutions into mobile applications to enhance the user experience.
- Built and optimized background tasks (multi-file & folder sync, downloads, uploads) using WorkManager
- Applied the MVVM design pattern and modern Android best practices for scalable and testable code
- Eliminated antipatterns by refactoring toward modern Android development practices
- Improved app performance and reduced memory usage
- Migrated a large legacy Java codebase to Kotlin, reducing technical debt and improving maintainability
LipaWallet
- Developed a Bitcoin Lightning wallet with native SwiftUI for iOS and Jetpack Compose for Android
- Integrated an internally developed Rust library into Android and iOS using platform-specific bindings and an event-driven architecture
- Built a high-performance, memory-leak-free networking layer with the Apollo GraphQL client for both platforms
- Implemented biometric security using Touch ID, Face ID (iOS), and BiometricPrompt (Android)
- Designed efficient background data processing for real-time transaction and wallet state updates
- Created a modular architecture with Swift Package Manager (SPM) for iOS and JitPack for Android, reducing code duplication
- Automated development and release workflows using Fastlane
MRC
- Built an offline-first architecture to support field workers operating in remote areas without internet connectivity, ensuring full app functionality in fully disconnected environments
- Implemented a seamless drawing experience using the android.graphics.Path API for precise and responsive annotations on sheets
- Structured the data as follows: users manage multiple projects → each project contains multiple sheets → each sheet includes multiple drawings → each drawing can hold notes, videos, images, and a structured form
- Each form is divided into 7 predefined categories → each category contains multiple dynamic questions → each question supports multiple answers and allows attaching notes, images, and other media
- Handled complex offline data creation, storage, and conflict-free synchronization with the central server, using ObjectBox as the local database and implementing locking mechanisms and sync retries when internet access is restored
Scan360
- Developed a full-featured document scanner using UIKit and VisionKit for iOS, supporting high-quality scanning and automatic document detection
- Integrated PDF generation, document editing (crop, rotate, filter), and multi-page scan support
- Implemented features for signing, sharing, and exporting documents in various formats (PDF, JPEG)
- Built a smooth user experience with real-time image processing and seamless camera integration
- Integrated StoreKit to manage in-app purchases and trials for premium features such as unlimited scans, advanced editing tools
Emlakjet
- Developed a full-featured real estate app for listing, searching, and managing properties using Java and Objective-C
- Implemented features such as advanced search filters, saved searches, favorite listings, and direct contact with real estate agents
- Built a user-friendly experience with market analysis tools and real-time listing updates
- Maintained codebase across Android and iOS using XML for Android UI and UIKit for iOS
Çekpara
- Developed a digital factoring app for cashing checks using JavaScript and React Native
- Enabling users to convert checks into cash in minutes—without visiting a branch
- Integrated tools such as Adjust , Mixpanel , UXCam , Firebase and for user behavior analytics, performance monitoring, attribution tracking, and crash reporting
- Implemented courier tracking, secure document upload, and real-time status updates within the app
- Built a transparent and intuitive user interface showcasing dynamic pricing, flexible limits, and instant transaction approvals
DentalBulut
- Developed a mobile clinic management solution for dentists, supporting patient tracking, appointment scheduling, and clinic operations
- Built native mobile apps using Java and Swift, tailored for Android and iOS respectively
- Implemented user-friendly UI for mobile workflows using XML and UIKit
- Optimized app performance for use in offline scenarios and low-bandwidth environments
FirePlayer Android
Developed a music player application using the Media3 library in combination with Kotlin coroutines and the MVVM architecture. Designed a user-friendly and intuitive interface that offers a more practical experience compared to typical music player apps. Room used for local data storage.
FirePlayer macOS
Developed a music player application using Swift, SwiftUI, and AVFoundation for macOS. Native APIs are used to deliver responsive performance and smooth user experience. I use it every day.
FirePlayer Windows
Developed a music player application using C# for Windows. I use a Windows laptop for gaming, a Macbook with macOS for work, and an Android phone for personal use, so I ended up building three different native music apps for each platform. It was a fun and rewarding experience that allowed me to explore the strengths of each ecosystem. It only uses 30 MB of RAM :)
TextLauncher
A simple, fast, and user-friendly launcher application for Android, developed for personal use. It allows users to create folders, mark applications as hidden or favorites, and customize background and content colors. Inspired by my nostalgia for Windows Phone, I designed this launcher by blending its elements with my own preferences.
MyLocker
This project uses androidx.security:security-crypto along with Jetpack libraries. Users can export their encrypted passwords, which can only be decrypted using their own private key. The private key is never transmitted to any server and remains solely under the user's control, placing full responsibility for key management on the user.