So here we are, the final week of my coding period in Google Summer of Code.
This week has been a rollercoaster — from upgrading Gradle and AGP, fixing compatibility conflicts, to making the app feel more alive with microinteractions and transitions. And yes, testing on my “NASA-powered” phone that just couldn’t keep up 😅.
Starting the Week with a Big Upgrade
The week started with my PR: Upgrade AGP to 8.5.0 and Gradle to 8.7 for Kotlin 2.1.10 compatibility #425.
I put in the work to address all of Coderabbit’s suggestions (so much so that I’ve started seeing Coderabbit’s reels on my Instagram feed now 🐇📱).
But when Hardik reviewed the PR, we hit some bumps:
- Upgrading Flutter to the latest stable caused conflicts between
hive_generator
andbuild_runner
. - Even though I pinned them to compatible versions, the build still failed.
- And most importantly — I had upgraded the Java version. Hardik pointed out that this wasn’t viable within the current timeline since all contributors would also have to upgrade.
So yeah… the PR couldn’t be merged, and I had to eventually revert the changes.
I did test the auth flow by generating my own client ID and secret. It worked perfectly fine — so when Aboo generates the final keys, it should be ready to roll.
Animations vs Microinteractions
I thought the gradle upgrade PR will merge, I switched to UX improvements.
I studied the difference between animations and microinteractions in layman’s language:
- Animations: Big, visible motions that catch attention (like screen transitions, loaders, or onboarding visuals).
- Microinteractions: Subtle feedback elements that make the app feel “alive” (like a button bounce when clicked, a smooth fade when a form is submitted, etc.).
So I added microinteractions to our button components. Then I tackled page transitions. Luckily, the project has a centralized router.dart
, so I slipped in a sleek fade transition across pages.
When I tested on my phone, nothing showed up (thanks to my laggy, NASA-powered device 🚀📱).
But testing on my friend’s phone confirmed it — the app felt way more alive!
Weekly Meet with the Mentors
Yesterday, we (me, Hardik, Aboo) had a project meet. Since this was the final submission week, we discussed the remaining tasks.
- I explained the auth flow progress.
- We talked about the interactive book feature. Hardik clarified that it won’t be possible during GSoC due to time constraints, but we can revisit it post-GSoC. Until then, I’ll keep exploring possible solutions.
- I also reviewed the open PRs (mostly from dependabot), marked which can be merged directly, and made required changes. But with the Gradle PR dropped, I had to revert a bunch of things. (Thankfully, I saved my code, so it’s just copy-paste-push when the time comes ✨).
And then came the big question — Do I want to join the core team?
Honestly, that’s a huge question. We were joking around, but Hardik did mention they love reading my blogs — for the innocence and realism they hold. That meant a lot. ❤️
Back to Auth, Deployment & Stores
Today, I:
- Reverted everything back to the earlier version (with the correct settings and versioning).
- Worked again on the auth flow.
- Studied deployment on the Huawei AppGallery (to target the Chinese audience).
Key takeaways:
- We can add our APK for review.
- No need to pay anything.
- The only constraint: we must not depend on Google services. Currently, only
google_sign_in
is an issue, everything else is fine.
- Next up: I’ll also increase my pace for the deployment on F-Droid Store.
Final Blog & Wrap Up
I’ve also started working on my final blog report. Not gonna lie, I spent 2 hours just making the cover — but it looks good (I think 🤞).
This week has been about trying, failing, learning, and then finding another way. The build may have failed, but the app is alive and kicking with better UX. And honestly, I couldn’t ask for a better ending to my GSoC journey. 💙
✨ Thanks to everyone — Hardik, Aboo, and the CircuitVerse team — for all the guidance, laughs, and late-night debugging sessions.
Until the final report....
💅U SLAY BITCH😘😘😘😘