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
PostgreSQL
Redis
Authentication
Security
Notifications & Mailing
CI/CD
After This Course, You Will…
Understand backend system design
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.
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.

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

1. Prerequisites
- Prerequisites
- Disclaimer Before Watching
- What We’ll Build
- How You Get the Most Out of This Course
2. System Design
- What is system design?
- Monolith vs. Microservices & The Architecture We Choose
- Authentication
- Data Storage with PostgreSQL & Supabase
- Caching With Redis
- Message Queues With RabbitMQ
- Real-Time Communication
- Notifications & Mailing
- Load Balancing & Reverse Proxy
- Self-Hosting vs. Cloud
- Our System Design From a High Level
- How Much Kotlin Do We Want In Spring Boot?
- Which Persistence API to Use?
3. Multi-Module Setup
- 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
4. User Service
- Setting up the User Domain Models
- Supabase Setup
- Creating the User Service Schema
- Creating the User Database Entity
- Building the User Repository
User Registration
- Password Security With BCrypt
- User Registration DTOs & Mappers
- User Registration Service Logic
- User Registration API Endpoint
JWT Authentication
- Understanding JWT Token Refresh
- Building the JWT Service
- Refresh Token Storage System
User Login
- User Login Service Logic
- Logging In Users
Token Refresh Mechanism
- Token Refresh Service Logic
- Token Refresh API Endpoints
- Logging Out Users
Email Verification System
- Email Verification Token Database Setup
- Generating Email Verification Tokens
- Email Verification Service Logic
- Email Verification API Endpoints
Password Reset System
- Password Reset Token Database Setup
- Password Reset Service Logic
- Password Reset API Endpoints
Security & Rate Limiting
- 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
5. Sending Emails From the Notification Service
- CloudAMQP Setup
- User Events
- Setting up RabbitMQ Queues
- Building the Event Publisher
- Resend Verification Email Mechanism
- Listening to User Events
Email Template System
- Creating HTML Email Templates With Thymeleaf
- Email Template Service
Email Sending Infrastructure
- Mailgun Setup
- Building the Email Service
6. Building the Chat Service
- Creating the Chat Domain Models
- Chat Service DB Setup
- Chat Participants Repository
- Chat Repository
- Chat Message Repository
Chat Management System
- Creating Chats
- Chat Management API Endpoints
Chat Participants Management
- Creating Participants
- User Event Integration For Chat
- Adding & Removing Participants From a Chat
Chat Messaging Core
- Building the Message Service
- Message Management API
- Message Events & Notifications
- Redis for Message Caching
- Loading Chats For Users
Real-Time WebSocket Communication
- Building the WebSocket Handler – Connection Management
- WebSocket Message Handling
- Broadcasting Chat Updates
- WebSocket Ping/Pong Mechanism
- Handling Closed Connections
Updating Profile Pictures & File Storage
- Supabase Storage Integration
- Profile Picture Service Implementation
- Profile Picture API Endpoints
7. Push Notifications
- Project Setup
- Linking Your Apple Developer Account
- Creating the Firebase Notification Client
Device Token Management
- Device Token Database Setup
- Implementing the Push Notification Service
- Device Token API Endpoints
- Retry Mechanism For Failed Deliveries
- Triggering Push Notifications
8. Deployment
- Preparations
- Base Setup for VPS Server
- Deployment & GitHub Actions Automation
1. Prerequisites
- Prerequisites
- Disclaimer Before Watching
- What We’ll Build
- How You Get the Most Out of This Course
2. System Design
- What is system design?
- Monolith vs. Microservices & The Architecture We Choose
- Authentication
- Data Storage with PostgreSQL & Supabase
- Caching With Redis
- Message Queues With RabbitMQ
- Real-Time Communication
- Notifications & Mailing
- Load Balancing & Reverse Proxy
- Self-Hosting vs. Cloud
- Our System Design From a High Level
- How Much Kotlin Do We Want In Spring Boot?
- Which Persistence API to Use?
3. Multi-Module Setup
- 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
4. User Service
- Setting up the User Domain Models
- Supabase Setup
- Creating the User Service Schema
- Creating the User Database Entity
- Building the User Repository
User Registration
- Password Security With BCrypt
- User Registration DTOs & Mappers
- User Registration Service Logic
- User Registration API Endpoint
JWT Authentication
- Understanding JWT Token Refresh
- Building the JWT Service
- Refresh Token Storage System
User Login
- User Login Service Logic
- Logging In Users
Token Refresh Mechanism
- Token Refresh Service Logic
- Token Refresh API Endpoints
- Logging Out Users
Email Verification System
- Email Verification Token Database Setup
- Generating Email Verification Tokens
- Email Verification Service Logic
- Email Verification API Endpoints
Password Reset System
- Password Reset Token Database Setup
- Password Reset Service Logic
- Password Reset API Endpoints
Security & Rate Limiting
- 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
5. Sending Emails From the Notification Service
- CloudAMQP Setup
- User Events
- Setting up RabbitMQ Queues
- Building the Event Publisher
- Resend Verification Email Mechanism
- Listening to User Events
Email Template System
- Creating HTML Email Templates With Thymeleaf
- Email Template Service
Email Sending Infrastructure
- Mailgun Setup
- Building the Email Service
6. Building the Chat Service
- Creating the Chat Domain Models
- Chat Service DB Setup
- Chat Participants Repository
- Chat Repository
- Chat Message Repository
Chat Management System
- Creating Chats
- Chat Management API Endpoints
Chat Participants Management
- Creating Participants
- User Event Integration For Chat
- Adding & Removing Participants From a Chat
Chat Messaging Core
- Building the Message Service
- Message Management API
- Message Events & Notifications
- Redis for Message Caching
- Loading Chats For Users
Real-Time WebSocket Communication
- Building the WebSocket Handler – Connection Management
- WebSocket Message Handling
- Broadcasting Chat Updates
- WebSocket Ping/Pong Mechanism
- Handling Closed Connections
Updating Profile Pictures & File Storage
- Supabase Storage Integration
- Profile Picture Service Implementation
- Profile Picture API Endpoints
7. Push Notifications
- Project Setup
- Linking Your Apple Developer Account
- Creating the Firebase Notification Client
Device Token Management
- Device Token Database Setup
- Implementing the Push Notification Service
- Device Token API Endpoints
- Retry Mechanism For Failed Deliveries
- Triggering Push Notifications
8. Deployment
- 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 20,000 sold copies of his courses and 700h+ 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 mobile developers what really counts for becoming an outstanding developer.

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 mobile developers what really counts for becoming an outstanding developer.
800H+
of Created Kotlin content
15,000+
Enrolled Students
14
Years of Software dev
What People Say About Philipp’s Courses

















The Course at a Glance
Make a one-time investment for lifetime access to
-
120 Exclusive Videos About Kotlin Backend Development Spanning 20h: Learn how production-grade backend systems are structured and build your own server handling traffic for a chat client app.
-
Certificate Awarded at the End: At the end of the course, you’ll be able to take a quiz and get a certificate after passing to show off your expertise in Android development.
-
Unlimited Access: You can watch the course materials in your own pace at any time.
-
Optional Extension: In checkout, you can extend your purchase to the Kotlin Full-Stack Developer Bundle, get an additional bundle discount and learn to build the Kotlin Multiplatform client apps as well (covers Android, iOS, Windows, MacOS & Linux)
Total value: 249 EUR
Launch Deal: 179 EUR
30% PL Coding Early-Bird Discount: -54 EUR
Early Bird Deal: 125 EUR
20h of video material
30-day money-back guarantee
120+ video lessons
Approved by JetBrains
Total value:
249 EUR
Launch Deal:
179 EUR
30% PL Coding Early-Bird Discount:
-54 EUR
Early Bird Deal:
125 EUR
55h of video material
30-day money-back guarantee
300+ video lessons
Approved by JetBrains
30% Extra Discount on ALL Courses & Bundles
Discount already applied in checkout. Only during the launch week of the new Kotlin Full-Stack Developer Bundle.
Day(s)
:
Hour(s)
:
Minute(s)
:
Second(s)
FAQ
What are the prerequisites to take this course?
The prerequisites are understanding basic concepts of the following technologies:
- Kotlin
- Spring Boot Basics (a free crash course to learn this will be provided)
Will I get a certificate on completion?
What does "in collaboration with JetBrains" mean?
We’ve collaborated with JetBrains – the makers of Kotlin Multiplatform itself – to create this course. This means the entire course bundle has been reviewed and approved by JetBrains’ KMP developer advocates – those people who fundamentally contributed to the technology itself.
Is there a money back guarantee?
Just as for all of our courses, you get a voluntary 30-day money back guarantee in case you’re not satisfied with the course content.
Do I get lifetime access?
Yes, it’s a one-time investment into your career to keep access to the course and updates in future.