GSoC 2026
Kotlin Foundation

Kotlin Foundation — Project Ideas

Google Summer of Code with Kotlin 2026

This article contains the list of project ideas for Google Summer of Code with Kotlin 2026, and contributor guidelines

Kotlin contributor guidelines for Google Summer of Code (GSoC)

Getting started

Check out the

GSoC FAQand theprogram announcement.Familiarize yourself with the Kotlin language:

The official

Kotlin websiteis a great place to start.Read the official

documentationto get a better understanding of the language.Take a look at the Kotlin courses on

JetBrains Academyor the Android team'sTraining options.Follow the

Kotlin XorKotlin Blueskyaccounts to stay up to date on the latest news and developments.Check out the

Kotlin YouTube channelfor tutorials, tips, and the latest updates.

Get to know the Kotlin open source community:

Explore the general

Kotlin contribution guidelines.Join the Kotlin Slack channelto connect with other developers and get help with any questions you may have.Join the #gsoc channelto ask questions and get support from the GSoC team.

How to apply

Check out the

project ideasand select the one you would like to work on.If you are not familiar with Kotlin,

read the introductory info on the Kotlin website.Refer to the

GSoC contributor guidelines.Apply via the

GSoC website.We suggest that you write a working code sample relevant to the proposed project. You can also show us any code sample that you are particularly proud of.

Describe why you are interested in Kotlin and your experience with it.

If you participate in open source projects, please reference your contribution history.

If you have a GitHub, Twitter account, blog, or portfolio of technical or scientific publications, please reference them as well.

Disclose any conflicts with the GSoC timeline due to other commitments, such as exams and vacations.

Thank you! We look forward to reading your applications!

Project ideas

Kotlin Compiler Fuzzer (Kai) [Hard, 350 hrs]

In recent years, fuzzing has become a widely used technique for finding complex bugs in software. The Kotlin compiler is no exception: previous fuzzing efforts resulted in more than 200 deduplicated bugs across different compiler subsystems.

However, the existing fuzzer implementation is now obsolete and cannot be reasonably evolved further. The goal of this project is to build a new Kotlin compiler fuzzer, Kai, from scratch, based on previous experience and modern tools and techniques.

The main goal of this internship is to establish a solid foundation for future development of the fuzzer. The focus areas include:

Designing a fuzzer architecture that supports pluggability

Selecting tools for generating, mutating, and processing Kotlin code

Defining reliable ways to detect compiler failures

Designing proper workflows for collecting, classifying, and handling discovered issues

As a deliverable, we aim to create a prototype Kotlin compiler fuzzer that is modular and easy to evolve, unlike a monolithic implementation. Finding real compiler bugs would be a great bonus, but it is not the primary goal of this internship.

If you have preliminary questions about the project, contact the mentor at: marat.akhin [at] jetbrains.com

Expected outcomes

A prototype Kotlin compiler fuzzer with a pluggable architecture that supports future evolution.

Skills required (must-have)

Proficiency in Kotlin or another JVM-based language

Technical English sufficient for reading relevant papers and documentation

Basic understanding of compilers

Skills required (nice-to-have)

Familiarity with fuzzing or other forms of program analysis

Experience with Kotlin compiler plugins, IDE plugins, or other pluggable systems

Experience with greenfield developer tooling projects

What you will learn

Hands-on experience with compiler fuzzing

How internal developer tooling is designed and built

How to design and implement pluggable systems

Possible mentor

Marat Akhin, JetBrains

Tasks for applicants

Task #1

Describe, at a high level, how you envision the architecture of a Kotlin compiler fuzzer.Task #2

Based on the architecture from Task 1, which components are most important for pluggability, and why?Task #3

Based on the architecture from Task 1, do you see opportunities to use LLMs or AI? If so, where and how?Task #4

How would you test the fuzzer itself? Is back-testing possible? If yes, how?Task #5 (Bonus)

Choose one component from the architecture in Task 1 and describe how it could be implemented in more detail.

For example, which tools, libraries, or algorithms could be used?

Swift-to-Kotlin interop (PoC) [Hard, 350 hrs]

Modern software projects rarely live in a single language ecosystem. On Apple platforms, Swift is the primary language, while Kotlin is widely used for shared and cross-platform business logic. However, there is currently no straightforward way to import Swift APIs directly into Kotlin.

In this project, you will build on an existing open-source Swift–Java bridge and add Kotlin/Native as a target runtime. This includes designing how Swift APIs are exposed to Kotlin/Native, how calls cross the Swift/Kotlin boundary, and how object lifetimes are managed across runtimes.

The goal is to create a proof of concept for Swift-to-Kotlin/Native interop, document design decisions and trade-offs, and evaluate limitations and future directions.

Expected outcomes

A proof of concept for Swift-to-Kotlin/Native interop, with documented design decisions, trade-offs, limitations, and future directions.

Skills required (must-have)

Currently pursuing or recently completed a degree in Computer Science or a related field

Familiarity with Swift

Interest in programming languages and interoperability

Skills required (nice-to-have)

Familiarity with Kotlin

Possible mentor

Artem Olkov, JetBrains

Tasks for applicants

Task #1

Fork theswift-javarepository and extend it with a new target that generates Kotlin sources.Task #2 (Optional)

Extend the previous task by making the generated Kotlin code callable using the existing JNI or FFM runtime.

Tail call support in the Kotlin/Wasm backend [Medium, 90 hrs]

This project focuses on integrating the tail call proposal into the Kotlin/Wasm backend. The intern will design and implement tail call support and evaluate its impact through benchmarking.

Expected outcomes

Design and implementation of tail call support for Kotlin/Wasm, with benchmarks and evaluation.

Skills required (preferred)

General familiarity with interpreters and compilers, and interest in optimization and benchmarking.

Possible mentor

Charlie Zhang, JetBrains

Kotlin Education landscape report [Medium, 175 hrs]

Kotlin is taught and used in educational settings worldwide. This project aims to create a structured, up-to-date overview of where and how Kotlin is taught.

Expected outcomes

A “Kotlin in Education” report highlighting trends and gaps

Reusable datasets for internal and public use

Input for future strategy

Skills required (preferred)

Research and data analysis skills

Interest in programming education and developer ecosystems

Possible mentor

Ksenia Shneyveys, JetBrains

Command Palette

Search for a command to run...