Advanced – An Android App Created and Published in Real Time

  • Course level: Intermediate

About Course

Go from zero app ideas to a fully functional and published app on Google Play! This course shows the ENTIRE process raw and unfiltered. You get to see absolutely everything, including how I solve code problems when I don't know the solution already. This course is a must have for anyone who wants to see the real life of an indie developer.


Welcome to the most comprehensive course I’ve ever made! In this adventure we go through the following stages:

  1. “I have no idea what to make”
  2. Selecting our app niche
  3. Researching the competition and revenue models
  4. Planning our app
  5. Coding the app (all mistakes included)
  6. Releasing the app
  7. Reviewing revenue and download numbers


There are absolutely ZERO EDITS. Everything is shown in real time, including decision making and research. You’ll even catch me copying and modifying code from Stack Overflow (because we all do it).

Over 22 hours of raw content will turn you into a grizzled veteran of software production!

Why no editing?

If you’re just getting into coding then you don’t really have a true experience of what day to day life is like. This course shows you that reality.

That’s why I left out absolutely nothing – even mistakes and buggy code. That way you get a real life overview of being a developer. about 70% of our time is spent correcting our own silly mistakes!

Why did you make this course?

I have over 800,000 students on many platforms and they all struggle with bugs in their code. This course is the antidote to their problem, primarily aimed at making an app production ready. As far as I know, no other course actually runs through this process.

If you want to experience the real life of a developer then this is the only course out there that will give you that!

Is this for Beginners?

You need to have some experience with code before you attempt this course. As a rough example you should know what classes / objects / interfaces are. In this course I explain some things I’m doing but not all of them (else we’d be here for months!).

If you want something extremely beginner friendly then have a look at Universal Software Engineering for Total Beginners.

What do we Make?

We will make an Audio Recorder app. It sounds simple – record and play back the audio. However, as a software engineer, “simple” often translates to “pretty complex behind the scenes”.

For example:

  1. How do we design the user interface?
  2. Does the design interfere with how we code? (hint: it does)
  3. What are the software engineering practices required to make our code readable?
  4. How few features should we include?
  5. How much code is enough? Should we refactor often?
  6. How to not get caught in endless feature additions and end up never releasing….
  7. And so much more!


Topics for this course

42 Lessons22h

Choosing an Android App Niche?

Run through my process for choosing something that's profitable but easy to make.
1 How to Choose an App to Build10:48
2 How to Choose an Android app to Clone21:28

How to Design an Android App?

Run through the design process with me. We pay close attention to NOT overdoing the design!

How to Implement a GUI in Android Studio?

Translating paper design to Android Studio / Navigation Graphs and more

Fragments, Viewmodels and Navigation Graphs – How they Interact?

Fragments and their viewmodels need ways to interact with the nav graph. This section dives into that process.

Recording Audio on Android?

We run through the process of audio recording on Android. There are a few things to watch out for!

Connecting ViewModels to Android XML Layouts?

A close look at databinding

MediaRecorder Buttons and State Tracking – A Better Solution?

The recorder needs to have its controls wired up so we can tap things on screen!

Room Database and Storing Recording Data?

Room database is Androids premier storage option. It integrates extremely well with livedata and viewmodels. In this section we look at how to integrate it and write our first objects to it.

Room DB and the RecyclerView on Android?

We have a database and a list of items, how do we connect them up?

Passing Data between RecyclerView and Fragments using Navigation Graphs?

We look at how data is passed from one fragment to another using the nav graph.

Audio Playback on Android?

We explore the various ways to implement audio playback on Android

Using an EditText Box to Change Name on Disk and in Room DB?

A more integrated lesson on connecting the UI to on disk operations

Sharing Our Recording Using the ShareSheet on Android?

The plumbed in "ShareSheet" is easy to use but there are issues around file sharing

User Interface and New Recording Button?

More fiddling with our project - will I ever stop with "developer disease"?

More Room DB and External File Storage?

We fiddle a few more bits to work better

Animations, Icons and GUI Improvements?

A little animation can go a long way to improving the look of your Android app!

Google Ads on Android?

We gotta get paid right?

App Icons, Prompt Reviews and Launch!?

We decide on a decent icon, ask the user to review after they've used the app a few times and then we LAUNCH IT!

Source Code


  • Have access to a Windows PC
  • Understand basic programming already

Target Audience

  • Intermediate coders
  • Coders looking to move into Android development
  • You want to see the entire process of app development, start to finish