Maarten Balliauw
Building a Friendly Kotlin SDK to Connect to JetBrains Space
#1about 7 minutes
An overview of the JetBrains Space integrated team environment
A tour of the core features in JetBrains Space, including calendars, Git repositories, issue tracking, and deep chat integration.
#2about 6 minutes
Exploring the extensive and flexible Space HTTP API
An introduction to the Space HTTP API Playground and the powerful `fields` parameter used to customize API response shapes.
#3about 2 minutes
Why code generation was chosen for the SDK
The decision to use code generation is explained by the challenges of a large, evolving API surface where manual implementation or standard tools would be inefficient.
#4about 8 minutes
Building a generator from a custom API metadata model
The SDK generator is built upon a custom API endpoint that exposes the entire application's data model, including DTOs and enums, as structured JSON.
#5about 3 minutes
Generating type-safe Kotlin code using KotlinPoet
A look at using KotlinPoet for a model-based approach to code generation, which provides compile-time safety and better code quality over simple string templating.
#6about 7 minutes
Designing the SDK for a great developer experience
Key developer experience features are created through discoverable API mapping, a type-safe DSL for selecting fields, and custom builders for complex objects.
#7about 3 minutes
Practical SDK usage with live code examples
A code demonstration shows how to initialize the client, discover services, handle runtime errors for missing data, and use factory methods for identifiers.
#8about 1 minute
Key takeaways on building a friendly SDK
The talk concludes by summarizing how code generation and a focus on discoverability can create a successful and user-friendly SDK for a complex API.
Related jobs
Jobs that call for the skills explored in this talk.
Java / Kotlin Developer in einem Cloud-Native-Stack
PROSOZ Herten GmbH
Herten, Germany
Intermediate
Senior
Matching moments
26:25 MIN
Exploring the platform's technology stack and architecture
Shared mobility for everyone!
09:48 MIN
Implementing a developer portal with Spotify Backstage
Building Developer Experience - Brick by Brick
05:16 MIN
How to build applications on the Bluesky platform
Building Bluesky as a Platform - Eric Bailey
11:07 MIN
Key ingredients for hosting a successful developer event
Jelena Jelušić - Engineering Management Meetup Success Story Discover How to Host Events Engineers Love
09:33 MIN
How Copilot Workspace solves the Code Spaces cold start problem
Coffee With Developers - Kyle Daigle, COO of GitHub
11:11 MIN
Adopting the holistic SPACE productivity framework
Do you know how fast you were developing?
08:17 MIN
How Atlassian built a community around its products
The Power of Developer Communities
23:03 MIN
The future is building your own internal developer platform
GitOps for the people
Featured Partners
Related Videos
Why Kotlin is the better Java and how you can start using it
Iris Hunkeler
Route from Java to Kotlin
Christian Woerz
Give your build some love, it will give it back!
Amanda Martin
Introducing Kotlin Multiplatform in an existing project
Marco Gomiero
Application Modernization Leveraging Gen-AI for Automated Code Transformation
Syed M Shaaf
Kotlin Multiplatform - True power of native code reuse
Petar Marijanović
Forget Developer Platforms, Think Developer Productivity!
Robert Hoffmann & Christian Denich
OpenAPI meets OpenAI
Christopher Walles
From learning to earning
Jobs that call for the skills explored in this talk.

Senior Machine Learning Engineer (f/m/d)
MARKT-PILOT GmbH
Stuttgart, Germany
Remote
€75-90K
Senior
Python
Docker
Machine Learning


Senior Systems/DevOps Developer (f/m/d)
Bonial International GmbH
Berlin, Germany
Senior
Python
Terraform
Kubernetes
Elasticsearch
Amazon Web Services (AWS)





(Senior) Backend Developer (Java/Kotlin) - Business Application Development
JetBrains GmbH
Senior
Java
MySQL
Redis
Spring
Kotlin
+4

Software Developer - Microservice Architecture, Kotlin
Must-haves
Intermediate
Scrum
React
DevOps
Gitlab
Kotlin
+9