Kotlin Backends built for the real world.
Master Kotlin Spring Boot development by building a production-grade backend for a chat app in over 120 video lessons and 20h of content
System Design
PostgreSQL
Redis
Authentication
Security
Notifications
CI/CD

You want to…
- ... learn to build ANY backend using your favourite language Kotlin?
- ... go beyond simple REST principles and learn about a system design made to scale?
- ... build backends for a large user base?
- ... learn about databases, caching, message queues, web sockets and more advanced principles?
After this course, you will…
Deploy Spring Boot instances via CI/CD pipelines
Deployment is simple once automated. In this course, you’ll learn to implement a GitHub Actions pipeline that brings it online with a simple GitHub push.
Confidently build apps for 6 platforms
You won’t just work on the backend code itself, but also learn about how the entire server infrastructure needs to look like to support the level of scale you need.
Confidently build backends built for a scaling user base
This course does NOT focus on building quick hobby backends – instead you will learn real-world practices that prepare your backend for a growing user base.
Built to Scale.
This course focuses on teaching you build backends for a real scaling user base – and how you can come up with a system design yourself that matches your app’s unique requirements.
Spring Security
Use Spring Security & JWT to build a secure authentication system for your users.
PostgreSQL
Structure an SQL database with 10 tables and relations to save complex user data.
Redis
Implement caching strategies with Redis to ensure fast data access for any client.
RabbitMQ
Ensure no important event gets lost by relying on RabbitMQ message queues.
WebSockets
Exchange messages with clients in real-time via WebSockets.
Firebase Admin SDK
Send push notifications to Android & iOS clients via the Firebase Admin SDK.
Mailing
Send transactional emails with Mailgun, for example for forgot password emails.
File Storage
Learn to efficiently store files remotely and work with pre-signed URLs.
These 120+ videos are waiting for you
Get Instant Access to 20+ Hours of Exclusive Video Material

- Disclaimer Before Watching
- What We’ll Build
- How You Get the Most Out of This Course
- Understanding Our Architecture & Module Structure
- Project Creation
- Managing Gradle Dependencies With Version Catalogs
- Creating the Gradle Modules
- Sharing Config With the Build-Logic Module
- Kotlin Common Convention Plugin
- Spring Boot Service Convention Plugin
- Spring Boot App Convention Plugin
-
- Understanding Our Architecture & Module Structure
- Project Creation
- Managing Gradle Dependencies With Version Catalogs
- Creating the Gradle Modules
- Sharing Config With the Build-Logic Module
- Kotlin Common Convention Plugin
- Spring Boot Service Convention Plugin
- Spring Boot App Convention Plugin
-
- Setting up the User Domain Models
- Supabase Setup
- Creating the User Service Schema
- Creating the User Database Entity
- Building the User Repository
- Password Security With BCrypt
- User Registration DTOs & Mappers
- User Registration Service Logic
- Understanding JWT Token Refresh
- Building the JWT Service
- Refresh Token Storage System
- User Login Service Logic
- Logging In Users
- Token Refresh Service Logic
- Token Refresh API Endpoints
- Logging Out Users
- Email Verification Token Database Setup
- Generating Email Verification Tokens
- Email Verification Service LogicEmail Verification API Endpoints
- Password Reset Token Database Setup
- User Registration DTOs & Mappers
- User Registration Service Logic
- User Registration API Endpoint
- Understanding JWT Token Refresh
- Building the JWT Service
- Refresh Token Storage System
- User Login Service Logic
- Logging In Users
- Token Refresh Service Logic
- Token Refresh API Endpoints
- Logging Out Users
- Email Verification Token Database Setup
- Generating Email Verification Tokens
- Email Verification Service Logic
- Email Verification API Endpoints
- Token Refresh API Endpoints
- Password Reset Token Database Setup
- Password Reset Service Logic
- Why & When to Use Rate Limits
- Connecting to Redis
- Email Rate Limiting
- Resolving the True Client IP
- IP-Based Rate Limiting System
- JWT Authentication Filter
- Spring Security Config
-
- Spring Security Config
- User Events
- Setting up Rabbit
- MQ Queues
- Building the Event Publisher
- Resend Verification Email Mechanism
- Listening to User Events
- Creating HTML Email Templates With Thymeleaf
- Email Template Service
- Mailgun Setup
- Building the Email Service
-
- Creating the Chat Domain Models
- Chat Service DB Setup
- Chat Participants Repository
- Chat Repository
- Chat Message Repository
- Creating Chats
- Chat Management API Endpoints
- Creating Participants
- User Event Integration For Chat
- Adding & Removing Participants From a Chat
- Building the Message Service
- Message Management API
- Message Events & Notifications
- Redis for Message Caching
- Loading Chats For Users
- Building the WebSocket Handler – Connection Management
- WebSocket Message Handling
- Broadcasting Chat Updates
- WebSocket Ping/Pong Mechanism
- Handling Closed Connections
- Supabase Storage Integration
- Profile Picture Service Implementation
- Profile Picture API Endpoints
-
- Project Setup
- Linking Your Apple Developer Account
- Creating the Firebase Notification Client
- Device Token Database Setup
- Implementing the Push Notification Service
- Device Token API Endpoints
- Retry Mechanism For Failed Deliveries
- Triggering Push Notifications
-
- Preparations
- Base Setup for VPS Server
- Deployment & GitHub Actions Automation
-

Philipp Lackner has over 14 years of experience in the software field. Over the past years, he built a following of over 250,000 developers on social media who trust his work. With over 25,000 sold copies of his courses and 1,000h+ spent for teaching Android concepts, he already helped hundreds of thousands people to learn practical skills they can immediately apply.
He has a degree in computer science, however it didn’t go as expected. The amount of theory that was taught in university made him think about a better approach to learn what is really needed in the real world. Over time, Philipp found mentors who taught him exactly that in a practical setting. That was the game changer for his career.
After having worked for dozens of companies around the globe as a consultant, Philipp now wants to teach other Kotlin developers what really counts for becoming an outstanding developer in today’s competitive industry.
Of created Android content
Enrolled students
Years of software dev
Resultss & case studies from our students
Martin Kiper convinced his interviewers thanks to Philipp’s courses.
- Felt lost in his own projects
- Didn't feel confident in Android interviews
- Confidently nailing coding interviews
- Feels confident about advanced topics like multi-module architecture
- Convinced employers of having a higher seniority than before
- Android developer in India
- No real hands-on experience on developing complex apps
- Low salary
- Got a well-paying job in Canada
- Understood the new company's tech stack the moment he joined
- Confidently develops real-world applications
- Wasn't able to build his own apps
- Felt insecure about architecture, Compose and more advanced topics
- Approaches projects for himself and clients confidently
- Truly understands the entire relevant Android tech stack
What people are saying
about Philipp’s courses
Real-world insights, structured learning, and expert mentorship that transform careers.
"This course brought me back on track really fast and Philipp really took care to convey general knowledge that can be applied on every Android project."
Matthias Kerat
"I have been using modularization for a long time, but I learned new cool stuff and tricks in your course that will change my way of thinking about how I should design my code."
Amer Hadi
"What’s unique about Philipp, that he cares about those who are looking for help, he answers to PM’s, I’ve never had experience like that."
Ozzy
"Your course let me also the opportunity to enhance my jetpack compose and unit test skills . So, I can consider me super satisfied. Please, don’t stop mentoring."
Vitanio Daniele
"Taking any of Philipp’s courses makes you go from 0 to almost 100 in understanding the concepts in no time. He explains the basics so well and teaches real world application use cases."
Messy Limes
"I’ve had struggles working with big projects, but after this course I feel so much more confident in my skills in building large robust apps."
Luka Luković
"I recently completed this course, and I couldn't be more thrilled with the experience! This course exceeded my expectations in every way. Philipp's real-world experience was evident. He covered everything from Ul design to integrating APls and managing databases,... Overall, this course was an incredible learning journey. I highly recommend it to anyone looking to start or advance their career in Android development!"
Erdem Kaya
"Philipp is an amazing developer who explains the most difficult topics in a way that's digestible and it stays with you. Everything is through practical examples. He's someone you'd want to go to, to understand something that you can't understand"
Omer Quadri
"This is one of the best courses for android development I have taken, not only we get to learn a lot but we also get an insight of where the industry is heading and how to approach problems and projects."
Jose Agustin Reinoso


