Oleksandr Leushchenko ๐Ÿ‡บ๐Ÿ‡ฆ's Avatar

Oleksandr Leushchenko ๐Ÿ‡บ๐Ÿ‡ฆ

@olexale.bsky.social

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

552 Followers  |  97 Following  |  53 Posts  |  Joined: 22.06.2023  |  1.908

Latest posts by olexale.bsky.social on Bluesky


u24.gov.ua - United 24
savelife.in.ua/en/ - Come back alive prytulafoundation.org/en - Prytula Foundation
yellow-tape.com.ua/home-eng - Yellow Tape Foundation
koloua.com/en/ - KOLO

17.12.2025 10:20 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

As usual, if you enjoy the article, the best way to show your appreciation now is by supporting my country - Ukraine ๐Ÿ‡บ๐Ÿ‡ฆIf you can afford it, I encourage donations to well-established charity foundations (except for the Red Cross), here are a few:

17.12.2025 10:20 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
When โ€œGood Enoughโ€ Is Neither Good nor Enough Why shortcuts compound unpredictably in long-lived codebases

Iโ€™ve seen many strong teams slowed down by code they wrote themselves. Not because it was bad, but because it was โ€œgood enoughโ€ at the time.

I wrote about why this happens in settled teams, and how I try to reason about it: olexale.medium.com/when-good-en...

17.12.2025 10:20 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

But Dartโ€™s Records make this so much nicer:
๐˜ง๐˜ช๐˜ฏ๐˜ข๐˜ญ (๐˜ข, ๐˜ฃ, ๐˜ค) = ๐˜ข๐˜ธ๐˜ข๐˜ช๐˜ต (๐˜ฐ๐˜ฑ๐˜ฆ๐˜ณ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜ˆ(), ๐˜ฐ๐˜ฑ๐˜ฆ๐˜ณ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜‰(), ๐˜ฐ๐˜ฑ๐˜ฆ๐˜ณ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜Š()).๐˜ธ๐˜ข๐˜ช๐˜ต;

โœจ No casts.
โœจ No hidden index dependencies.
โœจ Much cleaner, safer, and more readable.

And now you know it too ๐Ÿ˜

29.08.2025 13:25 โ€” ๐Ÿ‘ 13    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Example:
๐˜ง๐˜ช๐˜ฏ๐˜ข๐˜ญ ๐˜ณ๐˜ฆ๐˜ด๐˜ถ๐˜ญ๐˜ต๐˜ด = ๐˜ข๐˜ธ๐˜ข๐˜ช๐˜ต ๐˜๐˜ถ๐˜ต๐˜ถ๐˜ณ๐˜ฆ.๐˜ธ๐˜ข๐˜ช๐˜ต([๐˜ฐ๐˜ฑ๐˜ฆ๐˜ณ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜ˆ(), ๐˜ฐ๐˜ฑ๐˜ฆ๐˜ณ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜‰(), ๐˜ฐ๐˜ฑ๐˜ฆ๐˜ณ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜Š()]);
๐˜ง๐˜ช๐˜ฏ๐˜ข๐˜ญ ๐˜ข = ๐˜ณ๐˜ฆ๐˜ด๐˜ถ๐˜ญ๐˜ต๐˜ด[0] ๐˜ข๐˜ด ๐˜›๐˜บ๐˜ฑ๐˜ฆ๐˜ˆ;
๐˜ง๐˜ช๐˜ฏ๐˜ข๐˜ญ ๐˜ฃ = ๐˜ณ๐˜ฆ๐˜ด๐˜ถ๐˜ญ๐˜ต๐˜ด[1] ๐˜ข๐˜ด ๐˜›๐˜บ๐˜ฑ๐˜ฆ๐˜‰;
๐˜ง๐˜ช๐˜ฏ๐˜ข๐˜ญ ๐˜ค = ๐˜ณ๐˜ฆ๐˜ด๐˜ถ๐˜ญ๐˜ต๐˜ด[2] ๐˜ข๐˜ด ๐˜›๐˜บ๐˜ฑ๐˜ฆ๐˜Š;

29.08.2025 13:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

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 ๐Ÿ˜…).

29.08.2025 13:25 โ€” ๐Ÿ‘ 10    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 1

u24.gov.ua - United 24
savelife.in.ua/en/ - Come back alive
prytulafoundation.org/en - Prytula Foundation
yellow-tape.com.ua/home-eng - Yellow Tape Foundation
koloua.com/en/ - KOLO

25.08.2025 11:59 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

If you like the package, the best way to show your appreciation now is by supporting my country - Ukraine ๐Ÿ‡บ๐Ÿ‡ฆIf you can afford it, I encourage donations to well-established charity foundations (except for the Red Cross), here are a few:

25.08.2025 11:59 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
bdd_widget_test | Dart package A BDD-style widget testing library. Generates Flutter widget tests from *.feature files.

Just updated bdd_widget_test!

โš ๏ธ Heads up: This release includes a breaking change. I had to remove some functionality. If you miss it, please reach out!

๐Ÿ“Š Mind-blowing: 61K+ downloads last week! Happy to see that so many of you find it useful.

Check it out: pub.dev/packages/bdd...

25.08.2025 11:59 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

u24.gov.ua - United 24
savelife.in.ua/en/ - Come back alive prytulafoundation.org/en - Prytula Foundation
yellow-tape.com.ua/home-eng - Yellow Tape Foundation
koloua.com/en/ - KOLO

6/6

06.08.2025 08:49 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

As usual, if you enjoy the talk, the best way to show your appreciation now is by supporting my country - Ukraine ๐Ÿ‡บ๐Ÿ‡ฆIf you can afford it, I encourage donations to well-established charity foundations (except for the Red Cross), here are a few:

5/6

06.08.2025 08:49 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Why Experts Struggle With Known Problems in Software Architecture How past experience holds you back

If youโ€™re interested in more details, I just published an article on the topic:

olexale.medium.com/0a95cef1dd63

4/6

06.08.2025 08:49 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

4/ When complexity grows, we add MORE complexity instead of simplifying the problem.

๐Ÿ’ก The solution: Start small. Break big problems into small ones. Let your app guide you to what's actually needed.

3/6

06.08.2025 08:49 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

2/ We build emotional attachments to past solutions. They become our default, and we get defensive when challenged.

3/ Context changes, but our solutions don't. A banking app โ‰  calculator โ‰  social network, yet we apply Clean Architecture universally.

2/6

06.08.2025 08:49 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Why Experts Struggle With Known Problems in Software Architecture How past experience holds you back

๐Ÿงต Just published an article on why solving NEW problems is easier than KNOWN ones (especially for experts): olexale.medium.com/0a95cef1dd63

TL;DR ๐Ÿ‘‡
1/ We fall into the pattern-matching trap. Solved it before? Must use the same solution again.

1/6

06.08.2025 08:49 โ€” ๐Ÿ‘ 3    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

u24.gov.ua - United 24
savelife.in.ua/en/ - Come back alive
prytulafoundation.org/en - Prytula Foundation
yellow-tape.com.ua/home-eng - Yellow Tape Foundation
koloua.com/en/ - KOLO

17.07.2025 09:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

If you enjoy the talk, the best way to show your appreciation now is by supporting my country - Ukraine ๐Ÿ‡บ๐Ÿ‡ฆIf you can afford it, I encourage donations to well-established charity foundations (except for the Red Cross), here are a few:

17.07.2025 09:50 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

In this talk, I cover:
โœ… When on-device AI makes sense (and when it doesnโ€™t)
โœ… How to integrate AI models into your Flutter apps
โœ… Live demos to kickstart your own AI-powered features
If youโ€™re building #Flutter apps and thinking about #AI - this is for you.

17.07.2025 09:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
"Integrating On-Device AI Models into Flutter Apps" talk by Oleksandr Leushchenko on FGS'25
YouTube video by Oleksandr Leushchenko "Integrating On-Device AI Models into Flutter Apps" talk by Oleksandr Leushchenko on FGS'25

๐Ÿš€ Just published my "Integrating On-Device #AI Models into #Flutter Apps" talk from FGS!

In a world obsessed with LLMs and chatbots, itโ€™s easy to forget the power of running AI locally - no servers, no latency, and better privacy.

www.youtube.com/watch?v=tRNr...

17.07.2025 09:50 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
iOS Keychain vs Android Keystore
YouTube video by Talsec iOS Keychain vs Android Keystore

Podcast: iOS Keychain vs Android Keystore. Whether youโ€™re building for Android, iOS, or both, youโ€™ll get practical tips and clear explanations to help you choose the right approach for your next project.
www.youtube.com/watch?v=nB4h...

20.06.2025 13:43 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

That reminded me of my childhood - my friends and I used to clone each otherโ€™s toys by making aluminum copies. Not because we didnโ€™t have toys, but just because it was fun to create molds and pour in melted aluminum ๐Ÿ™‚

30.05.2025 20:37 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
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...

๐Ÿš€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...

21.05.2025 07:19 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
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...

Itโ€™s all about balance. Knowing when to try new things is just as important as what to try.

By the way, the final stream of the MiniClient tutorial is happening tomorrow. I hope youโ€™ll learn something new youโ€™ll want to try in your own experiments. Donโ€™t miss it!

(4/4)
youtube.com/live/bHxqnyB...

19.05.2025 06:53 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

But when Iโ€™m working on something production-critical or for a client, I rely on well-tested tools and familiar approaches. Thatโ€™s not the time for experiments - thatโ€™s when reliability matters most.

(3/4)

19.05.2025 06:53 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

When Iโ€™m experimenting or building a proof of concept, I intentionally change one or two things: a new dependency or a new architectural idea. Small changes keep things manageable and help me learn without derailing the project.

(2/4)

19.05.2025 06:53 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
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...

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...

19.05.2025 06:53 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
How to Block Screenshots, Screen Recording, and Remote Access Tools in Android and iOS Apps
YouTube video by Talsec How to Block Screenshots, Screen Recording, and Remote Access Tools in Android and iOS Apps

How to Block Screenshots, Screen Recording, and Remote Access Tools in Android and iOS Apps - watch our newest podcast featuring @olexale.bsky.social & @mhadaily.bsky.social

www.youtube.com/watch?v=ZHhs...

14.05.2025 12:46 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

u24.gov.ua - United 24
savelife.in.ua/en/ - Come back alive
prytulafoundation.org/en - Prytula Foundation
yellow-tape.com.ua/home-eng - Yellow Tape Foundation
koloua.com/en/ - KOLO

14.05.2025 11:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

If you enjoy the streams, the best way to show your appreciation now is by supporting my country - Ukraine ๐Ÿ‡บ๐Ÿ‡ฆIf you can afford it, I encourage donations to well-established charity foundations (except for the Red Cross), here are a few:

14.05.2025 11:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Preview
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...

๐Ÿšจ Final MiniClient stream โ€“ ๐Ÿ“… May 20 ๐Ÿ•“ 4 PM UTC

We covered utility, feature & application layers. Now it's time for:
๐Ÿงญ Navigation
๐Ÿงช Testing

Wrapping up this comprehensive guide to building complex Flutter apps
www.youtube.com/live/bHxqnyB...

14.05.2025 11:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

@olexale is following 20 prominent accounts