Fetching the latest programs, projects, and workspace data.

Advance the Kotlin programming language
Showing 5 of 17 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Mark Seif Khalil
Kotlin is one of the most widely used languages in modern software development, but there is no structured, global picture of how it is actually being taught. Students graduate without knowing coroutines. Courses skip Jetpack Compose. Academic syllabi lag years behind what the industry expects. This project exists to measure that gap and help close it. I will collect and analyze data from 80+ university curricula across 6 regions, online course platforms including Udemy, Coursera, and JetBrains Academy, surveys of 150+ students, educators, and developers, and 500+ public GitHub repositories comparing educational and real-world Kotlin code. Using Python, SQL, and Tableau, I will identify where the gaps are largest, what is driving them, and what can be done about it. The deliverables are: a curated open dataset of Kotlin educational resources, an interactive dashboard for the community to explore trends by region and topic, and a comprehensive "Kotlin in Education" report with concrete recommendations for the Kotlin Foundation and educators worldwide.
Mentors: Student: Ayako Hayasaka
WebAssembly's call stack limit is unspecified by the spec and varies across host environments. As a result, any Kotlin/Wasm program that uses mutual recursion or deep tail calls is vulnerable to stack overflow at runtime, with no way to guarantee safe execution across browsers and runtimes. Kotlin's existing tailrec modifier mitigates this for simple self-recursion by rewriting functions as loops, but it cannot handle mutual recursion or indirect calls, and requires an explicit annotation that many developers will not add. The WebAssembly Tail Call proposal (standardized and part of the Baseline target since 2024) addresses this at the instruction level with return_call and return_call_ref, which discard the current stack frame before transferring control and reduce stack consumption from O(n) to O(1) regardless of recursion structure. This project integrates that proposal into the Kotlin/Wasm compiler backend. The work covers adding the missing RETURN_CALL opcode to the Wasm IR layer, detecting tail call positions in the code generation pipeline and emitting return_call and return_call_ref in place of the current call + return two-instruction sequence, writing a test suite covering mutual recursion and virtual dispatch across multiple host environments, and benchmarking return_call against the existing loop transformation to evaluate the tradeoffs.
Mentors: Student: Yongjun Hong
The migration to Maven Central's new API instance has introduced significant changes, requiring specialized support in Gradle plugins for seamless publishing. This project aims to develop a new Gradle plugin compatible with the updated APIs, simplifying the process with Kotlin DSL extensions and automating tasks like GPG signing and artifact packaging. Deliverables include a fully functional plugin, comprehensive documentation, and robust test coverage.
Mentors: Student: Hemram
This project aims to build a high-performance, build-system agnostic Kotlin Language Server using the Kotlin Analysis API. The goal is to replace the unmaintained and inefficient open-source LSP with a modern implementation that supports the full LSP 3.17 spec, works across editors like VSCode and Neovim, and delivers IDE-grade language features like diagnostics, completions, and navigation without depending on kotlinc. By the end of GSoC, this project will provide Kotlin developers with a powerful alternative for writing and maintaining code outside JetBrains tooling.
Mentors: Student: Aarav Mahajan
This project aims to modernize Jenkins plugin development using Gradle by updating the existing Gradle JPI plugin and introducing a new convention plugin. The primary goal is to achieve feature parity with Maven workflows, improve compliance with Jenkins hosting requirements, and enhance developer experience. Key deliverables include migrating the codebase from Groovy to Kotlin DSL, integrating Jenkins-specific tools like Plugin Compatibility Tester (PCT) and Bill of Materials (BOM), and simplifying build, test, and release processes for Jenkins plugins. This initiative will strengthen the Gradle ecosystem while improving the reliability and efficiency of Jenkins plugins.