AppForce1 Podcast: news and information for iOS app developers
← All episodes

Jordi Bruin, an indie iOS developer with two awesome products.

01:10:00

Send me a text

Jordi Bruin, indie iOS developer with two awesome products called Soosee and Unmute. He switched to being self employed relatively recently. And also his iOS skills are something he learned on his previous job. Jordi has a way of finding creative applications around specific iOS APIs. Listen to his journey and check his apps, they are very interesting.

Join me in Amsterdam for Do iOS 2025, tickets and details available now.

Lead Software Developer 
Learn best practices for being a great lead software developer.

Support the show

Do iOS: https://do-ios.com


Rate me on Apple Podcasts.

Send feedback on SpeakPipe
Or contact me:

Support my podcast with a monthly subscription, it really helps.

My book: Being a Lead Software Developer

Read the transcript
Jeroen Leenarts: Oh, yeah, hello. Okay, we're gonna switch to English now. Yes. Just just to make sure that, Jordi Bruin: that we don't accidentally keep talking in Dutch. Jeroen Leenarts: Exactly. So I'll just do a sort of an introduction. And then we'll just start talking. And we'll cover all kinds of topics. Alright. So I'm sitting here on another special episode with Jordi Brown. He's from the Netherlands as well, just like me. So if you hear some Danish, then you now know why that's happening. And Yadi is somebody who's familiar with another guest who's been on my podcast, actually, Antoine, who's been the first guest on the podcast ever. And they have been colleagues and their friends actually, in real life. But we, of course, here to talk about God. And there's two apps currently in the app store that he's currently working on. So that's Suzy, and and mute. Can you tell a little bit about those two apps? Jordi Bruin: Yeah, sure. So to start with Suzy, that's an app I started working on last year when Corona started in the summer before so 2019, I was dating this girl who had an allergy to oranges. So she couldn't read. She was Australian, so she couldn't read the Dutch labels. So every time we would buy something, I would have to like scan the label to find out if there's anything with oranges in there. So orange rinds, orange juice. I mean, there's not a lot of orange stuff, but it's still annoying. And during the WWDC, that year, Apple had announced some new things to division framework, which allowed you to do like real time text recognition. So I figured, all right, let me just as a romantic gesture to her, make her make her an app that was like highlight orange oranges, like the word. So it was just a really simple fun thing. It didn't really go anywhere, besides being just a sample project. It was on iOS 13, I think at the time, so she didn't even update her phone. So I don't think she ever really used it. But it was still nice. And so I put that sample code like somewhere and didn't really touch it for about eight or nine months. And then due to Corona, the project I was working on at the time, got put on hold. So I went home and had a lot of time, like a month where it wasn't really doing anything. So I thought all right, let me take this, this fun little thing I had, because it was still on my mind for a long time. And let me try to make an app that can just have like a large list of allergies. And you can just select the ones that you that you're allergic to. And then you just point your camera at the ingredient label and it will highlight any of the words that you that you cannot have. So I remember, I think it was August or September of 2019, I was on a road trip with friends to South East Europe. And I took all these cereal boxes with Croatian text and Serbian text and just like cut them out and put them in my little notebook for when I would finally get to making the app. And so I launched it, I think the week before WWDC in 2020 Because I got a really nice response before launching it. So it was like 10,000 people on the waiting list. So I figured right now there's something here, let me try to make it like work really well. And so far, it's been been really nice, like, got a lot of really nice messages from people with allergies, or people who are vegan, for example, because you can also check for vegan ingredients, or microplastics and stuff like that. So it's like really just a thing that really solves a problem for large group of people, which is really nice to work on something that that actually helps people instead of just having something that's like, alright, this is like a fun little entertainment thing or something. So yeah, and actually, this week, starting to go like full time working on it. I was doing some freelance stuff in the meantime, because I just started my own company at the end of 2019. And I figured, alright, like now's as good a time as any to just like, try to go full on any developments and just work on stuff I like and stuff that makes the world a bit better so as to see how that goes in a few months. But so far, I think it's a it's a good choice. Jeroen Leenarts: Okay. So that's Suzy and unmute. That's more like an audio telephony. Really. Yeah. Jordi Bruin: So. So for, for Suzy, I was working on a new feature last month where if you're abroad, and you want to explain that you have allergies to a person, it can be difficult in different language. So there's these little cards that people can buy that like you basically give to the waiter and it says in Spanish or in Greek or whatever, that you're allergic to something. So I was like working on adding that to Susy, like those cards that people could just show. And then I came across this text to speech API in iOS, which has been there for a long time. So it's not not like super special or anything. But it made it useful because you could just like let your phone explain your allergies to other people in different languages. And then I found out that in, in iOS 13, there was a new API that was added, which allowed you to, like put that text to speech output from the phone and direct it into an active phone call. It's mixed to telephony uplink or something. So I didn't really, I thought the idea was cool. I didn't really know how it would be useful. But then about a month ago, there was this this hackathon weekend, organized by surreal and forgot her name, I will get her name in a bit called the big brains podcast. So I figured, right, that is going to be my my hackathon project. So on Saturday night, I started working on it at 9pm. And then at 2pm, and 2am, I went to bed after I had submitted it to, to the test, flight review. And then the night after I submitted it for real, and it was approved at 1am, Sunday night, so like 26 hours after I'd started working on the app. So what it does is it allows people who have trouble speaking, so people who are mutes or people who have a stutter, or people who, for whatever reason, cannot like talk on the phone. It basically allows you to make sentences and then you can like tap them, and then the phone will, will speak to speak them into the active phone call. Which was just like a really fun thing to make. And I think over the the week after that, I did like six updates, just adding small features that I got feedback from from people. And it's actually I got an email from Apple A few days ago that they're looking into featuring it. So that will be really nice, like a few weeks after lunch. So yeah, I think it's just a really useful app. And what I'm doing now is because the functionality is pretty ready, it's like right click a sentence or speakers and type of sentence. So what I want to do now is like learn a lot about like accessibility and the best practice of that. And because I think it's a really nice app to do it on, because it's very, like, set in scope so I can really, like it's not this big project that will take me weeks to do. So I'm actually working on my first like YouTube series now where I'm going to like Alright, today we're going to add accessible labels. And today we're going to make sure it works for different text sizes. And today we're gonna make sure it works for blind people. So I'm just using it now as a as a learning project, which is really fun. Jeroen Leenarts: Cool. Yeah. Cuz the person you were wanting to mention, that's actually thing Becker. Exactly. Yeah. She was. Surreal did, actually as well. Yeah, we recorded that like a little bit before. And she actually wanted me to link the big brain hacks hackathon. But it was actually already passed. It already happens when I released the episode. So we didn't add it in as a link. So yeah, that's that's a lot about the the the products that you work on. You also already mentioned that you have a company since 2019. So let's just hit the big old rewind button and start talking about you already. Like when he was way back, way back machine indeed. So how old were you when you got your first hands on a computer? Jordi Bruin: Who must have been six, seven or eight or something, we got this IBM PC with a Pentium four chip at the time. And the things I remember was we had this like the Voodoo sound card or something, or was the food or graphics card, I was really the graphics, the house really addicted to red alerts, and all these all these old school PC games, and there was this, my dad through his work, he used to work at a bank. And I think in that time, you could get like discounts on on computers, it was like they were really pushing people to get computers and he bought this super powerful at the time. I don't think it was super powerful. But PC and and I installed this app called RPG Maker, which allowed you to make like a role playing game such as the old like Final Fantasies. And I think I was addicted there for years. And then I remember, like downloading some weird version and it crashed the computer and my dad was super angry. And yeah, from from very early on. I was super enthusiastic about about computers. And I remember me and my dad, we went to the library because there was internet over there and you could like you could get fast internet and you could go there with your floppy drive. But they had these like little things that would block the floppy drive. So you couldn't actually download anything and in the library. So yeah, I think it started it started there. And then after that, like video game consoles, I was always a bit late with that. But yeah, I really loved computers. Jeroen Leenarts: So that's from a young age, you actually got into computers with a Pentium four. So Now I can like, date you a little bit. Jordi Bruin: Do you think I am based on that? Jeroen Leenarts: Let's see Pentium four that's like right after the 486. So that's somewhere around. Let's see, then you were six or eight. So yeah, somewhere in your early 30s Jordi Bruin: Yeah. 33. Exactly. Sorry. It's like when you have a tree, when you open the tree, you see the ring, so you can just like, look back to see all this, but in your case, it just depends. Jeroen Leenarts: I don't want to cut you down. But so um, so yeah, you got involved with computers at a at an early age, because six or eight years that's actually quite young to actually get your hands on your first keyboard in any meaningful way, besides just playing small video games. So did you get into designing or programming right there with this analogy stuff, or was it like later, Jordi Bruin: I think to some extent, are linked together, of course, because you use a computer as a tool to do creative stuff. Even though it doesn't really feel like that, I think. It wasn't until, like, in my early 20s, when I really got into like, using computers for like, more than just hobbies or, like fun stuff. I started working, I started interning, actually at a company called triple where I also know Antoine from. As an industry analyst, I was just like, I was doing numbers. And I studied management, Economics and Law, which like has nothing to do what I like doing now. But it got me into into triple. And at the time, triple was growing to become like a digital agency that also did design before that was mostly technical. So they started this design department basically, and me and the guy who was starting that we became good friends. So over time, I just thought I want to do more in this. So I put like a lot of time to getting better at design. Well not that I'm like a good designer or anything but more just trying to better understand, like, what makes a good product. So yeah, I just got a lot of opportunities at the company to to grow myself and to try out new things, which was really, really nice. So I think over the eight years that I worked there, I had six or seven different job titles ranging from concept innovator to user experience designer to project manager to user testing, whatever. And what I noticed is that I really like doing all these little things, not necessarily be as focused on one thing, which is also how I got into development, because I used to be more of the design person in a project team. And then I would always, like bother to developers. And I think a lot of developers, notice where the designer says, Oh, why don't you just make this super easy to make, right? And then in reality, it's not. But I got super frustrated with that. Because I had all these ideas that I wanted to make. So I ended up like going to Stack Overflow myself, or sorry, or, like just trying to figure out how it could work. And through that I basically thought, right? Why don't I just learn how to program myself. So I can like have an idea and just make it make it real without needing anyone's help, basically. And so a friend of mine at the company, he had a project that he had made a few years ago in Objective C. And I think by the time it was like I think swift two dot o was just out. So I literally took the old project and put it on the left side of the screen, and then put a new project on the right side and just started like copying all the individual files and copying them into Swift. And every time I get stuck or didn't know what anything did, I would just like Google it and try to figure out what was going on. Which is, I think a really nice way to do it. Because you could if you're actively making something and building something, and you're understanding the syntax and how, like, a file structure. And I think I also because I came from more of a design background in terms of work there as well. It was an easier to like I met let's make this look a little bit nicer. Or let's make this functionality work in this way so that it makes more sense for the user. Yeah, and it was just really cool that you could just have an idea and slowly make it make it like real. And then, after about seven or eight years at that company, I thought I want to I want to do this more I want to build more stuff and not be in meetings as much or not be like dealing with clients too much. So I figured all right. Let me just try to start like go freelance or start my own company and just do it that way. And this combined stuff. So for some clients, I will do design stuff for some clients I would do Development for some clients, I would do project management and like I could really, like, merge all these things. Until now, when I've like, basically stopped working with, with most of my clients to, to just work on my own stuff for a bit and see how that goes. Jeroen Leenarts: Yeah, that's, that's a lot. That's you actually mentioned in just a few minutes that we can start to unpack right now. So you worked at triple for eight years, if I'm correct. And that was your first employer. After graduating, Jordi Bruin: I wasn't even graduated when I started. So I, I did this internship at Apple. But I, technically, I wasn't allowed to do the internship because you need like permission and a certain amount of points from school to do it. But I was like, so done with it with that direction I was going to, and the job a triple was like basically my dream job because I could work on on cool stuff with phones and apple and just yeah, just work with computers, basically. So I think it took about three years before I ended up going back to school and finishing that stuff, like at night. So at this, this like weird, it's weird that where I would go to school for two years, then work at this job that I really liked, which is basically the whole reason why you're going to school at that point. And then I just wanted to make sure I finished it and just like not get any student debt and stuff like that. And then I went back, or I kept working a triple then so. Jeroen Leenarts: So but working at your first employer for like, eight years, that's that's quite a long time, actually. And you also mentioned that within this job, you actually was able to transition from a more business oriented role, you know, just kind of thing like business analyst kinds of stuff into a development role. When you end up triple, where you're actually doing software development there, or was it more like you were getting your feet wet. Jordi Bruin: I was never really I never afford a client a triple. I never really did developments. The last year I did some internal projects, because I went on like a sabbatical for six months where I traveled the world. And then I came back to triple. And then I wanted to do some more development stuff. But it wasn't ever really at the level that I think it would be fair to clients to my coding. Like the people are triple or doing that we're like, at a such like a much higher level. And I to be honest, I also do really like that structured, like unit testing, um, that it's I think it's just because I don't know how to do it well. But yeah, it was never like a developer role. It was always more of like development was part of the prototyping or the conceptual stuff that I was doing for clients. So if we would have a presentation for a new idea for big clients, I would maybe like make a mock up of a feature and make it an actual code with just like fake stuff. But that did get me like, super interested into doing it for real. And then the first job I had, after I started my own company was actually for a React Native Development thing, when I never really like done anything with React Native. So I like this three month period, at the start of my new company where it's like, Alright, make or break. Like basically, you have to learn how to do this now. For for the zoo, here in Amsterdam, which was really nice project and it all went well. And there was only, I don't know, two or three memory leaks that cost the battery to go down really quickly when you're in a zoo. So yeah, that was not a super big deal. But yeah, I think I wanted to do more with with development. So I think that was, like, if I would have done that within triple even though it would probably be possible if I wanted to. I felt like it was also a good, good moment to just do it on my own. And I just moved to Amsterdam as well. So there was a number of reasons why I wanted to do it that way. Jeroen Leenarts: But it does sound like that you took like a really big leap when you start your company in 2019 You know, just having done some things with software development, having a lot more experience with business analysts, analysis and and design of of software and design in the sense of graphic design, I guess. Yeah. And then you just like, quit your job, start a company. finally find a contractor contracts and then just do actual football and stuff. Yeah. So how did how was it back then? Was it stressful? Or Jordi Bruin: was like I never really experienced it in that way. Because that first job offer like the first clients. I knew about that already. Like before I took the before I left triple and I figured out well. Worst case I just save some of that money I make in the first three months and then like go on and on. I remember in December, something I was doing some design work for for an app around chess. And then some other project came by, like some small stuff came came on my part. And then actually Corona came pretty early on as well. So I think it was like four or five months after I'd started. So I think that was also actually like a good thing for me, because the project I was working on at the time, was also quite hard. And then Corona basically allowed me this freedom to write what do I really want to do. And then I got more into the iOS community as well. And then if ik head like this, I really liked doing this kind of stuff, just making my own stuff. And, and just doing it, the whole picture, like the whole the whole package. And then, in like the months after that, there were some some clients here and there that I could work on there were also like nice people. So I had just this nice base that I could work on. And I think I also kind of stopped doing like full, like development type stuff for clients. Because I also noticed that, like, when you're making your own thing, it there's no really like a deadline in terms of when you have to finish stuff. And for clients, obviously, there is and if I do like more of the traditional stuff I did, which was more design or user experience, or something that would be quite easy for me to do, because I'd done it so long already. But with development, it was always like this constant struggle of Alright, is this the right architecture? Or is this the right way to make this feature? Like I don't know, like, but there is a deadline, and clients are waiting on it, and clients are paying for it. So if it doesn't work, it's like, yeah, that's not good. Whereas if it's your own thing, at worst that happens is that you have to do some bug fixes or spend a few nights, like working late to get it to work again. Because like I said before, I am not like the best developer in the world. I know how to like take a lot of things and combine them in good ways to make stuff work. So I think now nowadays for clients, I would do more like project management slash design kind of work, maybe work alongside developers a little bit too, because I know a bit about development. So I can think about like how to approach stuff or I can like jump in if we need like, some extra hands in like the rush period or something. But but also something like for all my own projects, I use Swift UI. And it is so much more fun and easier to work with stuff there. Then, if you would use more like the traditional stuff that you would have to make for the clients I was working for. So yeah, I think those So Jeroen Leenarts: would you say that the design part of your skill set has been your starting points for your company. And then while doing that you discovered, okay, full in development is not my strength. When I'm doing contract work. So then you you went back to your, your base skill, which is to design work? Jordi Bruin: Yeah. So the first job like the first client was was full on development, actually. But I think I noticed more that, like, the thing I like about development is when I can like, do my own stuff. Yeah. And it wasn't as fun for me when it was for clients, I think, yeah, what you're saying is probably right, that, that I'd better, like focus on where my strengths are, when I'm working with clients. And then for my own stuff, like make more and more time for my own stuff where I can do more of the development. Yeah. Jeroen Leenarts: Because it does sound like that both the Suzy and the unmute apps that they've started out basically as sort of a prototype. And then once you have the prototype, it's grew into an elaborate prototype. And then at some point, you were like, maybe I should like really make a product out of it. So that then you evolved it again, to actually make it a shippable piece of software. Yeah. But at what point, did you discover that making your own products was, first of all, something you want to do? And second of all, because you already mentioned that you're doing your own products dedicated right now. And what point did you decide, okay, this might or is actually something that's feasible. That is that is feasible so that you can sustain yourself? Well, pretty much indefinitely if you would be working on your own products. Jordi Bruin: So early on a triple. I had this idea for a little app, which allowed you to plan dates with friends. So if you want to play plan, like a weekend away, or a dinner party, I figured there must be a better way to do this. So I worked together with some other people I tripled to make it. It's an app called Lulu. And this was just like, alright, I had this idea and we solve this problem. And people started using it and more and more people started using it and it grew to like right now about three million people use it in the Netherlands. And it's like a really like a big thing. And I would be at a festival and I would see someone with his phone and they would have my app on it. So then I figured out, hey, like, I like this feeling. I like making something that that's, that's there. And I think, like last few years, I saw more and more people on Twitter, like working on their own stuff, and not even making a lot of money, but just like having their own little thing as a side project, for example. And I didn't really have a clear path to how I could get there. But there was some like income coming from all these small projects, or Lulu at some advertising. And I once built this app for like drawing your running routes, which I just put on the store and made some some money with it every month. And I think then with Suzy When Suzy came out, because there was so many people on the waiting list, like 10,000 people or something, and it's my first time like trying out subscriptions. And I would get like, I posted on LinkedIn, I would get like 50 New invites every day. So I was like, Alright, all these people want to invest money and stuff as well. So right, there is something here. And I didn't want to like go into the investment route. Because I would kind of feel like alright, but then I just have a boss again, because then there's something someone you have to Jeroen Leenarts: Yes. And then there's somebody else you have to please Jordi Bruin: yeah. And then they give you some money, you can do some stuff with it. But that money is mostly to grow as fast as you can, which was not like I'm at a point in my life where I, I'd rather work less and make less money, then work more and make as much money as I can. Yeah, I prefer less stress basically. And so for Suzy, when Susie came out, actually, so Suzie is a free app. But if you want to enable more than three different categories, for example, you want to be nuts, dairy products, and a vegan. There's an in app subscription. Yeah. And a one time payment thing, so and people actually were paying for that. So it's like, oh, I there's, there's like I'm solving this need for people, it's bringing in some money. Early on, I started paying like half my rents then a little bit more, a little bit more. So it kept growing. And it's now not at the point that I can like live from it, like, comfortably. But it pays for a lot of stuff in my month. And I figured, right well. This is a product that a lot of people love that is like cutting edge in terms that it uses, like new technologies. It's something I'm too sciatic about. I can like go a lot of directions with it. And I saved some money over the last year. So worst case, I just cut into my savings if for some reason. It would crash all the way down, but I don't really see that happening. So then I figured Alright, yeah, like, what's there to lose? Why wouldn't I do it? Now? Yeah, so I'm just in like a privileged position that I have to space in terms of money. And in terms of like my expenses and stuff that I did, I can can take that risk. Yeah. And worst case, I can always just get more clients in the future. And then I will have like this really nice experience. And I can really show like, Hey, I know how to market an app. I know how to work with customers, I know how to, for example, I became really good at app store optimization over the last year because I learned all these things to make my own app better. Yeah, I mean, if you do one day of app store optimization for clients, you can just save your rent for that month. But basically, so worst case, I could just go back to doing that. Or maybe like I, I, if there's like nice clients or like fun people to work with, I would still do that kind of stuff on the site. But I noticed that if I have client work as well, it's really difficult to, to then focus on your own stuff and to find time for it. Because if you're, if you have a client is always like another deadline or something else that's coming up. Yeah, there's an obligation that you have to meet exactly when it's for yourself. That's fine. I can do it next week. So you have to make your own internal deadlines and Jeroen Leenarts: our direct customers on the App Store, of course, they give you feedback, they reach out to you on social media channels, I guess, is that different compared to a paying client as in a company that's like paying a big lump of money? Jordi Bruin: I think it's because it's more indirect, like weather clients, there's actually got this communication with a person and they expect you to make something. And there's also there's also business interest from their ends that rely on whatever you're making. With with customers in the App Store, how I feel it's okay, and I make this product. I am really clear on what it does and what it doesn't do. The prices are cheap. It's like one euro per month or 10 euros per year or a lifetime thing that's between 13 and 20 euros Oh, yeah. And if someone would complain, I say guy sure refund here you have it for free, I don't really like it in a bigger picture, it doesn't really matter too much. What is sometimes a bit difficult this is like knowing how much your product is worth like, yeah. Early on, people said I should charge more for it. But it didn't really feel fair because I could look at the backside of the code. And I could see like how some of the stuff was building. Like, I'm not sure I would feel comfortable charging more for this. But like now that I'm adding more features, and the app is getting more robust, I'm at the point where I think in the next month or so I will probably raise some of the prices. And not necessarily because it would also make me more money. But I think it's also that, like, there's a lot of stuff you can do for free in the app. And it's fine. I don't I think like 90% of people don't pay, which is, which is fine. Because I want people to be able to use the app, and not only if you can like pay for it. But it would still be nice to have like the price reflect the work that you put in, because obviously a lot of time goes into making your own stuff. Yeah. Not for everything, of course. But for me at least like I tried to, like, put a lot of stuff in there. And just make it better and listen to people and yeah, so I translated the app into 18 languages. So I spent a lot of time with like, 1000s of words and like translating them and working with people to make sure it's correct. And yeah, at some point, you also have to think, right, hey, there's there needs to be something that balances this. Yes. Yeah. And I think it's just about like, how, how valuable Do you think your product is? And that's always a bit. Like, I literally get like five star reviews from people who say, I cried when I saw this app, because I've had to like check these labels my entire life, this has changed my life and like, like, what more can you make with an app than something that can like make people so much better? And then you still feel like, ah, can I really charge you euro for it? And so I think I need to grow into that. But that's also part of the reason why I wanted to go like dedicated on this just to professionalize my way of doing that a bit more. Jeroen Leenarts: Yeah. So more and more thinking about your product, which started mostly as a hobby, and then keep working at it. So that keeps the feel of a hobby, but they do run it like a business so that it is sustainable in the end. Yeah. And because I can guess that with the sushi app, there's a lot of data and forth all the labels, all the wordings all the translations. Also, because I read somewhere that you had some issues with recognizing characters from Scandinavian countries, all these diacritics and extra stuff on glyphs. Yeah. But but the data on the backend, is that a large data set? Or is it? Is it something you obtain from somewhere or it's Jordi Bruin: actually all in the app itself? So it's all done on device? Partly because I didn't know how to make a back end or database or anything. So yeah, that was just a way to do it. And partly because I want to, like it's a health thing as well. It's like a, I don't want any data, like, nothing goes at least a device. So I started with just searching some resources about like common allergies and translations. So I found this website, which had this list of about 200 words for common allergies and groups. And I figured out, let me just start with that. And then from there, I think in the month of April, and May last year, I just went to all these different, like healthcare related websites from all over the worlds, like government organization kind of things, because they would often have these lists. Yeah. And I pretty early on, I had about 1000 beta testers on test flight. And I had the option in the app that people could submit words that they were missing. Yeah. So if a user, for example, had a specific allergy day, they were just like, write me a meal and say, Hey, these words, you should add them. And I was, like, do the research on trying to see, hey, are these words actually part of his allergy group. But I also took the approach there that it's better to be safe than sorry that so I'd rather add some more words or words that are sometimes in that category, but not for everyone to just be just to be the sad Jeroen Leenarts: because of the allergy field. It's better to give a false positive then that you give a negative while it should have been positive. Jordi Bruin: Yeah, exactly. And that's actually also one of the feedback I got all the way at the start when when the app wouldn't recognize any any words it would say, oh, yeah, this destroyed like this, okay. When obviously, like, I don't know if this product is okay, because the scanner could have missed a word that could be misprints. That could be a word on that, I don't know. So there were all these like subtle things on how to on how to deal with the user experience there because I didn't want to, I will never like say, Hey, you can have this product, this is a good product for you to eat. So if it doesn't recognize anything, it will say something like, no, no matching words founds, be sure to double check. Just just to make that kind of stuff clear. So I think that the database that the app uses is about, I think, between five and 7000 words or something at this point. Not too bad. Now, it's actually cause for a lot of, for a lot of allergies, is that there's one one specific words, then, and then there's a lot of derivatives of that word. So as long as you have that initial words, you can already find love the other ones as well. And also, at some point, I was like I do, I want to manually make all these categories and like, keep them up to date and translate them in all these languages. And I decided that that's probably not what I should be focusing on, because I won't be able to do all of them. So the goal is to have a feature that users can can already make their own groups, but then to share them with other people as well. And to do it in that way. But that would involve a lot of like work from my ends in terms of integrating with cloudkit, or like, learning core data. So hopefully, they announce a new core data at WWDC 2021 saves me a lot of time, like, alright, just procrastinate until they make it easy. Jeroen Leenarts: Dani and I think there's not going to be much new in Core Data, speak so to speak. But we do think maybe some syntactic improvements will be added. But we'll see. And I did hear that Donnie will be updating his core data book. Pending all the announcements in June, Jordi Bruin: I have I have been on the verge of like ordering it. But every time. I'd rather work on some other features that I can already make now and not like have to. I mean, I know at some point, I have to learn that kind of stuff. We'll get better at it. Jeroen Leenarts: But let me know because maybe Donnie and I can organize a workshop. Jordi Bruin: Yes, yes, exactly. I'll make sure to join the September one, like, around I was 15. Jeroen Leenarts: Now you're putting me on the spot? Jordi Bruin: Well, maybe September is not a good month, maybe like November after everything settled down a little bit. So yeah. Okay. It's always this. This balance of Do you want to work on this really big feature? Or should I spend my time making like four other features? Yeah. So now after I made that, like the travelcar thing that will allow you to like explain your allergies, then I made unmute. And then to unmute, I learned some other stuff there. So then I started making a watch app. And then I made the widgets, and then like, did some more stuff. So I'd rather work on some of those things that just like really solve a clear problem instead of building this hypothetical feature, that in theory would be really useful if people use it in the way that I imagined it. But it's also because I'm still pretty, I would consider myself maybe like a meteor developer or something. Like I kind of know what I'm doing. But But I'm not like super good. So I'm learning a lot still, like every month. So just reading blog posts, listening to podcasts. And just like learning new new API's, which makes stuff easier than before. Yeah, so I have this approach where I'd, I'd rather just like, until I get to the point where I feel confident that I can make this feature that I already have thought it out in my head completely by thinking about it for a few months or something, then to to jump into something where I know I have to do a few weeks of research to really understand what's going on. So I've been wanting to do like notifications in the app before like reminding people of when their subscription expires, for example. And obviously, it's not super hard to use the User Notifications framework. But then a few weeks ago, someone made this really nice GitHub frame library called nice notifications was like, Oh, maybe I should just use this and it will take me an evening to make it and it works and I can focus more on how it can make the product better instead of learning all this stuff. So in that way it's a bit feels a bit like cheating, but it works for me and it helps me just get ideas out quicker. So Jeroen Leenarts: yeah, yeah, because I'm just on the data and I still have like, question you mentioned like it was like 2000 words that Jordi Bruin: are in the 5000 to 7000 5000 Jeroen Leenarts: plus words. Yes. Are those like translated words, or are those like, available in 18 languages. Jordi Bruin: So not all languages, or not all categories are available in all the languages. So there's some, some languages that don't have all the words. It's for all the languages combined. So Jeroen Leenarts: I think I have like 5000 Plus entries, and those entries are to some level translated in various languages. Jordi Bruin: And no, actually, it's like, so it's five to 7000 in total. So for example, if I would go to let me just check. So the app actually says how many there are. So for example, in the dairy category, there's about 60 words per per language. So that's what I meant, but a lot of to cover like 80, or 90%, of of all of them, you don't need that many words. Jeroen Leenarts: It's surprising how few words you can actually use to have like, on these packaging labels have enough quality of data that you can give a reasonable indication of the of the allergies that you might run into. Jordi Bruin: Yeah, because so so the main thing for Tuesday is, it's never going to find everything. But the thing is that if you pointed at a label, and it immediately highlights four or five things, then you immediately I can dismiss this, even if it's the super common ones, like if you're allergic to dairy, if the word milk is on there, yeah, of course, you're not going to be able to drink it, or have it. And this was also one of the things like alright, to like, keep adding new data and keep making it better and better until it's 99%, perfect or 99.9. Or there's, there's this like, it was already useful for a lot of people even before that, and, and because a lot of people are just allergic to a few specific ingredients. They can just make their own category with the words, they already look for themselves. And then it also works. So. And then because the users give feedback, so I think I just crossed like 1000 like category requests with people wanting like different new categories. That that works nicer in that way just to look at what what are people requesting, and doing it in that way. And now that I'm full time on it, I think I'm going to also spend some more time, like, on a recurring basis on like focusing on improving the word lists more or like diving deep in it, deep diving into it. But yeah, that's one of those problems that I don't think you can completely solve. Jeroen Leenarts: But is it something that you spend a lot of time on because of course, if you have with a product like Susy, there's also a risk that if you if with the scanning engine and the word list that's in there, if you start approaching perfect results, then at that point, people actually might rely too much on the response that he was given. Jordi Bruin: Yeah, and that's the difficult thing, what I mentioned before, as well, I remember, before launch that I got some messages or comments from people saying, Oh, you're going to get sued in the United States and all that that's in reality, I don't really think that's the case, because there's no proof that the app didn't scan anything or something about doesn't really matter too much. But that's why I'm super clear. Like when the first time you started, this is onboarding before you can even start the scanner where I explicitly say, hey, words can be missed, etc, etc. And then you click Agree. And then another pop up comes up that says, do not use the app if you have severe or deadly allergies. Because there's like to some extent, if you get a swollen tongue when you eat, like bell peppers, then it's not a super huge deal. But then an app like this will be really useful. So I'd rarely say, I won't be able to solve this entire problem for everyone. So I'm just going to be open and upfront about it and say, Hey, I'm not going to this. Don't use it in this situation. But like that, that almost I think the first two weeks I only launched the app in the Netherlands and Belgium. Because I was a bit like, oh, what can I launch is worldwide what what can i What's going to happen? Bla bla bla in terms of this. And then I figured out Yeah, like with any app, something can go wrong. You can search something on Google says, Hey, can I eat this? And then you find a Google result that says yes, you can eat this and then it's just a wrong Google result like yeah, I felt like the safeguards ahead were close enough and good enough that I felt comfortable releasing it and I haven't gotten any luckily I haven't gotten any messages saying otherwise. And I think that's because it's there's a really clear like double warning and it says I do not use this. If you have severe allergies. And again, like the Apple never say, alright, this is okay to eat this you can have this. Jeroen Leenarts: Yeah, it's only indicates that it was unable to find allergen Exactly. Jordi Bruin: And what I noticed from from feedback I got from people is that they would use it as like a second second, second guessing or like, just to double check, or that if you have an allergy, you already know how to scan the labels. But if you have a friend or your family or your, your, your parents who want to eat or cook for you, they you can just give them the app. And then they can just use this, which is already going to be a lot better than the alternative, which is that they don't know what words to look for. So it's already better than then what's there. So I see it more as a as an add on. Jeroen Leenarts: And also, in the grocery store. If you have allergies, it does speed up the the browsing aspect of shopping, yes, I see something new on the shelf, you can just point your phone it up, can't even look at this further. And then if there's no positive, then you can have a better look at it before you throw it in your basket. Jordi Bruin: Exactly. And the thing is that for a lot of people with allergies, they have to check every product every time because sometimes the ingredients can change from month to month, for example. So yeah, that's my goal is to get out of the way and just make it as simple as possible and just point it in within like half a second or something. It's so fast nowadays, with all the frameworks that that Apple has made. It will just like pop it up. And if not, alright, you can double check. And yeah, it apparently it's helping a lot of people already. So I'd rather just focus on the positives and not not too much on what could potentially go wrong in certain situations. Jeroen Leenarts: Cool. Let's change gears a little bit. I also want to talk with you about unmute, which is a totally different area of the iOS framework that you're using there. Because Susie is really focused on the camera and visuals and scanning the content, that that's in front of the camera. While unmute is strictly sort of like an output mechanism that you're utilizing of the iOS framework in the sense that you can have written census converted to Spoken text, and then you discovered that you could actually funnel that into a telephone conversation. So can you explain a bit about what the thought process behind unmute is? Jordi Bruin: Yeah, so like I said, it came from that text to speech functionality for Susie, where you would like be able to explain your allergies through text to speech. And I'm always just fascinated with how these new frameworks and new API's how you can like use them in the real world to make a use case, that will actually be helpful. Obviously, last few years, there's been a lot of focus on machine learning, and, and all these, like networks that can recognize if there's a cat or a dog in any image. But there's, like, all the technology is cool. But like if you can come up with a simple use case for I think that that's that's much nicer. And I think there was a bit same here where I had this technology, this new this framework. And it's like great, what, what could we do with this, and then I posted it on Twitter, and someone replied, like, oh, this would be nice for accessibility for mute people. So people who have trouble speaking or who cannot speak. Which I didn't really think about it too much in terms of like, what kind of product is here, it was also just hey, I can make this and I can make this work pretty well, I think. And it was also really cool. I was sitting here programming, and then I caught my roommate. And then I put my phone on mute. And I started just like tapping words, and he would hear it. So there was also this this sort of magical thing, right? What can you do with this? Like, what kind of use cases would this allow and because it's a robotic kind of voice, it it's, it's obviously it's kind of like the Siri from a few years ago. It's difficult to really imagine using it in real life. If you're not speech in be impeded, like you don't have a speech impediment. But then I posted it on on Reddit and I I posted it on Twitter, and I got some really nice reviews. And some people were like super, super like, like basic kind of the feedback I got with Suzy at the start which was really encouraging because I reached out to some communities, with with deaf people and with with people in the mute community just to understand because it's often easy to just make a thing and think, Oh, I'm just gonna solve all their problems. But here like I literally didn't know because up until five days before that I had never thought about that community before because it was only after my friend like mentioned that. So then I figured out maybe I can maybe I can just like make something here and then think of scenarios after I made it because for me it's always easy if you want to easy but it's, it's easier if you have something tangible that you can try out. So when I had the app and when I, like started doing these, like test phone calls with my roommate, I was like, oh, would actually be nice. Like, if you're, if I'm in Italy, for example, and I want to make a reservation at a restaurant, I don't know how to make a reservation in Italian. Obviously, you can discuss if that doesn't work online. Now, if you don't just make a reservation to an app, but it's like, Oh, if the app would have like predefined lists for make a reservation, and you would fill it all in, in your own language, and then it would translate it to to Italian. And then I was also trying to get the audio input from the phone call. So if you're talking to someone that it would like translate speech to text, so you could, as a deaf person also see what the person is writing. I think their Apple kind of blocks that in terms of privacy, so I'm not really sure it's technically possible. But Jeroen Leenarts: yeah, did they read lemon tea, the text? Now the speech text API? I think it is, Jordi Bruin: oh, well, the API itself worked pretty well. It was more that it was not possible to get the audio output from the phone call in a way that the device could use it. And I'm not sure if that's like a technical thing of me just not knowing the API well enough. But I tried a lot of stuff. But I think also a few months few years ago, they started like blocking all these phone call recording apps, or I think it was just never really technical, technically possible unless you use a third party device or a third party service. But yes, I didn't know that I have the app and not now it's like, oh, what can I do with this? How would people use it and then I then maybe I'll come up with like a new app ID in the future that I can just reuse some of these concepts for or like transform it into a prank app or something, I don't know. But for me, it really helps when I have something that I can like, see and experience. And I had the same thing a few months, a few weeks ago, there was this new sample project from Apple that uses AR kit, where you can have like two phones. And on the one phone, you can see what the other person is seeing. And you can like tap on it. And then the other person will see like stuff in their worlds. It's the classic example of your mechanic and then someone from far away, taps on Alright, open this motor block, and then you get the instructions in that way. And now it's just a sample project that you can just download and see how it works. And then, alright, what if I want to make something different with it. And so for me, that really works to just like, try it out, and then have it and then to see how you could use it. And also just try to keep it simple, like just do one thing really well. And don't make it too big because I tried making like bigger apps in the past that would look require a social network or would require these complex integrations. And I would always just like work on it for months and never release it. So now I try to every idea I ever try to if I cannot like make the first version in a weekend, I'm not going to do it. Because if I have a first version, I can try it out and then can see why would I use this? What do I want to do this for? So yeah, I also, for example, with unmutes, I have plans for the accessibility stuff. But I don't really see on mute becoming a super big app or something. But it's just like a nice little thing I made that helps people and yeah, taught me some skills. So that's also fine for me. Jeroen Leenarts: Cool. Let's see. So yeah, a little while back, you mentioned about you switching from contract work to doing like, indie development full time. And that you it does did sound that it didn't feel for you that you were taking a big risk, because you had some savings and hey, if it doesn't work out, I might have just dipped a bit in my savings. And then I can just do my contract work again. Yeah. Is it something that you are able to do? Because you because you have like great ideas or because you have like some savings on your bank account that allows you to take such a chance? Jordi Bruin: Well, it's like the income from my from my different projects would be enough to just like, keep myself going from month to month. It wouldn't allow me to save anything or anything but so in that way, in that way, there's there's not a really big risk. And then there's some savings, which make it easier, but I think if your savings would go down like three months, four months at a time, you would start getting a bit like anxious about it as well. But I think that over the last year I prove to myself that hey, I can make stuff that makes that's useful for people that makes money that gets featured by Apple. So like Suzy was featured The first month after came out, so it's been in those lists are like, hey, there's something here. I can like build on top of this. Jeroen Leenarts: And do you see yourself in the future as somebody who's having like, a portfolio of epsilon? I don't know, maybe four or five apps that are really, that bring in the bacon, so to speak? Yeah. Oh, are you seeing yourself more like a David Smith, kind of software developer has? Like, I don't know, how many on the star? Jordi Bruin: Yeah, I'm not sure if 20 will be like, I think he is it like 50 apps in total or something? Yeah, remember, you Jeroen Leenarts: say it's amazing. Jordi Bruin: I mean, like, once you, if you keep your apps very simple, and just make sure that they work well and don't need any maintenance. I guess that could work. Like that app I was talking about before, which is just, if you want to go running, you want to see how long your route is you just draw it on the map. Yeah, I built that a few years ago, and just made it two years. Now, sometimes it's one year or sometimes two, it just brings in some money every month. Yeah, I guess some, like something like that will be nice. If you just have an idea, just make it put it out there and see where it goes. But I think I would prefer having a few like, one or two apps that like perform well and like bring bring in my income every month. And that allow me then to have the freedom to just only work on like, stuff that I like, I already kind of have that situation where I can just work on stuff I like, but it would just be really nice to to have that freedom and to, to have these things that you that that you build up to a level that they bring in enough money to just live from. And then because with for example, with Suzy, it started as as something for the girl I was seeing. So it was like very intrinsic motivation to make something for her. But she's not no longer in my life in that way. So like, some of that spark goes away over time. So the spark is no different. It's it's more about how I'm making this really nice product and getting feedback from people and improving it and adding new features. But ideally, I would have like, I mean, I've ton of ideas of things I would really want to make for myself. Ideally, I would want to just work on those things. But I also know like, Hey, I have this really nice product. Now, that's been successful for the last year. Right, let's put in the effort into making that better and improving it and getting it to a certain level. But yeah, definitely, the goal is definitely to have multiple things and not just not just focus on one thing. Jeroen Leenarts: And are you more inclined to to work with subscription based products? Or one time purchase? What was your what is your what are your thoughts on that? Jordi Bruin: It's, I think it's a difficult thing. Because I of course, it's a difficult thing, because it's been a discussion in the community as well for so many things so many years. But yeah, so with Suzy, I did spot subscription and the lifetime. And the lifetime is I think one and a half times the yearly price. So it's pretty good deal if you're enthusiastic about it. Yeah, I think less than 5% chooses the lifetime. And the nice thing with the lifetime, of course, is that you get a big, big amount of money upfront. The nice thing with the subscription is that over time, it just keeps going up what you get every month. So every day, you just get a few small subscriptions coming in from different like monthly or yearly, yearly things. I think, if it's a super, super simple, small thing, I would just do a one time thing, where it's like, hey, write this the app, this part is free, you can unlock this for a certain amount of money. But I think the main thing there is that I wouldn't rely on that app then to to be a significant part of my income. So it would just be like a side thing, like a small thing I made that has some value. Because I think if you want to be working on something for a longer time, the incentives for the customer need to be aligned with you as well that if the if the customer wants the product to become better, they should also want to pay for it. So I think it's also a good, good. A good way to show and I am serious about this. But you also need to be serious about this product if you want me to keep working on it. Like you cannot expect me to work on it for free, and still expect it to be really nice. So I think by offering free functionality and just making sure that users can use it for free as well and that there's no real limitations. For example, with Suzy you can in theory if you have 10 allergies, you can enable three scanner products. Enable three others scanner products, obviously that's not a great way to use it. But if you if you want, you could use it all for free. But if you want to have a better experience that works just a bit nicer and a bit faster, then you can pay for it. So it's like you get sort of a superhero version of the app, like that's just improves. And not in a way where you like luck, too many features behind it, but just like, hey, try this, use this. And if I do a good job, you will want me you will want to reward me for it as well. But I'm also still figuring out how that works in because I don't think it's like, ideally, you would want there to be just a very simple mathematical equation like, alright, this is my app, and these things should cost money. And if I make these things space, then I will make this amount of money. And this many users will use the app. It never really works like that. So it's it's something you have to also feel and like, also with the pricing. Maybe I should just like raise the price, triple the price for a week, just see what happens. Just maybe I should just make it free. Or maybe I should it's only half the lifetime just to see what kind of stuff happens. Yeah. But it's also again, it's not a priority meet for me now to experiment or to make as much money as possible to optimize that in the biggest way. But I see that as one of the things that I want to learn in in this year desta to also have meaningful discussion discussions with other people that come from a, I've tried these things like this, this is what happens. And yeah, I think it's just a really good skill to learn. Because it really says a lot about the app industry about how do people how do people perceive value in a product? Especially with something like Suzy, because it's for these people that have allergies? It's like, like a really quality of life improvements. So is it are people more likely to pay for that, compared to something else? Maybe I can do something where you get some extra stuff for free if you share the app with your friends, because maybe it's more valuable for Susie, if more people know about it, compared to one extra person paying 10 euros for a yearly subscription. So yeah, there's a lot of stuff I'm experimenting with there to just to understand what what works and what doesn't work. Jeroen Leenarts: I can I can, I can see where you're going there. What's your what's your thoughts? Yeah, it's always interesting to hear that compared to like, of upfront, like upfront payments, that it's, it's convenient, it's simple to implement. With the subscription, you can really create a trickle, that starts growing into a flow of of income that is sustainable, actually. And also, what I've understood is that if you have subscription based products, then the whole relationship that you feel with your customers is different. Because as when it's a subscription, you're really creating the software for your users. And if you're doing an upfront purchase, you're really creating the software for your potential users. Because you have to, like convince people to, to convert to pay. Yeah. While as they are a subscription, you're really working on your product to make sure that people stay with your product. Yeah. And that's, that's something that's very interesting, the dynamic that can actually change, and how you actually develop features on the product. Jordi Bruin: Yeah, yeah. And one of the things I find most difficult there is I use revenue gets for my subscriptions. And what you can see is when particular sufficient was last active. And sometimes you see a user that hasn't used the app in a few months, but is still paying like the monthly subscription. That's the thing I find a bit hard sometimes. Where, where you know, that I this person doesn't use the app, but they're still paying, is that fair? But it also makes him money. It's like, it's also nice to so so for example with with, with Lulu, which said like date picker thing, there's ads there, I hate ads. So I I'd rather not use ads, but it's like an app that people just send it to the group chat and they check it for one second, and then they never use the app again that month. So I think it's the only really a model that works there. So what I did there is I just added this button at the bottom where people can disable the ads, like for free just click a button and then there's no more ads. And then below that they have like sort of a Pay Pal kind of link that says it's an tikkis FMR where they can say alright, you can also buy me a cup of coffee and every now and then I just get like a random person says Oh, thank you for making this year's five euros. And so I think it's also nice to, to fight try all these different ways and not not to have it be too mechanical and how you implement it. Jeroen Leenarts: But does a cup of coffee taste better when you pay a bit? Yes, yes, Jordi Bruin: definitely. Yeah. So I have my separate, like little bank account that it comes in. And every time I like, want to treat myself, I use that money. It's like, oh, yeah, I, it helps someone. And it's just really cool. Like, sometimes I don't get them for weeks. And sometimes I get like, three in one week. And then I also see the names of the people. And it just Yeah, it's it. I think that's really nice. Just to know that actual people are using your your things. Jeroen Leenarts: Okay, cool. Yeah, I think, looking at the clock, it's about time that we start wrapping up our reading. Is there anything that we missed? Or that you say? Okay, we definitely should mention that. Because we talked about your two most important products right now. Jordi Bruin: I think, what, what if, like anyone wants to get into this kind of like way of working. What works for me is, for example, next month, we have WWDC, and Apple's going to announce a lot of new things. And what you see every time around the launch of the new iOS is that people just make apps that focus on like, one of the new features. Last year, obviously, it was widgets. But like, there's all these like new new opportunities coming up, where you can just make something very simple. With some new technology, which is just like cool to try out, you're like cutting edge. And you're also solving problems that just literally couldn't be solved until that date that I was 15 comes out. So I think if you just have the ambition to start making your own things just focus on like one really simple thing. And one really, like novel idea. And just put it out there and just get feedback and just see what people think about it. And worst case, you've learned to ship an app. Best case, you build an app, and then from that point on, it makes you some money every month. So I think that's that's it's really nice to have that opportunity in the field that we're in where you can just just solve problems and help people. Jeroen Leenarts: And it also helps that seems that the the iOS community is really welcome to people just trying out stuff and sharing things that they're working on. And I think that's one of the best parts of being a software developer is just to be able to reach out to people online and in your local network and just tell what you're working on them just getting an enthusiastic response and people actually providing you with some tips and great ideas every now and then. Yeah, and Jordi Bruin: especially if you do it the other way around as well. Like, if you have if you see someone's work, just just let them know what you think about it, just use it, try out the test slide and give feedback on some small things that they may have overlooked and that you saw. Because yeah, I've met so many friends like over the last year to working on Suzy and through working with iOS stuff. So yeah, I think it's just a really nice opportunity for everyone to to take advantage of. Jeroen Leenarts: You already thanks for your time. Yeah, and thanks for having hopefully, once. Once this whole Corona thing is a bit settled down. We can meet each other at Cocottes. Now meetups, Jordi Bruin: yes, that's a good idea. Looking forward to it. Jeroen Leenarts: Maybe share a coffee or something a little bit, Jordi Bruin: we'll pay for it. Alright, thanks a lot.

Keep listening

More from the show

Image
Title