About Me

Hi, I’m Leo and I enjoy sharing stories, thoughts, and photos as I navigate through life.

Quick facts about me

I went to college for Exercise Science and started out as a strength coach for sports teams at New York University. I took a leap of faith three years later and taught myself how to code and build software for mobile apps.

What I’m doing now

Now I’ve taken another leap and am working full time on SuperFit, a workout app for people who really want to become better at their sport.

Starting a business has a ton of highs, but five times more lows. That’s something one of my closest friends, Brian, knows too well when he started his own gym a year ago in Long Island, NY. He’s the founder of T3 Performance gym, and it’s no coincidence that we synced up six years to help each other grow our businesses.

I’m helping Brian make T3 one of the most welcoming sports gyms in NY, while he’s providing me the platform to iterate and build SuperFit with my target audience in house.

Fun Fact: As “gym roommates” in college, Brian and I may have spent more time working out and playing basketball together than focusing on classroom lectures.

SuperFit is in the app store now and I’d love feedback if you have any. check out the free app here.

personal work

What I learned building a fitness app as a personal trainer-turned computer programmer.

The fitness industry does not need innovation.

I’m Leo and three years ago, I pivoted from pursuing a three-year post grad degree in Physical Therapy at New York University to learning how to code. Prior to that, I worked at NYU as a part-time strength and conditioning coach for its Division III athletes, and as my first job out of college, it was a dream come true.


Graduating from SUNY Buffalo with a degree in Exercise Science, I always wanted to train athletes and work in the athletic world. I interned around the country as a student, and I was a disciple to industry leading coaches and organizations in sports performance.
I was never tech savvy growing up, but I considered myself a nerd to anything I put my interests in. You know, that person who learned through the textbooks and came off a bit awkward to others because that person thought he knew everything. That was me (might still be, I hope not).

I was a student of the game.

I graduated college in 2013, and immediately, I went straight down to Pensacola, Florida for a summer internship with Athletes Performance, now named EXOS. Athletes’ Performance (AP) was regarded as the cream of the crop of sports performance gyms in the US. They trained the best collegiate and pro athletes in all major sporting organizations, particularly American Football.


I learned a whole lot interning at AP. I won’t get into detail but it was a top notch facility with world class coaching. Side note: growing up in NY and living in Pensacola for 3 month— big culture change.

Coming out of college and internships like EXOS, I thought— why isn’t smarter coaching content available for other sportsy people out there? There are a ton of people like myself who wished they had trained more effectively at a younger age. Can technology solve the problem?

I had an idea

Two years into working as a strength coach at NYU, I realized there should be an app for this. I didn’t know how to code, but in my spare time I learned how to make a website and create mockups like the banner image above.
The idea was called Atrium, and it was a fitness app that would bring teammates together to train as a team, thus the “atrium” name. Awful name, but a lot of motivation.

But what about my career? In the meantime, I was wrestling with my future career trajectory and quickly trying to figure out how I would generate a steady income. Physical Therapy seemed like the clear direction for me. I loved fitness and sports performance, but juggling NYU and personal training at Equinox was hard.

Physical Therapy seemed like the clear direction for me.

Back at EXOS, I was inspired by the sports medicine staff, particularly the athletic trainers and physical therapists. Their work on athletes looked so novel and, for lack of a better phrase, intellectually challenging. It seemed fitting for me, so I looked into Physical Therapy as my next endeavor after strength conditioning.
But what about my idea?
I spent a year completing remaining prerequisite classes (bio 1 & 2), punching in volunteering hours at the hospital and perfecting admissions essays for NYU and Duke’s Doctorate of Physical Therapy program. I was ready to put my idea to rest and move on with a new chapter in my life.
Then… I got rejected by Duke’s early decision process. I was distraught and pretty disappointed. During that time, I remember simply thinking about two things.
I had to focus on getting into NYU. It was the only other PT program I applied to besides Duke, and if I didn’t get in, I’d need to wait an entire year to reapply.
I stumbled upon a free online class about technology entrepreneurship by Stanford.

This class changed my life.

There was nothing ground breaking taught, but for someone like myself who had never took a computer science course, it spun my mental model harder than any other class I took in my life. I eventually got the acceptance letter into NYU, but I had already made my mind. I was going to opt out of Physical Therapy to learn how to code, and ultimately, build my app.

“Atrium” was the initial name of my business. Before I even knew how to code, I sketched out exactly how I wanted my fitness app to look. For future entrepreneurs, don’t do this. Move and adjust quickly.

Fast forward to today

This is personal and hopefully anyone who traveled a similar path can understand its difficulties.
I left strength conditioning, NYU and the fitness world to pursue a field I wasn’t entirely sure about. I learned how to code, got a tech job, and continued building my app in my spare time. I said I would never want to get too involved in tech, just enough so I could build my product and move on. But the truth is when you want to be great at anything, you cannot help but pour every ounce of effort to stand out. I did that with fitness, and I’m trying to do that with software development and technology.
Even though I never hoped to stray far from my passion for sports, programming has opened so many doors for me. I’ve made incredible friends and colleagues in tech that I can’t imagine not meeting. I’ve also developed a new set of skills, particularly computer programming and deep problem solving, that I really lacked before I wrote my first line of code in 2015.

The toughest lesson I had to learn

Up until now, I thought technology would save the day. People use mobile apps and I know how to build them. Innovation in website development has moved really fast, and some web applications just blow me away every time I use them. Big tech buzzwords like AI, AR, machine learning, and deep learning have sprung up in the last three years, and companies like Google, Apple and Facebook are racing to be at the front of these domains.
As a programmer who writes code 40 hours a week, I’ve also adopted the mindset that better software equals better business, and that if I want my apps succeeding in the fitness industry, I, too, need to build smarter technology and take the lead in this innovation race.

Coaches and trainers just need to be better coaches and trainers. Athletes need to be attentive, trust their coaches and put the requisite hours in the gym and in their sport. I’ve spent so much time focusing on the wrong things, because I often forget the core needs of coaches and athletes.

Coaches and trainers have to problem sharing their content on a google excel sheet. Even less complicated than that, I’ve seen coaches share static word documents outlining their premium workout program. This is a really tough lesson I’m learning to swallow: do not add innovation where it is really not needed.

If you’re interested in what I’m building, follow me @imleokwan and check out SuperFit for free on the app store.


Our perception of stress, and therefore our response to it, is an ever-changing thing that depends a great deal on the circumstances and settings in which we find ourselves. It depends on previous experience and knowledge, as well as on the actual event that has occurred. And it depends on memory, too.

—Esther Sternberg


iOS Design Patterns: Delegation

Knowing what design pattern to implement in your code is one of the most important skills to have as a competent iOS developer.

No, design patterns have nothing to do with user interface or visual design-who would ever think that? -scratch head- Rather, they are reusable solutions that solve common problems, particularly with communication between objects in code.

There are many powerful design patterns found in iOS development. For this blog post, I wanted to expand on the delegate pattern in iOS.


Week 11 & 12 Summary

Week 11

Crunched for time.

There is barely any time to blog during project mode. It’s a long 2 week sprint and our team still has a lot to get done. It’s frustrating because everyone on our team is new to this, but we are learning so much. There is no better way to learn about effective design pattern and features in iOS than devoting 3 weeks time to develop and app that you care about. Time is limited so learning new concepts quickly is not an option. I love the experience, but I can’t wait for this project to be over so that I can reflect on my personal growth here.


Week 9 & 10 at Flatiron School.

Week 9

Traveler App

Week 9 is the start of project mode at the Flatiron School, and that entails developing an app of choice for 3 straight weeks with 3 other classmates. We sort of had a choice with what we are going to make; the deal is each team submits three ideas to our instructors so that they get the final word on what project to pursue. They, of course, have a better handle as to what work is viable and challenging enough for our 3 weeks time.


How to utilize Nibs/ Xibs for reusable views in Objective-C

For my group’s final project here at The Flatiron School, we’re making an app that connects travelers with locals who offer personalized, authentic tours of their city. You can think of it like an AirBnB app in that our app serves as a marketplace for users to present and book tours.


Week 7 & 8 at Flatiron

Week 7

Presenting Muse at Flatiron Presents

Finally finished my part in Flatiron Presents. Every Tuesday here at Flatiron School, 3-4 pairs (2 web, 2 mobile) of students present an app/ feature that they have collaborated on. My partner unfortunately dropped from the program around Week 4, but I tried making the most out of the last 2 weeks and made a working app that I feel proud about.

I made a journaling app that allows users to fully capture a moment by pinning their currently playing song to a journal entry for future playback. The frameworks I used to make this app work include MPMediaQuery, MPMusicPlayerController, and Parse as a backend solution for saving entries and music playlists.


Incorporating Youtube’s Data API in your Xcode project.

If you ever wanted to integrate youtube search and play capabilities into your iPhone app, you will eventually need to play around with Youtube’s Data API. Depending on the level of interaction you would like to have with a user, you may need to authorize requests with OAuth 2.0. But if you are just interested in searching and playing videos based on a particular query like this post, all you need to do is sign up for an API key on Google’s dev console. With just the free rate limit, you are allowed 5,000,00 requests per day, but as you will soon realize, those API calls can accrue pretty fast with even the most basic requests.

Go to Youtube’s Developer Console and request an API Key. 


Weeks 5 & 6 at The Flatiron School.

Week 5

Auto Layout

Wrapping Up Core Data

We wrapped up our last lecture on core data this morning, and even though the everything dealing with core data seemed convoluted, it eventually became pretty straightforward. According to our main instructor Tim, we primarily use APIs and cloud services to manage our services. There is also Parse, a backend database solution for mobile app developers who don’t can’t/don’t want to deal with the backend side of things. On top of that, they recently came out with a new local database feature for iOS, meaning you can save data locally until you have a network connection, which then syncs your files with Parse’s server. Makes you think when we’d ever have the need for Core Data.