Oleksandr Leushchenko 🇺🇦

@olexale.bsky.social

Engineering Leader | Google Developer Expert | Coaching Productive, High-Impact Teams

I have a small AI box in the closet that runs open-weight models. I used it less than I could, because for real work you still go to a real model. A new model just dropped, and it reviewed my code better than everything I pay for. leushchenko.com/writing/the-...

The reviewer I don't pay for — Oleksandr Leushchenko

A local model found five real bugs in my code, with repro steps. My subscriptions called the same code an A-minus.

leushchenko.com

Seneca wrote about a rich man who wanted to sound educated, so he bought a slave for each poet he wanted to quote, counted their knowledge as his (and still broke down in the middle of a line). I have the same household for $20 a month. leushchenko.com/writing/sabi...

Sabinus with a $20 subscription — Oleksandr Leushchenko

A rich Roman bought slaves to memorize Homer for him. The same setup now costs twenty dollars a month.

leushchenko.com

You ask for one component for one screen, and get a whole design system. You ask for a table, and mid-session the model adds search, filters and column reordering. Nobody asked 🙄 Sonnet 5 got bold. My colleague Jack has a theory about why. leushchenko.com/writing/we-a...

We are not the audience anymore — Oleksandr Leushchenko

Ask for one UI component, get a whole design system. Fine for people without a spec, ridiculous for engineers with one.

leushchenko.com

I opened someone else's demo and recognized the website. I was showing Claude Design to a friend, and we vibecoded a stub site for their company. Not "it looks familiar". Same color scheme, same font, same layout, same vibe. One to one. leushchenko.com/writing/i-ha...

I had already seen that website — Oleksandr Leushchenko

A hackathon demo looked exactly like the stub I'd vibecoded a month earlier. Same colors, same font, same vibe.

leushchenko.com

Big models don't fit into 128GB. DeepSeek V4-Flash is one more proof: great model, needs two DGX Sparks. So I moved on. Then someone shipped a 2-bit port that fits on a single box. Two bits. I expected broken tool calls and confident nonsense. I was wrong. leushchenko.com/writing/two-...

Two bits shouldn't be enough — Oleksandr Leushchenko

A 2-bit port of DeepSeek-V4-Flash runs on a single DGX Spark clone, and I was wrong about almost everything except the speed.

leushchenko.com

A US client I worked with had a mobile app that was a mess. One engineer rebuilt it from scratch in two months, on the side. A whole team had spent a year on the version he replaced. That rebuild is the reason he never got promoted again. leushchenko.com/writing/comp...

Competence turns into a cage — Oleksandr Leushchenko

Park your best people on maintenance long enough and they stop being your best people. The "not ready" label has a way of making itself true.

leushchenko.com

Ten years ago I named our Mac Mini CI build machines after Disney princesses. Cinderella, Ariel, and... one I had to sit and think about. Our IT folks didn't get it. Then the machines started having characters. This year my AI agents named themselves. leushchenko.com/writing/nobo...

Nobody remembers ci-runner-2 — Oleksandr Leushchenko

Why I've been naming build machines for ten years, and why my AI agents named themselves.

leushchenko.com

Successful companies go blind like cave fish. Stop fighting to survive, and you stop needing sharp eyes. Ian Reppel nails it. I ran mobile at a big Ukrainian outsourcer and watched it hit client after client. Staying small is the way out. leushchenko.com/writing/how-...

How good companies go blind — Oleksandr Leushchenko

Politics moves in the moment a company stops fighting for its life. Small teams stay sharp because they can still feel the market — and AI just made it possible to stay that small for a lot longer.

leushchenko.com

Today I learned a neat #Dart trick for running multiple async operations in parallel. I used to rely on 𝗙𝘂𝘁𝘂𝗿𝗲.𝘄𝗮𝗶𝘁(), but that meant: • Casting results manually (𝘢𝘴 𝘛𝘺𝘱𝘦𝘈, 𝘢𝘴 𝘛𝘺𝘱𝘦𝘉 … 😩) • The logic depended on the order of operations (easy to break, especially with LLMs 😅).

🚀The MiniClient series is complete! Want more? I might stream about CI/CD, testing, or on-device AI. Drop your ideas in the replies or YouTube comments! 🎤 Next stop: #FlutterGlobalSummit. Don’t miss it! 📺 Catch all 3 streams here: youtube.com/playlist?lis...

MiniClient Flutter tutorial - YouTube

Ever wondered how experienced developers structure their Flutter projects? In this hands-on tutorial series, we build a Flutter app from scratch, breaking do...

youtube.com

After my first two streams, I’ve been asked a few times: ❓“Do you always structure your projects this way?” ❓“Do you always use the same dependencies?” The short answer is no. Every project is a chance to learn, refine, and grow. (1/4) youtube.com/live/bHxqnyB...

Live Coding: MiniClient Flutter Tutorial #3

🔴 Live Coding: MiniClient Tutorial #3 In this second part, I walk through the "navigation" and "testing" parts of the MiniClient tutorial — a hands-on introduction to how we build and scale large real...

youtube.com

In 2014, Russia started an unprovoked war on Ukraine, aiming to seize all of Ukraine. It launched an all-out invasion in 2022. I do not understand how anyone can possibly be taking the side of Russia and Putin. This war is not “self defense:” it is brutality and war crimes.

Bild

🎙️👨‍💻Thinking about doing a live coding session based on my MiniClient tutorial series! I'd walk through it live, answer your questions, and share insights from working with 70+ Flutter engineers on a 3M+ LOC app. 🙋‍♂️Like/share this post if you'd join so I can gauge interest!