2020 has been a wild ride. I’ve stayed in New York City the whole time and have watched the COVID-19 waves come and go and come back again. While being stuck at home more often than not, I’ve found a lot more free time on my hands during nights and weekends.
Beyond working on Cash App during the week, I love to build stuff in my free time. My mind is always spinning with ideas. I’m always looking at how to connect the dots between the things I’m experimenting with.
I went through my entire 2020 Twitter timeline to see what I was up to each month of this year. Here’s a look back at what I built in 2020, what I promised and didn’t deliver on, and what I learned along the way.
lil apps & Figma plugins
Spilling over from late 2019, I began to take interest in picking back up building iOS apps again. I’d been experimenting with using React Native for a few of the first lil apps towards the end of 2019, but I reached a tipping point with a few that seemed to require native iOS code. This is what pushed me to start learning SwiftUI. lil software became this “umbrella” brand for these experimental apps to build small, focused utility-based apps so that I didn’t need a novel idea for an app to get started.
lil todo was the first lil app I released built in SwiftUI. A small, focused todo app that removed all of the clutter and just focused on viewing your tasks, creating new ones, and marking them as done.
In addition to working on lil apps, I was experimenting with some Figma plugin ideas. The first is called Text Edit, a plugin to edit all of the text layers inside of your Figma file in one place. I was also exploring a concept for a plugin called Smart Constraints to automatically try to determine how your layers should be resized inside of a frame.
February & March
More lil apps & Figma plugins
In February, I worked on lil calculator, lil sports, lil news, lil codes, and lil notes. lil sports stands out to me because not only is it personally one of my most-used lil apps, but I was working on it during the Super Bowl from scratch when the idea occurred to me at halftime. (note the lil sports tweet above, I might’ve jinxed the 49ers)
As for Figma, I explored a plugin concept that creates a visual dependency graph of your design system components and their dependencies, officially released Text Edit, experimented with Genie which takes an abstracted design and tries to replace it with real system components, and made a plugin to talk to Figma.
I open-sourced a Slack bot that sends daily updates based on your Figma design system’s changes.
On April 1st, I introduced lil OS: “a bundle of apps that make a lil operating system. The idea was that because I had been releasing lots of utility-based lil apps, they could form their own operating system. It was definitely meant to be an April Fools joke, but some people took it literally.
I launched a concept called lil computer, “a 24/7 live computer.” The idea was that I would have a Twitch stream of a computer live all day showing random things like random lil apps, a Windows XP simulator, etc, etc. I rented Mac hardware from MacinCloud, and got it up and running for a month or two. It wasn’t going anywhere and didn’t have many viewers so I took it down. It was a fun experiment nonetheless.
SwiftUI, Figma, Recreate, “You”
This is when I first started experimenting with doing “SwiftUI speed runs” on Twitter, where I’d record a short video building something in SwiftUI from scratch and share the code. The first one I tweeted was recreating the iPhone lock screen. I also recreated the iOS home screen and the iOS Settings app.
During May, I attempted to publish several lil apps to the App Store. Apple came back and said that the majority of them ironically didn’t meet the “minimum functionality requirement,” but the few that made it through were lil weather, lil calculator, and lil draw.
Building lil draw inspired me to think about how it might translate to the Figma canvas. I’d been building plugins on Figma for a little while now, and part of me wanted to challenge myself to see if I could 1) make an app to control Figma and 2) make it worthwhile to use for real. I had a ton of fun building an experimental Figma iOS app. It’s a Figma plugin communicating over a web socket that’s transporting the Figma document tree back and forth to the iOS app.
I began working on a concept I called “You.” It occurred to me: “what if people had their own apps?” Wait what? What does that mean? How would that work? Everything was centered around this visual of people’s avatars on app icons. I became fascinated by this. Read more in the newsletter I published about it. I put a bunch of work into this behind the scenes but ran into some technical feasibility and scalability issues. I didn’t end up launching it.
Lastly, I worked on a Figma plugin called Live Preview that generates a QR code to your Figma prototype so that others can pull it up on their phones while you’re presenting your design.
More SwiftUI, widgets, lil APIs, Letters
WWDC on June 22nd sparked a ton of inspiration for me. SwiftUI got some great new updates, iOS 14 introduced widgets, and Big Sur redesigned macOS.
On the day of WWDC, I immediately installed the iOS and Xcode betas to start seeing how the new stuff could apply to lil apps. The first thing I explored was a lil weather widget, and next a lil news widget. I open-sourced a few lil widgets for others to use as examples and inspiration.
I started sharing a lot more of the code I’ve been experimenting with. I figured the code would otherwise be sitting on my computer, and these are just experiments & me having fun. What do I have to lose? I know when I was watching the WWDC videos about iOS 14 and macOS Big Sur I was hoping that someone had posted examples online so I could give the new API’s a try without having to learn everything there is to know myself first. I open-sourced sample macOS Big Sur SwiftUI apps for Mail, System Preferences, Control Center, and multi-platform Messages.
I made a Twitter thread to show you just how easy it is to recreate a Control Center widget in SwiftUI.
Nav and I launched the waitlist for Letters, an inbox for your newsletters. Letters started with a simple idea: an app made just for your newsletters paired with an email address to declutter your inbox. We made a lot of progress and got a functional, working app going, but we never ended up seeing it through. I’m still interested in picking it back up eventually.
GPT-3, SwiftUI, macOS, Windows XP
During July, I was seeing the wave of amazing GPT-3 tweets on my timeline. The demos were so mind-blowing that I had to get my hands on it. I had previously explored a Figma plugin concept where you can use natural language to command Figma to draw things on the canvas. This was the perfect application to apply GPT-3 to.
Jordan Singer @jsngrNatural language processing + @figmadesign An experimental plugin to talk to Figma and say things like "add a blue square" or "give me a pink circle that's 500px" https://t.co/YZPtjZBG0Z
After getting beta access, I put together an experimental plugin called “Designer”: a Figma plugin to design for you. I wrote all about what GPT-3 is and how the Designer plugin works in this newsletter.
I remade “Windows XP” for iPad built with SwiftUI.
I tweeted about a “lil widgets” concept where in a single lil widgets app you could add iOS 14 widgets like package or flight tracking.
I usually read Apple’s SwiftUI documentation when trying to understand how to do something new in SwiftUI. With lots of new SwiftUI API’s, sometimes it’s hard to visualize what something will look like without example images. So I had this idea: what if there was an app that showcased everything you can do with SwiftUI out of the box?
SwiftUI Kit is a SwiftUI system components and interactions demo app based on iOS 14, macOS Big Sur, watchOS 7, and tvOS 14. It’s a great way to see how SwiftUI views appear and interact when using the system defaults. It’s also multiplatform, so you can see how system components adapt across platforms. This is made for the SwiftUI community, by the SwiftUI community. There were lots of contributors (including designers!) to continue to make it better. Check it out.
Airport, lil hardware
August was a whirlwind of a month that introduced Airport. It all started with a tweet:
I’d been fascinated by the recent uptick in TestFlight apps, waitlists, exclusivity, and experimentation. People were building new things and teasing them with TestFlight’s. They’d post a screenshot of their home screen with the yellow dot 🟡 (signifying it’s a TestFlight app) and people go crazy. Airport is an app to discover TestFlight apps. ✈️
We launched a waitlist, opened up for app submission, and launched a web version as a fallback for running into trouble with Apple. I wrote about building Airport and going from idea to app in a matter of a few days.
When thinking about what the next lil app would be, I was a bit stuck. I’ve got a handful of utility-based lil apps out there, and it’s not quite obvious to me what others I’d like to build. This led me down the path of imagining “what if lil software made lil hardware?”
I made a GPT-3 Figma plugin concept to take a Figma design and output a text description of the design in words.
I received a DM asking me to combine two of my favorite things (SwiftUI & Figma) in an app: save your Figma prototypes on your phone without needing to open Figma. I couldn’t resist. A few days later, I introduced Live Preview: Save your Figma prototypes for later to preview anytime.
I noticed the iOS 14 home screen customization trend, and I thought to myself if there was a way to make an app to make it easier. I tweeted that I was gonna do it, but I never ended up executing on it.
Jordan Singer @jsngrIt’s fascinating how iOS 14 is becoming known for Home Screen customization using widgets and Shortcuts. There’s an opportunity to make an app to discover “themes” and download the assets to customize your own. https://t.co/7QcqRFNhV8
I want to give a special shoutout to Sam Henri Gold for being so gracious to share the 2TB Apple archive that stretches back into the 1970s and covers meticulous organization year by year, month by month, of Apple history and media.
I carefully combed through some of my favorite era’s of Apple, and took the public (!) things I found worth sharing to a larger audience. I made a Twitter and Instagram account called Infinite Loop to share my favorite pieces of Apple history.
SwiftUI, Figma, lil hotline
I made an iOS 14 onboarding app built in SwiftUI. I poked fun at the Twitter Fleets launch teasing a lil stories concept. I shared a preview of an SF Symbols SwiftUI app, but I didn’t end up following through on it. I open-sourced an iOS app welcome screen built in SwiftUI.
I made a conceptual iPhone 13 nano:
I made a Figma plugin concept called Magic Layout: Automatically apply Auto Layout constraints and resizing to your layers.
I’ve built lots of little experiments using SMS/phone and Twilio in the past. I had a random thought to extend lil apps beyond just apps, and thought it would be fun to make use of lil APIs. I launched the lil hotline at (417) LIL-APPS (417-545-2777) for real and it’ll present you with a few options: To check the forecast from lil weather, press 1. To get the top stories from lil news, press 2.
Airport Design Awards
We’ve seen some truly incredible apps submitted on Airport, and we wanted to give back to the developers who have put so much effort into making unique, joyful app experiences.
Looking back, I can pull out a few themes from 2020 for the things I learned:
Share your work publicly! This has opened many doors for meeting great new people and discovering new opportunities.
Be willing to learn in the open. Share your findings.
Don’t overwork yourself. Looking back, I did a ton of stuff in 2020 and was consistently busy with something. In the moment it may seem fun, but it may also take away from other important things.
The energy to make stuff goes in waves. For example, I noticed huge waves of productivity in the summer but dips towards the end of the year (coinciding with warm/cold weather maybe?)
Articles in 2020
Podcasts in 2020
I appeared on my first podcast thanks to Everyday Robots. I also appeared on Swift by Sundell 82: “Translating designs into code”.
Thanks for following along with me in 2020. I’ve really enjoyed sharing my work with you all, and your notes and feedback have kept me going.