Hi, thanks for listening to the It's All Widgets Flutter Podcast. My name is Hillel Korn, and each episode, get a chance to speak with another amazing member of the Flutter community. This episode, we're extremely lucky to be speaking with Vera. Welcome. Thank you for having me. Thanks for being on. So to start, can you share a bit about your background? Yes, sure. So yeah, I'm from Stuttgart, Germany, and I started coding in, I think it was 99, so it's quite a while ago.
I would not call it coding. It was building my first website. I was basically a child back then, but that's when I got introduced to the space. And afterwards, I thought, okay, maybe I can study computer science. So I did that. I finished with a master degree. And afterwards, I went into the gaming industry to build games because I was a gamer myself. And I thought, yeah, that might be the thing for me.
That I soon found out it's, yeah, a lot of work which needs to be done. So many, many working hours and not as much money as I expected to pay my rent. So I switched to mobile development.
And I got hired by a company. I worked as a mobile developer for five years as an employee. And 2019, I decided to be a freelancer. And that was also when I heard about Flutter and when I fully focused on it. And since then, I'm basically doing Flutter every day. And I'm making a living of it. Also, maybe I can add...
Yeah, I think I'm a very active Flutter community member. I do a lot for the community. I'm organizing the Flutter Dach community, which is a German-speaking community from Germany, Switzerland and Austria. I'm also having a podcast myself, but it's a German one, so it's rarely known. And sometimes Twitch streams. I wrote a Flutter book in German.
And I'm participating in different social projects built with clutter. Yeah, many things going on. That's awesome. Sounds like you're really busy. So I've followed you on Twitter for a long time and I've seen a lot of your interesting tweets. And in particular, I've noticed you're working on an app called Drumbitious. Do you want to talk about it, share the process of developing it and then releasing it?
Sure. It was a long process. I'm not sure if I would recommend it to someone else to do it like I did, but yeah, it's all about learning. And I had the idea of Drumbitious, I think, three, four or five years ago. It's a really long time. Basically, I wanted to build an app for myself because I'm a drummer myself and I wanted to improve my drum practice because I'm a really chaotic person when it comes to
Yeah, just sitting in the practice room and then I'm like, oh, there's Instagram, TikTok and all this stuff. And I didn't know what to do. So I was searching for something which helps me to organize my drum sessions to be more efficient. And there wasn't anything I was thinking about.
sports like a sports training plan where you are guided through your whole sports training session and yeah that was basically when I started to build Trambitious and it's been a long ride since then and I think I released it last year
in around this time. So it's live for at least one year. And last Sunday, I finally managed to have my product hunt launch, which I just procrastinated also for a very long time.
But yes, now here we are. Let's see where it takes me. Very cool. I saw you got a top five, which is amazing. Yeah, I was surprised by that, honestly. A top five for a product a lot. It's really aggressive. I was really surprised. It's a super niche product, but yeah, still, there seem to be many people interested in it.
Which is nice. I'm curious the app itself. What did you use for the backend? I used Firebase. So first I started with being fully offline using, I think back then it was not Drift, the name before Drift, Moore. And it's basically a local SQLite database.
But then I thought, okay, maybe offline only is not the way to go. So I decided for Firebase because it has this offline synchronization mode built in. So yeah, I completely moved everything to Firebase. And yeah, it's working on that since then. And it's working really well. So yeah, let's see if I stick to it or if I will change it one day to a custom backend. Are there aspects like most about Flutter?
Ah, of course. Oh, God, there are so many. If not, then I would not do this every single day. So I think that one of the most important flatter aspects is not...
directly related to being Flutter the framework itself but having the community around which is for me one of the most important things because I have so many people around which who help and and who I can exchange my knowledge with and yeah I made many many friends on the way the last years
Just talking about Flutter, which is really interesting, but also Flutter itself, for me, it has a great developer experience because I'm coming from
many, many different languages. So I've used from PHP to JavaScript to different cross-platform frameworks like Ionic, and I also built native apps. So I did have a lot of experience in other languages and frameworks. And Slutter was the first for me where it actually really clicks like
It felt just great to use it. I was so fast. I could deliver so fast. I could build so fast. So yeah, for me, it's basically because it's very fast. It feels very good to work with it.
And having this amazing community around. Those are great points. I couldn't agree more. And as far as productivity, people say if you're developing cross-platform, you'd want to use Flutter. But I find even if you're developing just for Android, I find Flutter to be a rapid development platform than anything else out there. Is there anything you'd like to see changed in Flutter?
Um, yeah, well, there are some small things. But for me, I built so many apps in Flutter. And I had so many different customers in my freelancer career, and I could basically build everything they wanted.
So my complaining about Flutter is on a very high level, I would say. What I would like to see, but what's already in development is, for example, having the data classes, like not needing to use something like Priest, just, for example, using the macros in the future. I'm really excited about that to see how it goes. And also I built some apps on Flutter web.
But the performance on mobile devices was not as good as I hoped. So it would be great if something would change there as well. But also the WebAssembly thing is coming. So yeah, we'll see. I think there are all the things I'm complaining about, they are already tackled. And yeah, we have to see what's coming in the future. But I'm very optimistic all the stuff will be at least improved.
Nice. Yeah, agreed. I think the Flutter team do a great job sharing their roadmap. I don't think most Flutter developers have a good sense of where things are going. It's extremely helpful just to plan for the future, plan ahead, understand where the roadblocks will be or could be. But it's nice to see, for example, web development is going to get much, hopefully much better with WebAssembly.
Yes, yes, really excited. Give me thoughts on state management. It's kind of a topic that comes up a lot. And I'm curious for your app in particular, how you built it, how it ships you. Yeah, sure. So state management for me was kind of an easy decision because back when I started Flutter, there were not as many options as there are now. So I thought, okay, there is block and I think there was also provider. And it was said that block is the hardest thing to learn. So I was excited.
I was just going for block because I thought if that's the hardest, I start with the hardest and from that it can only get easier. So I decided for block and I sticked for it until today and I still stick to it because I really like so many things about it. It got a lot easier with qubits. It got a lot more lightweight with qubits and...
There is a great company behind. I'm a big fan of Very Good Venture. I'm a big fan of structured code, of clean code, of all this stuff, of testability, maintainability. And all these things for me are definitely provided and supported by Block. Also, it has very few changes the last, I would say, month. So if I update my app, I never ran into block issues. So I really like Block.
Most of the aspects, of course, sometimes it's a little more code to write. And sometimes it's a little confusing with all the providers where you have to set them and stuff. But overall, block is definitely my way to go. I do try to migrate a project to Riverpod currently.
But I honestly, I'm not, I don't know if I'm just too stupid or for whatever reason, but I can't make it work. I have so many questions and the documentation and I think they are aware of it, but the documentation is not as good as the block ones yet. I know they are working on it and it's a hard, it's a hard job to do a great documentation. I know that.
But yeah, so far I'm still fully convinced using Block and I almost use it for every project. I did try some other things like Provider, but still, yeah, I always went back to Block. So in the end, I think if you go with Block or Riverpod or Provider or not using state management at all, like using the inherited stuff like Value Notifier, it's fine.
But it really depends on your case. It really depends on what you feel good with. And yeah, it also depends on if you would like to work on other projects, for example, because all the projects coming in from which I take over from agencies and stuff for my freelancer work, every single one is written in block. So that's perfect for me because I can just use it, adjust it, work on it without learning a new state management.
Because it's a quite common state management in the industry because it has been there for so long. So I think you can't go wrong with that. So good points. I think any choice can work. What matters is if you write good code, well-structured code, and just fundamentally care about your code. Write code as if someone else is going to have to read it. Yes, that would be great. Is there any advice to get someone just starting out?
Yes, so I see many people just watching tutorials all the time and that's great. There are really, really many, many good tutorials out there. But I think the most important thing is just building. So I started learning programming not when I studied it, but when I actually built things and
I would suggest if you have a hobby or something like that, just build a really, really, really small app and try to go through the whole release process once. So you have it in the end. The goal is to have it in the store or similar.
And yeah, just learn on the way because you can't learn everything from start because there are way too many topics and it's way too hard. Just go step by step, take the baby steps and learn on the way and watch the tutorials which you actually need, not the ones which would be maybe important for the next three years because you're going to build a
I don't know, e-commerce app for one million people just start small and get used to the whole flow and then continue to grow. That's what I see out there that many people focus a lot on reading. And yeah, of course you can read, you should read, but it's not helping you grow.
to have a quick start, I think. That's great advice. Is there anything else you'd like to add or promote? Yes, I would also really recommend visiting Flutter meetups or conferences because it's amazing to have those people around, to learn from them, to share your experiences. And I think that's really a thing which highly motivates me all the time. And I think that could also motivate others. And yeah, that's
A really cool thing. Very. Thank you so much for the podcast. Thank you for having me. Thank you.