Issue #96 - Andrew Zheng
Happy Monday, everyone!
We made it to Issue #96! Thank you to everyone who read last week’s issue ❤️
Deep Dish Swift is the best pizza themed iOS and Swift conference being held in Chicago May 5th to May 7th in 2024. The conference brings togethe Swift and iOS developers of all experience levels and backgrounds in an inclusive environment to share knowledge and experience from a diverse set of speakers. There are talks and a live podcast recording specific for indie development and also two full days of Swift and iOS talks!
Today’s Spotlighted Indie Devs
📆 Today I’m featuring Andrew Zheng.
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
Indie Dev
Andrew Zheng
Q&A
1) What is your name? Where do you live?
Hello! I’m Andrew Zheng, hailing from Walnut Creek, California.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I’ve never written a complete introduction — instead I kind of just swap around bits and pieces depending on where I am. Online, it’s usually “iOS Developer.” On Yelp, I say “Piano Teacher.” At work, well, officially I’m a part-time fast food worker at a Mexican restaurant called Rubio’s. It’s a pretty great place and you get free food, and I also get to practice speaking Spanish!
Education? I’m currently still thinking about which college to go to. I’m still not sure on what I’m going to do in the future. I come from a family that doesn’t have much to do with tech and prefers more artistic professions like music and architecture (which I actually do like). When I was younger, my mom taught me how to play the piano, and my dad did drawing with me pretty much every weekend. Piano and drawing are still part of my life, but as I grew up, I got more interested in computers. I’d spend less time practicing piano and more time coding. Instead of sketching buildings I’d sketch apps.
App development eventually turned into my main hobby. I really like Swift. Xcode is great too, despite what people say about it. For the past year I’ve also been a SwiftUI fanatic. People sometimes give me funny looks for saying this, but this stuff is just incredibly fun for me.
3) Have you ever considered yourself an indie developer?
A bit. I’m the only one coding my apps so that kind of fits the definition. But the weird fact is that I’ve made exactly $0.00 from writing code even though I’ve been doing it for the past three years. I could even consider myself in debt, seeing as I’ve paid Apple $300 for three years of the developer membership. So is this really even a job? Looking at it objectively, my real job is at Rubio’s, flipping fish tacos. I’ll figure it out later.
4) What got you started/interested in creating your own applications outside of your “normal” job?
I’ve used apps and games for most of my life. In elementary school we made comics with a comic maker app in the computer lab. For homework, my teachers assigned online math games (they were terribly written and exhausting). I’d also play a bunch of games like Temple Run and Subway Surfers. Somewhere along the way, I came across the Consumer vs Creator debate. Like any little kid, I wanted to leave an impression on the world and actually make something useful.
8th grade was when I stopped simply planning things and actually started working. I had a bunch of ideas that I was sure would be an “instant hit” and make me famous, and one of those was an app that could find text in real life. (Yeah, that’s Find. Three years later, nothing life-changing has happened!)
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
Since I’m coding by myself and not getting paid, I have no deadlines, so I’ve never had the misfortune of doing a scrum sprint. School gets demanding, but since not all assignments are weighted the same I can just not do some of them (hehe). Rubio’s sucks the energy out of me (especially when everyone calls out and you’re the only one in the kitchen) but I’m exaggerating. Sometimes I feel like there’s so much unfinished work to do, but it’s really never that bad.
6) Find - This app is super useful! I’m so bad at finding words that I’m looking for in photos and documents (looking at you government letters and tax documents) and Find can help me find what I’m looking for 🙌 Where did you get the inspiration for Find? What problems were you facing that made you want to make this?
Originally it was just an app to help out with school. My Spanish teacher liked to hand out these worksheets where you read a paragraph and then answer the questions. They were easy but took up lots of time, so I built Find to automate it. Since then, I’ve expanded the app based on user suggestions — for example, I added the Lists feature that lets you scan for allergies.
7) Find - Onboarding animation is so dope! The way that “Find” and other icons zoom into the view is so smooth. The ongoing animation of icons flipping is just gorgeous. Like uh… how did you create this?! Where did you get this idea from? This kinds of things can really make an app standout and I love to see this 😍
Thanks! It’s just RealityKit and SwiftUI. I’ve published the source code on my GitHub. On the App Store, you’re dealing with grumpy users, so the first impression really counts. I wanted to do some sort of nice-looking graphic, and since I don’t know how to use After Effects or Blender, I just coded it.
8) Find - I was reading through some of your reviews on the App Store and I saw one from a blind user. I never thought of that kind of use case but Find can really help the visually impaired read photos and documents and find what they need! Is this anything you ever thought of? Have you heard of any other cool stories of how people use Find?
I’ve never thought of that use case either, nor accessibility as a whole, until that blind user left me a comment on Reddit. These were his exact words:
Sounds like a really good app with a lot of potential. Unfortunately, I won’t be able to use it. Though well intentioned and appreciated for the work you put into making this app, you like many Developers have failed to pay attention to issues of accessibility. I’m a blind person who uses the VoiceOver, screen-reader on my iPhone. Such an app could be extremely helpful to folks like myself in many ways. If you were to ask Siri to, “Turn on Voice Over” while in your app, you would noticed that since you haven’t labeled the buttons properly, all the screen-reader says is, “button,” thus making the app for someone like me unusable.
Yeah, so that was a huge slap in the face, but it was also a great wake-up call that apps should really be for everyone. From then on I’ve been committed to making Find as accessible as possible. For low-vision users, Find now has full VoiceOver support. For those with allergies, the Lists feature can help pick out the ingredients that matter enormously (someone who’s dyslexic found it pretty helpful). For general purposes, Find can search your photos for the ones that you need right in the moment. When we were taking AP tests last week, one of my classmates forgot their Student ID, but was able to find a photo of it using the app. Find might have saved his grade!
9) ProgressGif - I saw ProgressGif on Reddit months ago and wanted to ask you to be on Indie Dev Monday back then but totally lost track of the post and the name and I was so heartbroken. I’m so happy that I just refund you! Adding a progress layer to a gif looks so cool. Where did you get this idea from? I love it and feel like every gif needs this.
I blog about coding on Medium, which only supports gifs and not videos. Well, gifs are nice, but the problem is that you don’t know when they start or end. Usually this doesn’t matter, but when you’re writing a tutorial, it can get confusing for the reader. Adding a progress bar makes it a lot clearer. Besides, I’ve always wanted to try out video/gif compositing with AVFoundation.
10) Find, ProgressGif - What’s next?! Do you have any future features that you can share with us?
This week I’m adding searchable photo notes to Find. After that, probably metadata search (e.g. color, dimension, file size, date). I’m also planning a Mac app, which a lot of people seem to want. Even further in the future, maybe an online platform for sharing Lists? I’ll need to learn JavaScript first, though.
11) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
For me, the hardest part is developing features that people actually want. When I first started coding I just threw in everything that I thought was cool. The result was something that only I myself found helpful — no one else actually needed it. I’m still struggling with this, but thanks to an increasing volume of feedback, I have a better idea of what to do.
The most fun part is the whole process. Making apps isn’t just coding, it’s also designing, marketing, making graphics, getting user feedback, submitting to app review, sharing with friends. It never gets boring.
12) Is there anything else you’d like to tell the indie dev community about you?
Not really about me, but I just want to say, don’t burn yourself out. Maybe work at a restaurant for a bit, or pick up an instrument, or read a physical book, instead of sitting in front of the computer all day. I’ve done that before and it isn’t good.
Aside from that, I’m always open on Twitter (@aheze0) if you’d like to chat!
13) Do you have any other indie devs that readers should follow / lookout for?
My friend H. Kamran is working on a couple cool projects. He really knows what he’s doing and has helped me out with so many things, whether it’s source control or web frameworks. John Nastos (@jnpdx) is another really cool guy. On Stack Overflow he has answered thousands of SwiftUI questions, out of which at least a dozen were mine. He also does jazz, which is something I’d like to try in the future.
Newly Released and Updated Indie Apps
Here are some newly released and newly updated apps from this past week! If you would like to possibly see your app in this list, please submit your app to the look at me form 👀
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 😜