Issue #22 - Yilei Yang
Happy Monday, everyone!
We made it to the 22nd issue! Thank you to everyone who read last week’s issue ❤️
📆 Today I’m featuring Yilei Yang.
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
Software engineer at big tech company and creator dA Baby and dA 5Star
1) What is your name? Where do you live?
Hi, my name is Yilei Yang, but I have been using Dolee as my nickname on the internet. I currently live in the San Francisco Bay Area, California.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I am a very conventional software engineer in a big tech company. In 2010, I graduated from Tsinghua University in China with a bachelor of computer science degree. Then I got a master’s degree in the US. After graduation, I briefly worked for a financial consultant company as a software engineer in Chicago for about 6 months. But I didn’t like the job. Luckily, I was then hired at Google in New York. Although at that time, my wife was still in her Ph.D. program in Chicago. This means I flew on a weekly basis between the cities. After my wife graduated in 2015, we moved to the Bay Area and have lived here since.
Inside tech, I’m interested in developer tools and programming languages. Outside of tech, I like hiking and I’m also into collecting house plants.
3) Have you ever considered yourself an indie developer?
I have a happy normal software engineer day job for more than 8 years, so I don’t strictly see myself as an indie developer right now. However, I make indie apps in my spare time. This could just be a lifetime hobby, or if opportunity does arrive I could become a full time indie developer.
4) What got you started/interested in creating your own applications outside of your “normal” job?
I think I have been making my own applications since the beginning of or even before my entire career. In my high school years, electronic dictionariesy for learning English were very popular. The one I got came with an application that you could program in GVBASIC, a language derived from GW-BASIC. I remember I spent all the time between classes typing on this phone sized keyboard, trying to recreate the Tetris game. The screen can only display a handful lines of code, and I had to draw every pixel by code. But in the end the game was playable and I felt greatly accomplished. Since then, I knew this would be part of my life: programming things on the side just for fun.
Fast forward to my master’s degree program, I took a few classes related to computer graphics. One of them was physics based animation. For the final class project, I made a physics based game and it was selected as the best project in class. That experience pushed me further into games. I found myself again making games between classes, this time using Unity and for iOS.
Later, even though I chose to have a different day job, I kept working on my games every now and then during nights and weekends. I released three games on iOS and Android: Cube Cube, VR Plant Defense, and Steady Drop. But I slowly realized that I want to find something I can work on and keep improving for a really long time. For games, there is usually an end to the development cycle. You are mostly done once they are released. Eventually I “pivoted” myself to making apps.
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
I am very lucky to work on teams that care about employee work life balance, and I learned to detach from work when I’m outside of my job. For other parts of my life, family always comes to first. And then indie dev is my biggest hobby.
One thing helped me detach is to have different spaces for different things. For example, even though now my work also happens in my home, I do have separate desk spaces for work and for indie dev.
6) dA Baby - I can’t thank you enough for this app! My wife and I had our first baby a week ago today and dA Baby has been a so key helping us take care of our little guy. What’s the story behind dA Baby? What inspired you to create this app?
I am very happy to hear that dA Baby is helpful. Like many other indie apps, this app happened because I needed one myself. When we had our baby a little more than two years ago, we were searching for an app to help us track various baby activities. There are many baby tracker apps out there, but we couldn’t find one we like, especially with a great first launch experience. Either you have to register an account and enter your baby’s birthday before doing anything in the app, or the UI is confusing to use. As a result, we just went back to pen and paper. Our baby grew up, but the lack of a great activity tracker app still bothered me. So I got my hands dirty, launched an MVP version 6 months ago, and kept improving it.
7) dA Baby - Having an app in the baby space seems like a fun category to be in as there are always new parents/users 🙂 What kind of marketing do you do to reach these new users? I’d love to help anyway I can because all parents should be using this. What can we do to help? 🙃
Honestly, I haven’t done much marketing to reach new users. I only have limited time to work on dA Baby, and I’m still primarily focusing on a few big features I originally planned, including growth charts, Siri Shortcuts support, and reminders.
So far, I think word of mouth among parent or parent-to-be friends has been somewhat effective in bringing new users. And of course, a review on the App Store helps a lot, both for users to find the app, and for me to be more motivated (more on that later 😉).
8) dA Baby - The iCloud sync that comes with premium is my favorite feature! I think is the feature that really sold it for me. It’s so nice that both me and my wife can stay up to date. I always struggle when adding in iCloud integration 😝 How were your experiences with iCloud? Was this an original feature that you had planned?
iCloud share is the key feature in the first version. Me and my wife needed to track activities together, and I knew how many apps turned us away by requiring us to create an account. Not only is it inconvenient, but also for security and privacy reasons, I’m not comfortable storing such sensitive data on some unfamiliar company’s servers. If you search for baby tracker apps today on the App Store and look at their privacy nutrition labels, you will find out just how much information is being collected and linked to you. iCloud sync & share is the best solution.
This was not easy though. I spent two months adding iCloud integration to dA Baby. Watching all the iCloud related WWDC sessions helped me get started. I also relied on lots of testing since there are just so many edge cases. And I still keep finding more edge cases when my customer contacts me about an issue they have with iCloud sync or share. The positive side is, I structured the code in a framework shared with my other projects. So any improvements would benefit my other apps too.
7) dA Baby - I don’t know how I just discovered the medium widget that shows actions and recent activity but it’s so 🔥 Did you create dA Baby before widgets were possible? Did you know that adding widgets was going to make dA Baby like 1,000 times more awesome? 🙂
I launched dA Baby a few days after WWDC this year, and I knew I had to add widgets support for the iOS 14 launch in September because they allow you to log activities faster. But like everyone else, what I didn’t know is that widgets turned out to be so big. I quickly decided to add 8 more widgets, hoping more people could find them useful.
8) dA Baby - I just love the interface you’ve created for dA Baby. It’s super functional and simplistic yet informational. It’s exactly what I want. Not a question but have this 🏆 for design perfection!
Thank you. I’m not a designer but I do like to play with the UI in code to make it better. The app is written in SwiftUI. It made fast UI iteration possible so I can achieve good results in a short period of time.
9) dA 5Star - This app is completely different than dA Baby but I also love this app too 😍 I’ve been using this with ConnectKit to check in on my 5 star reviews. What’s the story behind the creation of dA 5Star? Did you just want to spread some positivity in this world? 😁
dA 5Star was originally a Mac only app and it was actually not my idea. In July 2019, I was listening to EP 56: The happiest Customer of the Independence podcast. Curtis pitched this app idea:
A mac app that will sit in your menu bar. You can feed it your iTunes connect information. And it will go to your ratings, pull random 5-star ratings every however many hours. And have it like those motivational quote things, but have in your wallpaper.
After this episode, I just couldn’t stop thinking about it. As developers, we all experienced those 1-star ratings that ruin our day or week. We humans are bad at ignoring them. We fail to remind ourselves that there are more important 5-star customer ratings out there. So I immediately created the Xcode project and started implementing. On the next day I sent the hosts @eataduckimust, @parrots, @jellybeansoup a demo. I got great feedback and launched the first version in two weeks. I later then released 5 updates to improve it.
I didn’t expect other huge updates to the app. Until one day after 2020’s WWDC, I realized that this app is now viable after the introduction of iOS 14 home screen widgets. So the iOS version was born. The launch went far beyond my expectations and I am really glad it’s spreading positivities among developers and podcasters.
10) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
The most fun parts are the moments when my customers (including you Josh!) contact me for either an issue they are having with my apps or just saying how my apps are helping them. This is really the part that makes me continue making apps in my own spare time.
The most challenging part is marketing. Without spending advertising money, it’s really hard to find audiences. The dA Baby also has a unique challenge that it has a short life cycle for all its users. Once their baby/babies grow up, they will stop using it. This means it has a significant churn rate by nature and I need to constantly find new users.
11) Is there anything else you’d like to tell the indie dev community about you?
I think I have said most of the things. If you are using my apps and haven’t already said hi, I would love to hear from you =^_^=
12) Do you have any other indie devs that readers should follow / lookout for?
Thank you to everybody who made it to this footer! You either spent the time to read or took the effort to scroll 😊
Make sure to visit https://indiedevmonday.com/subscribe to get an email of future issues!
And go to Twitter and give @IndieDevMonday a follow… or multiple follows if you manage more than one Twitter account 😜