Issue #77 - Alex Staravoitau
Happy Monday, everyone!
We made it to Issue #77! Thank you to everyone who read last week’s issue ❤️
Deep Dish Swift is a brand new conference being held in Chicago April 30th to May 2nd in 2023. The conference aims to bring 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. The first day is focused on indie development and and the next two are focused on Swift and iOS!
Today’s Spotlighted Indie Dev
📆 Today I’m featuring Alex Staravoitau.
That is a quite the lineup of apps that Alex has put out! tinkerstellar is Alex’s newest app. I played around it this past week and its so 🔥 I’ve learned development from a lot of different kinds of sources over my years and tinkerstellar looks to be one of the best! It’s fast, beatiful, interactive, and full of great content 💪 I didn’t have time to go through all of labs but I do plan to spend some time learning machine learning from tinkerstellar. I would definitely recommend you give tinkerstellar a try if you are interested in learning coding and data science! Also give Juno and Juno Connect a try if you are a Jupyter user 😊
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
Indie Software Engineer and creator Juno apps and tinkerstellar
1) What is your name? Where do you live?
Hey 👋 — I’m Alex Staravoitau and I live in London.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I’m a software engineer, and I primarily make iOS apps these days. Although I’ve been lucky to have worked in various capacities and with different technologies over the years: I used to code in Swift, Objective-C, C/C++ and even a little bit of assembly in one of my earlier gigs! My educational background is maths and sciences, and when ML got on my radar in mid-2010s, I found myself quite fascinated with it. My other big passion is great design and user experience in general, which I’m trying to manifest in my apps (with varying degrees of success). My main interest outside of tech is music, I used to play several instruments, although at a very much amateur level.
3) Have you ever considered yourself an indie developer?
I guess I started considering myself an indie developer back when Juno Connect made its way to the App Store in 2018 — the first of my computational science apps. It wasn’t until last year that I left my full-time job though, so for quite a while I’ve been an indie dev with a “normal” job! 😁
4) What got you started/interested in creating your own applications outside of your “normal” job?
I always enjoyed building things — and not just writing code, but also mapping out product strategy and shaping the product in a more general sense. So I guess I had that itch that needed to be scratched, and when I saw an opportunity in the field that was of huge interest to me anyway, I figured I should give it a go.
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
With difficulty! 🙈 Although it got much easier now that I don’t have a full-time job and can focus on my own products.
6) tinkerstellar - Congrats on your recent release! 🥳 I saw the announcement on Twitter and I was so excited to try it out but my iPad was dead 😩 But I fell in love instantly with tinkerstellar! I started the ML labs and I’m really looking forward to finishing them. But let’s start at the beginning… When did you start working on tinkerstellar and what was your inspiration?
So, the idea of an educational app came to me when I was working on Juno and pondering where it could potentially go long term. It did take me another couple of years to actually start working on it in 2020.
Apple’s Swift Playgrounds app was a huge inspiration, of course, but I’ve always been a big advocate of interactive learning in general. I still remember vividly all those massive printed CS textbooks I had in school, full of long code snippets on every page — and how I wished there was a simple way to run those pieces of code right away, and just kind of… Tinker with them. Tinkerstellar offers exactly this: you can think of its labs as textbooks, where you can edit and run code examples straight away — it hardly gets more interactive than this when learning anything code-related! 😅
7) tinkerstellar - Ignoring the awesome learning content and interactive Python environment, tinkerstellar is an amazingly beautiful app! The app started incredibly fast, the artwork is gorgeous, and the transitions are smooth. First, have this 🏆 for making. me love the app before even using the app. Second, do you have any tips or secrets to making a highly polished and performant app? And do you do your own artwork?
Thank you! So no, I don’t do the artwork myself — I actually have several part-time contractors, who help me out with various tasks across my apps. One of them is an incredibly talented artist from Belarus (that’s where I’m from, too): https://www.behance.net/nickvector, she is responsible for the labs’ cover art.
As per tips on making apps polished, I’d say the most crucial part is to keep polishing them. 🙃 Attention to detail and learning to listen to your gut on what’s important are key here, I believe.
8) tinkerstellar - The content and lessons are so well done! I’ve been developing for 15 years and there is still so much for me learn in tinkerstellar 😊 I’m really looking forward to the ML labs though. I’ve never been able to grasp ML but the first few lessons have helped a lot 🙃 How do you come up with all of the content? Have you taught or written a lot of tutorials in your past?
I indeed used to write tutorials for my personal blog in the past (like this one), although a good chunk of Tinkerstellar content is currently based on materials that I found online and merely adapted as labs — with proper attributions and where license permitted, of course. I’ve also managed to recruit several very talented educators, who are currently helping me with Tinkerstellar’s future labs. I’m actively looking for more content contributions by the way, so if you are reading this and think you could help, please do reach out!
9) Juno, JunoConnect - I love writing this newsletter because I learn about so many new things! JunoConnect looks to be an iOS client for Jupyter Notebook and Juno is a local development environment for Jupyter all on your phone. And Jupyter Notebook looks to be a web application for creating and sharing computational data. Did I get that correct? 😅 This seems like it can get really complex but the Juno apps look really well done! How did you get in to making apps for Jupyter? What kinds of documents are made? Do you have any example documents that you can share?
Right, so both Juno and Juno Connect revolve around a widely used, open-source tool called Jupyter. Jupyter is an interactive computational environment, think IDE but with a “playground” flavour. Jupyter uses its own document format called Jupyter notebook, which allows storing code and code output, markdown text, plots, images and LaTeX equations — all wrapped into a single notebook file. This playground approach fits data analysis tasks really well, so Jupyter caught on and is now widely used in scientific community, academia and MOOC. And rightfully so — it’s free, open-source and is overall an incredibly versatile tool: you can use it on your local machine, or with some powerful cloud computing cluster as a computational backend, such is the power of Jupyter.
I came across Jupyter back when I got into ML and computational science, and was quite fascinated with it. And as an avid iPad user, I saw it as a very promising platform match for Jupyter — with iPad’s powerful hardware yet odd OS restrictions, and Jupyter’s backend agnostic architecture and focus on documents rather than executables. Naturally, I decided to try and marry the two! 😅
Worth noting that all this makes Juno apps highly dependent on open-source software, so I donate 10% of their sales to open-source projects that made my apps possible in the first place — such as Jupyter.
10) Juno, JunoConnect - What was something cool you learned while making Juno? What was the hardest thing you came across while making Juno?
I honestly keep learning new things every day. But since my apps remained a weekend hobby project for so long, perhaps the most important thing was learning to use the scarce development resources I had, i.e. my time, wisely. Deciding which feature to implement and, more importantly, which one to not implement, is hard — you need to listen to your users and keep your project’s long-term goals in mind to (hopefully) make the right call.
11) tinkerstellar, Juno, JunoConnect - What’s next?! Do you have any future features planned that you can share?
Juno will be getting multi-window support soon, a few new labs for Tinkerstellar are already in the works, and I’ll keep upgrading and expanding Juno’s integrated Python environment. There are many more fascinating things coming to Juno and Tinkerstellar in the longer term though, some as early as this year!
12) What’s been the hardest part of being an indie dev? What is the most fun part of being an indie dev?
I suppose it’s the same thing, actually: the fact that you have complete creative freedom over your products, and therefore bear full responsibility for their successes and failures.
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 😜