

Gabe Giro
Verified Expert in Engineering
Android Tech Lead and Developer
Zagreb, Croatia
Toptal member since November 10, 2016
Gabe has been a full-stack developer specializing in Android software for the past 12 years. He's worked on multimillion-dollar user apps. Gabe is passionate about proper development processes and knows how to foster them. Lately, he's immersed himself in leading teams using a proper Scrum framework. Gabe communicates exceptionally well and has worked on teams of all sizes.
Portfolio
Experience
- Android - 12 years
- Git - 9 years
- Scrum - 6 years
- Kotlin - 6 years
- Model View ViewModel (MVVM) - 5 years
- Jetpack Compose - 3 years
- Jira - 3 years
- Scrum Master - 2 years
Preferred Environment
Scrum, Jira, Git, Kotlin, Python, Software Architecture, Android, Mobile, Fractional CTO, Full-stack
The most amazing...
...contract is the one where I gradually progressed from tech lead architect to project manager to product owner—from one project to three, from 5 people to 14.
Work Experience
Android Lead Engineer with ArCore
Da Vinci Eye, LLC.
- Hired to speed up the development of the application.
- I built the camera and AR functionality from scratch. I replaced the previously used OpenGL with ArCore.
- Wrote a guide to refactor the code using a few steps for the client.
- After the main functionality was implemented, the client prolonged the contract to launch the app in beta and then production.
Owner | Android Consultant
Epigraph
- Founded a company to get more reliable job opportunities.
- Built three apps from scratch and managed them until deployment.
- Managed, led, and taught two developers successfully.
- Learned about business in general, including how to build and grow one.
- Helped clients reach their goals and deadlines every time.
Tech Lead | iOS and Android
Journey - Main
- Worked with C-level management to evaluate the development work of a previous outsourced company. Helped assess their implementation and found they did a really good job. It was easy to continue their work.
- Took on part of the management setup during Journey’s transition from outsourced operations to in-house processes.
- Responded to upper management’s push to speed up development and explored approaches as a team. We removed peer PR reviews and implemented Claude PR reviews. We also established build checks and automation, and assigned individual ownership for each feature.
- Focused on iOS work and automations during my rare development sessions. I also developed four features for both Android and iOS and the KMM layer.
Android Developer for Fantasy App
Yahoo!
- Updated parts of the code from Java to Kotlin and from a variety of architectural patterns to MVVM with RxJava.
- Built guides for the refactoring for other developers to follow.
- Helped update different developer guides and Jira ticket templates and helped optimize processes inside the team.
Senior Android Engineer
Minds + Assembly
- Acted as Android lead engineer with Minds + Assembly in a five-person team.
- Replaced the previous developer and co-captained the completion of the Android app on a tight deadline schedule.
- Developed my first commercial app with Kotlin and ARCore library.
- Built custom controllers, which utilized only a drag gesture to successfully interact with an object in 3D space.
- Animated multiple VR/AR objects moving on a click.
- Increased the knowledge of the technology tremendously over the course of the project.
Senior Android Engineer
Idyllic
- Documented all the details extensively in a simple 15 page Google Docs file, which made the client extremely happy.
- Wrote a few suggestions based on OWASP Android security guidelines.
- Suggested Kotlin language to replace old Java language.
- Chose technologies for the client, such as Chrome over WebView, because the Chrome web browser is safer from hackers.
- Overcame a clunkily built UI, which had no usage of dimensions, styles, and unnecessary text sizes, by fixing UI bugs and making design suggestions; the client was delighted with the document.
Senior Android Engineer
FocustApps
- Developed two apps from scratch and worked on them as the only Android developer.
- Implemented beta testing with HockeyApp crash reporting.
- Used a 3D library called LibGDX for demonstrating and interacting with 3D models.
- Implemented fresh changes for three complex screens without damaging any previous functionality.
- Used Retrofit for all the REST requests and a Picasso library for image handling.
- Implemented a chat and in-app, real-time notifications with Firebase.
Senior Android Engineer
HBO
- Developed two premium video-content-streaming apps with millions of users and their library.
- Made improvement suggestions, 90% of which were adopted.
- Learned about VIPER, architecture variation in MVP, and worked in TDD with Mockito and PowerMockito tests.
- Worked on a variety of tasks, as needed, including caching, fixing bugs, making improvements (UI, memory, code), sending tracking data, writing tests, changing models according to JSON responses, and more.
- Collaborated with five people daily in a team of over 20 people.
Experience
Yahoo Daily Fantasy
https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.fantasyfootball• Built my tasks according to product directions.
• Used Agile and Kanban with daily scrum meetings.
• Helped update different developer guides and Jira ticket templates and helped optimize processes inside the team.
Max (Previously HBO Go)
https://play.google.com/store/apps/details?id=com.wbd.streamTechnologies: Android, TDD, Java, Mockito, PowerMockito
HungerStation LLC
https://hungerstation.com/I was in charge of developing a self-contained Flutter feature for robotic delivery from scratch with cross-functional team. The goal was to have minimum impact on the rest of the code while following the Dart and Flutter best practices and team's cookbook.
The delivery was successful with all the required features done. I achieved this with TDD which gave me much more confidence in handing over the code to maintainers afterwards. And I got the biggest compliment an engineer can get from a fellow engineer - that I have a very neatly organized and functioning code.
Player FM
https://play.google.com/store/apps/details?id=fm.playerTechnologies: Android, Android Wear
Onfido | Identity Verification SDK
https://play.google.com/store/apps/details?id=com.onfido.sdkdemoI successfully finished adding the accessibility feature to every screen.
Safe in Home | Wear OS: Toptal Project
https://www.safeinhome.com/• I acted as a go-to tech person for this project, performing as an Android architect/lead engineer.
• Took responsibility for research and development and took critical project risks. Researched the market and watched by requirements of the client.
• Set up epics and stories for the MVP in collaboration with the team
• Built a roadmap for delivery.
• Wrote the setup guide for the app to work correctly in the Kiosk mode on the smartwatch.
• Built native calls functionality with custom UI (not VoIP).
• Helped hire a great addition to our Toptal Projects team—a senior Android engineer—who complemented my skills perfectly.
Zufa – AI Parental Tool
https://www.zufa.ai/As a half-time fractional CTO, I shepherded the product toward production readiness:
• Owned the Safari Web Extension TestFlight publishing pipeline (cloud-managed distribution cert and App Store Connect API).
• Built cost-transparency reporting on the Google Gemini usage so investors could see unit economics.
• Set platform strategy across the cross-surface mix while keeping the MV3 extension architecture clean.
The hardest call was sequencing the platform expansion without over-investing before the back end was ready.
Kotlin vs. Java: All-purpose Uses and Android Apps | Blog Post
Plume Workpass
https://www.plume.com/workpass/This was my first project, which involved clean architecture and a Kotlin multiplatform. I contributed to almost every part of the app—from the data layer through the domain and presentation to the UI. One very useful concept I learned was the mappers between each layer in the clean architecture.
Jumprope | How-to Videos
It was a one-month engagement, but in that time, I fixed all the bugs that came my way and helped finish one beta feature.
Jumprope was acquired by Linkedin in 2021.
AR Projector by Da Vinci Eye
https://play.google.com/store/apps/details?id=com.davincieye.arartprojector• Hired to speed up the app development.
• Built the camera and AR functionality from scratch. OpenGL was previously used, and I replaced it with ArCore.
• Placed images in the real world and handled their movement, scale, and rotation.
• The code had been previously built with the help of ChatGPT, but without proper architecture in mind. That presented many interesting challenges, especially given the client's very limited budget. So, I had to focus on navigating the existing code and adding the functionality without refactoring.
• Wrote a guide to refactor the code through a few steps for the client.
• After the main functionality was implemented, the client extended the contract to launch the app in beta and production.
• The most challenging task was handling focus with ArCore, as I needed to use fixed focus and let the user refocus. We almost moved away from ARCore until I had an opportunity to talk to another dev, who pointed me in the right direction of the SharedCamera feature.
The Top App for Mothers
Technologies: Android, Analytics
TAKH Tutor AR
https://mna.co/I was the lead Android engineer using Minds and Assembly in a five-person team. I also worked closely with an in-house iOS developer and a 3D designer to match the experience. Another Android developer and I were in charge of finishing the Android app within tight deadlines.
Project Highlights:
• Developed my first commercial app with Kotlin and ARCore library.
• Built custom controllers that utilize only a drag gesture to successfully interact with an object in 3D space.
• Animated multiple VR/AR objects that moved with a click. I increased my knowledge of the technology tremendously throughout the project to make this possible.
Beformance
The biggest challenge was to make changes in a legacy code and an architecture that didn't follow MVP principles as intended.
Monorail (ex Vimvest) | Organized Investment Goals
https://play.google.com/store/apps/details?id=com.vimvest.androidAlthough I was hired for short-term help, I learned a lot about Android Jetpack, Dagger 2, and Coroutines.
FYX Driver
https://play.google.com/store/apps/details?id=com.interpool.roadstarTechnologies: Android, Google Maps, REST, Git, HockeyApp, libGDX (3D), Firebase, Google Cloud Messaging
FYX Mechanic
https://play.google.com/store/apps/details?id=com.interpool.roadstar.mechanicTechnologies: Android, Google Maps, REST, Git, HockeyApp, libGDX (3D), Firebase, Google Cloud Messaging
Crorex | HFT EA | Project Manger
I managed a team of four highly driven people, including one trader, one sales representative, one quant algorithm engineer, and an engineer in charge of automatizing processes.
• We developed an EA (expert advisor) with a hedging algorithm in MQL4. 90% of direction guesses are successfully closed in profit.
• I was in charge of organizing meetings, standups, work sessions, PR reviews, occasional EA feature development, accounting, and much more.
• Kanban organized in Trello with daily scrum standups.
• This was a side project for all of us.
• The biggest challenge was to get everyone on the same page and charge for the same goals.
IGRecruiter
I tried building my model for gender recognition through GCP’s VisionAI and VertexAI, again based on two Kaggle datasets and a CelebA dataset. After unsuccessful attempts, as that was not good enough data to train on, I went to test five Hugging Face models. The best, with 90% accuracy, was https://huggingface.co/NTQAI/pedestrian_gender_recognition.
I built a data pipeline with SOAX Proxy, created five fake IG accounts to avoid being blocked, and wrote Python scripts for different stages of ETL.
At one point, I found 10,000 new unique profiles in 30 minutes. My biggest win was optimizing the SQL UPDATE command with a combination of STRUCT, MERGE, and UNNEST, where the GCP updates went from increasing minutes (1 to 30 mins) and a minimum of 10 GB per query, down to a few seconds and 10s of MB.
While building IGRecruiter, I was going through Udemy’s course “Python for Machine Learning & Data Science Masterclass” by Jose Portilla. I had two mentors to help me navigate through the challenges and learn faster. I had weekly meetings with each.
Papaya
I made the app from scratch with a Clean version of MVVM (Model View ViewModel) architecture.
Although I did regularly publish the app to Beta testers via Firebase Releases, I didn't stay on board to publish it live
JobHunter
The app is still unreleased, but I can showcase it on a call.
EasyApplyJobsBot (Open-source)
https://github.com/GabeGiro/EasyApplyJobsBotIt started as a fork of an existing bot with few fixes to the outdated functionality (due to LinkedIn's HTML changes).
The primary motivation was to make it easy for tech-savvy individuals with basic knowledge of Python and Docker. The secondary motivation was to add answers to questions as part of the free functionality compared to the original repo.
I also developed a user-friendly, closed-source solution called JobHunter.
Letro
https://github.com/relaycorp/letro-androidI was in charge of setting up the project from scratch in a clean variation of an MVVM architecture without the domain layer.
Recall
• Preserved the entire Rust domain layer untouched and exposed it to Android through a JNI bridge, then built a native Jetpack Compose UI on top, so the Android app and the desktop TUI shared one source of truth.
• Implemented full peer-to-peer sync between desktop and Android using Iroh (QUIC) with ALPN version negotiation, so devices reconnected across app restarts without re-pairing.
• Shipped 28 PRs upstream into the Rust repository plus direct-to-main commits on the Android app, working across Rust (recall-core, recall-jni, ratatui), Kotlin, Coroutines, and SQLite event sourcing.
WarmLink
https://www.warmlink.io/I was responsible for full-stack development of the front end, back end, and the Chrome extension. I developed a data pipeline that included a Chrome extension to scrape LinkedIn contacts, which were then pushed to the back end on GCP. The database provided users with their LinkedIn connections on the front end, allowing them to send referral marketing messages through the platform.
Witrina
https://witrina.eu/The client had two years of sales data in a CSV from WooCommerce orders and one year of tracking with Google Analytics, which presented interesting challenges.
There were two goals:
• Figure out where to target the next campaign to maximize profits.
• Detect performance issues and UI/UX bottlenecks.
Here is the Git repository for cleaning anonymized data: https://github.com/GabeGiro/witrina.
Some of the tasks during data cleaning were:
• All transactions before 12th Aug 2022 from Croatia were in HRK; converted to EUR to match the rest of the purchase history.
• All transactions after 31st Dec 2022 were in EUR.
• Order shipping was sometimes empty. I asked the client, and there were three reasons: (1) the user used a coupon, (2) a user from Croatia ordered more than 52 EUR of products, and (3) users from the rest of the world ordered more than 290 EUR of products.
Some of the insights shared with the client:
• Order shipping was not properly applied to some of the transactions.
• A few comparisons were added to discuss the next potential target country, city, customer profile, and product.
Idyllic | Identity App and Code Review
Droidcon Zagreb 2015 | Publication
The link attached is an article written about the talk (in Croatian).
TaxiCentral
I was responsible for the entire development, rollout, and everything in between—working on the architecture, documentation, partial design, testing, publishing, and promotion. This was my first published application.
Technologies: Android
LandKeeper | Hackathon
https://youtu.be/Mji-ktPIC3s?t=4m20sBookBottles | Project Manager
https://play.google.com/store/apps/details?id=com.anidmonsur.bookbottlesDir po Zagrebu
Technologies: Android, Parse
Xpatpub
I implemented the full development of the Android and Parse back end, completing the weekly tasks I had brainstormed with the client. I also migrated the app from Eclipse to Android Studio and the back end from DreamFactory to Parse.
Technologies: Android, DreamFactory, Parse, Facebook integration
Conference App for Dubai
I worked on the UI changes, database, and REST API without improving the code because of the tight schedule and limited budget. The client delivered a fully developed app on time.
Technologies: Android, SQLite
AP Jets | Luxury Air Charter
https://apjets.com/Priority Keeper | Flutter Side Project
https://github.com/GabeGiro/flutter_learningI'm learning Flutter and Firestore with it. It's a simple app that can have multiple projects and tasks inside each. On the home screen, you see only the highest-priority tasks from each project.
cc — Local Obsidian Vault IDE
• Rendered the entire vault with wikilinks and Mermaid diagrams, plus purpose-built views: a task Kanban/Eisenhower matrix, a housing dashboard, and a relationship-graph canvas.
• Wired Claude streaming chat with live vault-context injection, push-to-talk voice input via whisper.cpp, and TTS playback for replies.
• Made files hot-reload through chokidar and server-sent events, so editing a note in Obsidian updated the IDE instantly.
• Shipped the POC (v0.1.0) direct-to-main as a single author, after deliberately scrapping an earlier Next.js cloud-PWA prototype in favor of a faster localhost-first architecture.
RankRush
https://rankrush.aiAs a fractional CTO and full-stack engineer, I led the migration off Lovable onto self-managed infrastructure, our own Supabase (PostgreSQL, Deno Edge Functions, RLS), VPS hosting, an Astro marketing site, and a Python CLI for tooling. Day to day I owned strategy, drafting and posting while my co-founder Nikola owned the research pipeline and visibility scoring.
Education
Goal Setting At Work: Plan for Success and Reach Your Goals in Mentorship
Udemy - Online
Certifications
Professional Scrum Master I
Scrum.org
Goal Setting at Work: Plan for Success and Reach Your Goals
Udemy
Skills
Libraries/APIs
Google Maps, Google Geocoding API, Google Maps SDK, WebDriver, CameraX, Camera2 API, Claude API, Android Architecture Components, Retrofit, Google Maps API, Facebook API, Selenium WebDriver, Google Play API, RxJava, Pandas, Scikit-learn, OpenAI API, REST APIs, React, NumPy, RxJava 2, OpenGL, Android OpenGL, OpenCV, Node.js, PyTorch, Stripe
Tools
Android Jetpack, Trello, Android Studio, Git, Gradle, GitLab, Jira, GitHub, Slack, Google Docs, Google Sheets, Flow, Crashlytics, Confluence, Postman, Lucidchart, ChatGPT, Evernote, Notion, Asana, Figma, Zapier, Docker Compose, Prisma, Graphene, Claude, n8n, Fastlane, Android NDK, Firebase Analytics, Looker, TestFlight, Microsoft Power BI, Tableau, Google Analytics, Sentry
Languages
Java, Kotlin, Python 3, Clean, Python, Swift, XML, Dart, GraphQL, TypeScript, JavaScript, HTML, MQL4, C++, Coolify, Rust, Go
Frameworks
Android SDK, Streamlit, Flutter, LibGDX, JUnit, Mockito, Dagger 2, Selenium, Next.js, SwiftUI, Espresso, KOIN, Alembic, UIKit, Tailwind CSS, Express.js
Paradigms
Model View Presenter (MVP), REST, Kanban, Model View ViewModel (MVVM), Scrum, Unit Testing, Agile, Clean Architecture, Clean Code, Test-driven Development (TDD), Agile Project Management, Mobile Development, Code Refactoring, Agile Software Development, Application Architecture, Dependency Injection, Waterfall Development, Management, DevOps, ETL, Cross-platform, Offline-first Development, UX Design, Model View Controller (MVC), Back-end Architecture
Platforms
HockeyApp, Android, SureMDM, Mobile, iOS, Android Watch, Visual Studio Code (VS Code), Firebase, ARCore, Google Cloud Platform (GCP), Docker, Bitrise, Jupyter Notebook, Linux, Amazon Web Services (AWS), AWS Lambda, DigitalOcean, Vercel, Vertex AI, Kaggle, Ubuntu
Storage
SQLite, RoomDB, PostgreSQL, JSON, Amazon S3 (AWS S3), Data Pipelines, Cloud Firestore, Data Integration
Industry Expertise
Trading Systems, High-frequency Trading (HFT)
Other
User Experience (UX), User Interface (UI), Mobile GPS, Lifecycle-aware Components, Coroutines, Sprints, Room, Android Wear, Android Wearables, Wearable Technology, Wearables, Scrum Master, Data Binding, Android Data Binding, Google Drive, Google Calendar, Hilt, Jetpack Compose, Android Architecture, Wear OS, Leadership, Planning, PSM-1, Minimum Viable Product (MVP), Localization, Enterprise SaaS, Over-the-top Content (OTT), Maps, SDKs, Generative Pre-trained Transformers (GPT), Open Source, Augmented Reality (AR), Bluetooth, Material 3, Startups, Technical Leadership, Architecture, RTL, Internationalization, ktlint, Software Architecture, Early-stage Startups, OpenAI, Chrome Extensions, DevContainers, Diagrams, instagrapi, Scraping, Mobile App Development, Technical Architecture, Kotlin Multiplatform Mobile (KMM), GitHub Actions, Documentation, Communication, Code Auditing, Code Review, Fractional CTO, API Integration, CSV File Processing, Legacy Code, Technical Documentation, Integration, Gemini API, Android App Development, Web Scraping, Deployment, Consulting, SDK Development, Software, GPS Integration, Debugging, Android Development, Push Notifications, Agile Sprints, Google Material Design, Google Play Store, OWASP, Jira Administration, Jira Administrator, Goal Management, Mentorship, Team Mentoring, Mentorship & Coaching, Kotlin Multiplatform, Large Language Models (LLMs), Selenium IDE, 3D Art, Full-stack, CI/CD Pipelines, Video Streaming, Messaging, Artificial Intelligence (AI), Pub/Sub, Hugging Face, Proxy Servers, CTO, App Store, Trading, AI Integration, AI Agents, System Architecture, Full-stack Development, Data Engineering, Cloud, Team Leadership, Advisory, AI Tools, Agentic AI, Lead Generation, Java Native Interface (JNI), Automations, Pipelines, Workflows, Processing & Threading, iPad, Machine Learning, iOS App Development, Performance Optimization, Screwdriver, APIs, FastAPI, OpenAI GPT-4 API, VPS, Looker Studio, Google Analytics 4 (GA4), Deepnote, dash.gallery, Strapi, Large Data Sets, Cursor AI, WebSockets, Finance APIs, Algorithmic Trading, Memory Management, Caching, Supabase
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring