Cyril Mottier
banner
cyrilmottier.com
Cyril Mottier
@cyrilmottier.com
Leadership, Engineering & Product amo.co. ex Zenly (Snap), CapitaineTrain.
Killing the game
October 23, 2025 at 7:14 AM
Coupe d'Europe de la boulangerie. Pièce artistique de l'équipe française.
October 19, 2025 at 1:02 PM
For example, here’s today’s snapshot from our project: only 4 modules are massive in LOC—and surprise, they all build in >15s on CI.
Now that we’ve measured, we can target fixes and optimize! Data drives action.
October 17, 2025 at 9:56 AM
In a highly modularized codebase, typing full Gradle task names can be tedious. Gradle supports task name abbreviation: just type the shortest unique prefix. If ambiguous, Gradle suggests candidates.

⚠️ Use locally for speed, but keep codebase references explicit for readability!
October 14, 2025 at 1:32 PM
Jeudi 16 octobre à 12h, je serai en direct avec Mathias de The Product Crew (TPC pour les intimes) pour parler engineering et produit ! Hâte d’échanger avec vous et de répondre à vos questions. À très vite !
October 8, 2025 at 6:39 AM
We built a custom animatable, collision-aware, collapsible annotation system on Google Maps. Huge UX improvement but we lost tilt support along the way.
We finally cracked the math and extended our projection calculations adding a whole new dimension to the map. Just gorgeous.
October 7, 2025 at 2:34 PM
Great animations should always add value. But if they also bring delight, that’s a win 🏆. Instead of a generic 'Search', explicitly specify what’s searchable and animate each character individually. It subtly guides users, catches the eye, and feels uniquely crafted.
October 1, 2025 at 2:05 PM
Just received "Code Health Guardian" today. Can't wait to go through it 😋
September 29, 2025 at 1:54 PM
We already had incremental compilation in the single-digit seconds range, but I’m still blown away by how much faster it is now that the entire codebase is fully on Metro. 🤯

github.com/ZacSweers/me...
September 26, 2025 at 1:08 PM
Ever wish you could see what your friends are up to? Even when they’re off-screen? With sticky pins in Bump by amo, you can now spot friends typing in chat or sending super sends, no matter where they are on the map. ✨
September 25, 2025 at 3:30 PM
🪦 Android Instant Apps 🪦
2016 - 2025
R.I.P.
September 22, 2025 at 3:30 PM
The agenda, the content, the library
September 12, 2025 at 12:15 PM
Flat surfaces are boring. Textures, when used thoughtfully, can transform user experience.

We added subtle Perlin noise to our map tiles. Why? It helps users "anchor their eyes" to something tangible, reducing disorientation when zooming in/out.

Small details, big impact. 🧵👇
September 2, 2025 at 10:14 AM
OMG, I can finally review PRs without having to manually download images to view them in the finder 💥

github.blog/changelog/20...
August 29, 2025 at 1:49 PM
Counting already 46 usages when using a quick regex looking for an interface with a @Composable Content()
August 29, 2025 at 1:28 PM
Super excited today! I just completed the migration to a new cross-platform, type-safe, and modular deeplink framework. I’ve had this in mind for years but never implemented it.
An interesting challenge was dealing with modularity and supporting multiple apps.
August 28, 2025 at 9:32 AM
TIL about the 'super' expression in Kotlin. Reading a programming language grammar is always super insightful even though it's not useful everyday 😅.

kotlinlang.org/docs/referen...
August 27, 2025 at 2:36 PM
Investigated a broken internal-only feature this morning. Eventually found out it was actually not in the binary anymore.

That's one of the problem of extreme modularity, it is (too?) easy to add/remove a feature from an app.

With great power comes great responsibility 🕷️
August 26, 2025 at 7:43 AM
Murphy’s Law is undefeated: your infrastructure will go down. But just because outages happen doesn’t mean your frontend should fall apart. 💥
Designing mesmerizing error states can ease user frustration … and buy engineers time to fix the issue.
August 25, 2025 at 12:44 PM
Bezier paths are pure magic ✨.
This animation appears when your friends interact: smooth curves, vibrant gradient, particles dancing along the curve, sleek 3d effect. All made possible by the power of Bezier paths bringing UI to life.
August 21, 2025 at 9:44 AM
When building a product, you sometimes need randomness that is repeatable (e.g. generating textures, shuffling lists).

The solution is super simple: seed your random number generator with a fixed value.
August 20, 2025 at 10:04 AM
James Lovell
1928 - 2025

Guided us through the stars.
August 8, 2025 at 8:40 PM
The droidcon NYC 2025 videos were uploaded a few days ago. I finally took the time to upload the slides from the eulogy talk that @BQuenaudon and I gave about Instant Apps.

Enjoy them until December 2025 ☠️…

cyrilmottier.com/posts/2025/i...
August 4, 2025 at 3:14 PM
Building this signature scratchmap recap animation was a lot of fun 🤩. It involved clustering scratched hexagons with H3, smoothly interpolating camera movements thanks to a centripetal Catmull-Rom spline, and adding some flair with animated WebP hexagon explosions.
June 25, 2025 at 4:33 PM
Playing around with the UI for fun. Designing such micro-interactions and animations is a breeze thanks to Compose.

P.S. If you didn't catch it, a full vinyl rotation takes exactly 1800ms. That's 33 RPM 🎶💿
June 20, 2025 at 9:09 AM