The API Call That Took 3 Minutes
Jimmy Leonardo
Senior Mobile Engineer & Full-Stack Developer

A JSON Response That Wouldn't Quit
I still remember working on Garda Mobile Otocare. One of the app's core features needed to pull a full list of car models and their details from an API. The response was enormous, a massive JSON payload covering the full range of vehicle data the app needed. Loading it took about 3 minutes, and worse, it locked up the UI the entire time it ran.
I was still fairly junior at this point, and I knew this wasn't right, but I didn't yet know why, or what to do about it.
Learning Jackson Parsing from Stack Overflow
I started reading through Stack Overflow, trying to understand what was actually slow about parsing a large JSON response on Android. This was before I'd adopted Volley or Retrofit, I was still using HttpAsyncTask for the network call. The API response came back gzip-compressed to keep the download itself fast, but once decompressed, the payload was still huge, and that's where the app was falling apart, loading the entire thing into memory before parsing even started. That's where I came across the Jackson parser, and specifically its streaming API, which could parse directly off the response stream instead of waiting for the whole payload to be decompressed and loaded into memory first.
I spent time reading through how it worked before touching any code. Once I understood it, I rewrote the parsing logic to use Jackson properly, and moved the whole operation onto a background thread so it never touched the UI thread again.
From 3 Minutes to 30 Seconds
The result was immediate. Load time dropped from 3 minutes down to 20 to 30 seconds, and the UI stopped freezing entirely while the data loaded in the background.
It shipped, worked well, and the app delivered fine to the client from there.
I think about this one because it's one of the clearest examples I have of learning something by needing it. I wasn't studying parsing techniques for fun. I had a slow, frozen screen in front of me, and I went and found the specific answer to that specific problem, then actually understood it before I used it.
Source: Gson vs Jackson: Best JSON Libraries for Java — Technosoft Solutions
Related Articles
Building the Camera App I Wanted to Use
As a photographer, I kept wishing my phone camera felt more like film. So I built Rolla: EXIF photo frames, film simulation filters, Polaroid mode, and a light meter, all in one camera app.
The Bug That Wasn't Ours
A Xendit SDK integration kept failing, card payments and transactions with nothing in our logs to explain why. It took a full day of debugging alongside Xendit's engineers to trace it to a conflict with Microsoft Clarity.
Written by Jimmy Leonardo
Senior Mobile Engineer & Full-Stack Developer with 15+ years of experience engineering production Android, iOS, Nuxt, and Laravel systems for enterprise scale.