Back to Explorer
Beginner Friendly Open-Source Kotlin

Good First Issues in Kotlin

Explore curated starter issues in high-scoring Kotlin repositories. Every listed issue belongs to a welcoming repository scored by C-Rank™ on PR merge rates, review responsiveness, and first-timer acceptance.

Updated: Thu, 15 Oct 2026 UTC (Live GitHub Sync)
Real-Time Radar

Arm Issue Sniper for fresh Kotlin beginner issues

Beginner issues in welcoming S/A-Tier repositories get snatched within 15 minutes. Receive instant alerts on Discord, Telegram, or Email the minute a maintainer opens a new task.

Live Good First Issues (30)

Real-Time Open GitHub Issues
#773Opened 2 days ago
feat: Tab scrollbar improvements

A Reduce the scrollbar length for these tabs as they are currently too long. Make all 3 scrollbars the same length for consistency: Apps Patch Bundles Patch Profiles B The Tools tab is missing a scrollbar so display one when scrolling and ensure it has the same length as the scrollbar in the 3 tabs above for consistency: Screen_Recording_20261012_190210.mp4

FeatureEasy
shihabal3amri/DiPlay9,592 Tier A · 57 pts
#665Opened 3 days ago
Android 5.1.1

Feature request or question Is it possible to add support for Android 5.1.1? A great many car head units run on older versions of Android. Device information and additional context Jacinto 6 DRA745 2 Core, 2Gb RAM, Android 5.1.1

enhancementhelp wanted
2
ankidroid/Anki-Android11,999 Tier S · 70 pts
#22442Opened 3 days ago
docs: add source comments to default config values from upstream Anki

it would be nice to have a source to Anki default values Originally posted by @BrayanDSO in #22430 (comment) Search https://github.com/ankitects/ for the default value and link on the relevant extension method on :anki-common. Ideally, the value will be found in rslib, but you may find it in the Python. Note: some values may not have a default ("FSRS"), in which case, flag these for our review.

Good First IssueDocs
1
ankidroid/Anki-Android11,999 Tier S · 70 pts
#22441Opened 3 days ago
lint: investigate `InvalidStringFormatDetector` and `TAG_STRING_ARRAY`

Removed in #22438 Should likely be implemented instead of being removed

Good First IssueLint
1
#772Opened 3 days ago
feat: Add specific bundle version selection toggle

1 Below Use latest, add a toggle that allows to select a specific bundle version. When the toggle is enabled, it should un-grey out another option (maybe named "Select version"). Tapping "Select version" should open a dialog window listing all available bundle versions (both dev and stable) with a radio button on the right of each version number to select one. 2 Similarly to #630 and so f395, when this new toggle is enabled, visually disable and grey out both Use pre-releases and Use latest, while preserving and restoring their previous state when the new toggle is disabled.

FeatureEasy
kiwix/kiwix-android1,496 Tier A · 65 pts
#5194Opened 3 days ago
Default book icon displayed while loading

While loading the icon of a book in the catalogue, thexdefault icon is displayed. This is wrong, the default icon should be displayed only if there is no book favicon or if the book favicon somehow fails to be loaded.

buggood first issue
3
kiwix/kiwix-android1,496 Tier A · 65 pts
#5192Opened 3 days ago
Replace "Download" by "Explore"

...and I think the GitHub explore icon would be great

enhancementgood first issueUI
4
#771Opened 3 days ago
feat: Toggle behaviour improvements

1 Similarly to #630 and so f395, visually disable and grey out Use pre-releases when Use latest is enabled, while preserving and restoring its previous state when Use latest is disabled: 2 For downloaders, preserve and restore Pre-release previous state when Latest is disabled: Screen_Recording_20261011_200340.mp4 3 Also for downloaders, like in the runtimes video, grey out the Pre-release text and its description when Latest is enabled: Screen_Recording_20261011_204444.mp4 4 For runtimes, preserve and restore Pre-release previous state when Latest is disabled: Screen_Recording_20261011_200251.mp4 5 Like the Only while charging setting in the video below, grey out the Install automatically with Shizuku text and its description when Automatically repatch apps is disabled: Screen_Recording_20261011_225910.mp4 6 Similarly, grey out the Check

FeatureEasy
ankidroid/Anki-Android11,999 Tier S · 70 pts
#22433Opened 4 days ago
2.25: Font Scaling issue with whiteboard

https://www.reddit.com/r/Anki/comments/1x38vwb/bug_anki_whiteboard/

Help WantedCan't reproduce
6
knoop7/Ava-Pro565 Tier A · 57 pts
#253Opened 4 days ago
[Feature] Dark mode screensavers

Pre-flight checks I have searched the existing issues and found no duplicate This is a feature request, not a bug report The problem Currently if dark mode is turned on, it seems you can end up with rather bright screensavers. Proposed solution I wondered if Ava could request "dark" images from its backend to use for the screensaver when dark mode is enabled? Feature area Screensaver Target Android versions All supported versions Mockup / reference No response Additional context No response

help wantedfeature
knoop7/Ava-Pro565 Tier A · 57 pts
#252Opened 4 days ago
[Bug] 0.7.8 continuous conversation captures reply audio as new turns; Bedroom indicator remains active after idle

Pre-flight checks I have searched the existing issues and found no duplicate I am running the latest Ava release Bug summary On two Ava 0.7.8 tablets, Continuous Conversation caused a normal Home Assistant Assist reply to be followed by unintended new requests, including one transcript matching part of Ava's own spoken answer. Disabling Continuous Conversation stopped the rapid follow-up chain in subsequent tests on both. Separately, the Bedroom tablet's listening-like glow remained visible after a normal answer even with Continuous Conversation off and the HA satellite idle. Steps to reproduce Use Ava 0.7.8 as an HA Assist satellite with a wake word and Continuous Conversation enabled. The exact end-condition selection was not recorded. Ask a read-only question such as “What time is it?” once, then do not give another command. Ava transcribes and answers the first question correctly. Observe additional Assist runs without another intended command. On Bedroom, an answer like

bughelp wanted
knoop7/Ava-Pro565 Tier A · 57 pts
#251Opened 5 days ago
[Bug] Idle Sendspin client takes audio focus back ~2 s after another app requests it, pausing Netflix/Emby ... and any other player

Pre-flight checks I have searched the existing issues and found no duplicate I am running the latest Ava release Bug summary Starting video playback in another app (Netflix, Emby) on the tablet always ends with that app being paused about 4-5 seconds later. It does not matter which app plays. Ava requests AUDIOFOCUS_GAIN again about 2 s after the other app, which takes the focus back and makes the other app pause. The log line SendspinAudioFocus: AUDIOFOCUS_LOSS - will re-acquire from playout appears right before Ava's request. Steps to reproduce Ava Pro 0.7.8 running with "Music Assistant player" (Sendspin) enabled, playing and pause it (with the overlay) AVA has accessibility service permissions and device admin permissions Stop Screensaver by touch, diable browser by automation. Open Netflix (or Emby) from ava launcher on the same tablet and start a video. Video starts, then pauses by itself after about 4-5 seconds. Optional: adb shell dumpsys audio | grep -i requestAudioFocus

bughelp wanted
1
#22403Opened 5 days ago
Add user locale to "Copy Debug Info"

I suspect knowing the following would make it easier to understand the linked issue: System locale AnkiDroid language Backend language (if available) Add a single line to Copy Debug Info with these

Good First Issue
4
toxicity188/BetterHud266 Tier D · 21 pts
#525Opened 5 days ago
CAN USE THE NEW MINECRAFT SPRITES / ATLAS

My suggestion its that can be put the new sprites / atlas like this sprite:blocks:block/stone in texts.

help wanted
knoop7/Ava-Pro565 Tier A · 57 pts
#249Opened 5 days ago
[Feature] Self-update is not silent with Device Admin only – Device Owner (via dpm) needed? (follow-up to #232)

Pre-flight checks I have searched the existing issues and found no duplicate This is a feature request, not a bug report The problem Follow-up to #232. Ava Pro is active as Device Admin on my devices, but the in-app self-update still shows the system install dialog and needs a manual confirmation. In a company MDM app I wrote, the same flow installs silently. The only difference I see is that the MDM app is Device Owner, not just Device Admin. Question: Are Device Owner rights required for a silent self-update? If yes, could Ava Pro support being provisioned as Device Owner (e.g. via adb shell dpm set-device-owner) and then use the silent PackageInstaller path? Steps to reproduce Install Ava Pro on a device running LineageOS 18.1 (Android 11), e.g. Amazon Echo Show. Grant Ava Pro Device Admin rights. Trigger the self-update from Ava Pro. The system package installer dialog appears and needs manual confirmation. Proposed solution Expected: The update is installed in the background

help wantedfeature
1
ankidroid/Anki-Android11,999 Tier S · 70 pts
#22390Opened 5 days ago
refactor: Separate Deck Picker dialogs from side-pane changes

The back stack is shared with the Deck Picker dialogs This caused #22388 Side-pane navigation should be handled by a host fragment (+ child fragment manager).

Help Wanted
2
knoop7/Ava-Pro565 Tier A · 57 pts
#247Opened 6 days ago
[Bug] "Show after screen on" (0.7.8) has no effect – screensaver not shown after screen on

Pre-flight checks I have searched the existing issues and found no duplicate I am running the latest Ava release Bug summary First, thx for making most ov AVA pro open source and for your efforts!! Follow-up to #231. In 0.7.8 the new option Show after screen on (Ava Settings -> Screensaver -> Behavior & Wake) is enabled, but the screensaver is never shown when the screen turns on. The page that was visible before stays on screen. Steps to reproduce Update to Ava Pro 0.7.8. Enable Ava Settings -> Screensaver -> Behavior & Wake -> Show after screen on. Turn the screen off, then turn it on again via Home Assistant: lock.unlock on the panel's lock entity, or switch.turn_on on the panel's screen switch. Screen turns on. Expected vs actual behavior Expected behavior When the screen is turned on (woken from Home Assistant with lock... or switch_screen entity, not by touch or proximity), the screensaver appears and the page underneath stays as it was. Actual behavior The screen turns

bughelp wanted
aquamarine5/ChaoxingSignFaker717 Tier B · 51 pts
#224Opened 6 days ago
向你设敬🫡🫡🫡
good first issuewontfix
1
zero2005x/RokidAIAssistant101 Tier A · 57 pts
#40Opened 7 days ago
Test: unknown message types are ignored on both apps

Phone and glasses apps update independently (ADR 0002), so a newer phone may send message types an older glasses build doesn't know. Unit test: parsing an unknown type code doesn't throw and is dropped with a log line Same on the phone side for unknown glasses messages Fix the parser if either test fails Generated by Claude Code

good first issueroadmap
zero2005x/RokidAIAssistant101 Tier A · 57 pts
#35Opened 7 days ago
Add SPDX license headers to source files

Optional with Apache-2.0, but it makes the license clear when files are copied out of the repo. Add // SPDX-License-Identifier: Apache-2.0 as the first line of every .kt and .kts file in common, phone-app and glasses-app Do it in a single mechanical commit so it is easy to review Generated by Claude Code

good first issue
zero2005x/RokidAIAssistant101 Tier A · 57 pts
#33Opened 7 days ago
Translate doc/SYSTEM_ONE_AGENTS_RESEARCH.md to English

doc/SYSTEM_ONE_AGENTS_RESEARCH.md is written only in Traditional Chinese. English is the primary language for this reference architecture. Translate into English, keeping links, code names and numbers exactly as they are Move the Chinese original to doc/zh-TW/SYSTEM_ONE_AGENTS_RESEARCH.md Add a language switch line at the top of both files, like doc/ARCHITECTURE.md has Research notes; mark Jev, Laya and Agents as experimental at the top. Generated by Claude Code

documentationgood first issueroadmap
1
zero2005x/RokidAIAssistant101 Tier A · 57 pts
#32Opened 7 days ago
Translate doc/DEVICE_SMOKE_TEST.md to English

doc/DEVICE_SMOKE_TEST.md is written only in Traditional Chinese. English is the primary language for this reference architecture. Translate into English, keeping links, code names and numbers exactly as they are Move the Chinese original to doc/zh-TW/DEVICE_SMOKE_TEST.md Add a language switch line at the top of both files, like doc/ARCHITECTURE.md has Keep the recorded results as they are; only translate. Generated by Claude Code

documentationgood first issueroadmap
zero2005x/RokidAIAssistant101 Tier A · 57 pts
#31Opened 7 days ago
Translate doc/DEVICE_INSTALLATION.md to English

doc/DEVICE_INSTALLATION.md is written only in Traditional Chinese. English is the primary language for this reference architecture. Translate into English, keeping links, code names and numbers exactly as they are Move the Chinese original to doc/zh-TW/DEVICE_INSTALLATION.md Add a language switch line at the top of both files, like doc/ARCHITECTURE.md has Needed by anyone trying the app on real glasses. Generated by Claude Code

documentationgood first issueroadmap
kiwix/kiwix-android1,496 Tier A · 65 pts
#5174Opened 8 days ago
read aloud button is blue!

While "back to top" is black and looks different. What are the rational s behind this discrepancies?

enhancementgood first issue
1
kiwix/kiwix-android1,496 Tier A · 65 pts
#5173Opened 8 days ago
Launch "read aloud" on "TED Sex" crash the app

With the ZIM welcome page. I have just sent the diagnostic per E-Mail

buggood first issue
7
ShadAdman/KSensor131 Tier B · 50 pts
#69Opened 8 days ago
Network Transport Speed (Net Speed)

Expand NetworkPlugin with networkCapabilities() or linkSpeed() emitting cellular generations (4G LTE, 5G NR, Wi-Fi 6) and estimated downstream/upstream bandwidth in Mbps.

enhancementhelp wantedgood first issueStateType
detekt/detekt7,089 Tier A · 60 ptsPR #9789 In Progress
#9780Opened 8 days ago
`RedundantVisibilityModifier` false negative on constructor visibility

Expected Behavior Something like this: internal class AuthenticationSingleSignOnManagerImpl internal constructor(/*...*/) Should be marked by RedundantVisibilityModifier internal constructor -> constructor. The constructor is also unnecessary once you remove the visibility in this sample but we shouldn't care about that here, other rules take care of that. Observed Behavior No issue raised on that code Your Environment Version of detekt used: 2.0.0-alpha6

bughelp wanted
yairm210/Unciv11,428 Tier A · 67 pts
#15719Opened 9 days ago
RFC: Feature - Allow double-click to adopt new policy branch

Problem Description Anyone else being frustrated by the Policy Picker - all policies except new branches can be double-clicked? Desired Solution I've got it coded: https://github.com/yairm210/Unciv/compare/master...SomeTroglodyte:PolicyBranchDoubleClick?expand=1 ... but it relies on delaying the confirmation pop-up and corresponding guards, which might irk single-clickers, so unless there is more interest I'm not opening the PR. Alternative Approaches ignore

help wantedfeatureUI
#768Opened 9 days ago
feat: `App language` improvements

1 When scrolling up or down the list of languages, display a scrollbar: 2 Order the languages alphabetically, but keep Use device language at the top:

FeatureEasy
#5167Opened 9 days ago
Add back to top button in language selector

Like in an article, because thexlist can be very long!

good first issueUI
5

Top Kotlin Repositories with Beginner Issues (20)

Updated Daily via GitHub GraphQL
sameerasw
essentials
sameerasw/essentials
S•Elite
3.3k·Kotlin

Essential tools and mods for Android nerds

#android#google-pixel#jetpack-compose
80%
Merge Rate
-
Review Time
57%
1st-Timers
24 GFI
Scorecard
owenlejeune
ArrMatey
owenlejeune/ArrMatey
S•Elite
717·Kotlin

No repository description available.

79%
Merge Rate
-
Review Time
100%
1st-Timers
2 GFI
Scorecard
askimo-ai
askimo
askimo-ai/askimo
S•Elite
517·Kotlin

AI desktop app for chat, RAG, Skills, MCP tools, and agents. Support multiple LLMs (Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM, Gemini, OpenRouter)

#ai-assistant#artificial-intelligence#chatgpt
87%
Merge Rate
-
Review Time
100%
1st-Timers
5 GFI
Scorecard
ankidroid
Anki-Android
ankidroid/Anki-Android
S•Elite
12.0k·Kotlin

AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.

#android#anki#ankidroid
71%
Merge Rate
-
Review Time
64%
1st-Timers
19 GFI
Scorecard
NucleusFramework
Nucleus
NucleusFramework/Nucleus
S•Elite
403·Kotlin

Native desktop platform for the JVM. Compose Multiplatform apps with real OS integration — native window decorations, notifications, taskbar and dock, code signing, installers, auto-update — packaged for macOS, Windows and Linux from a single Gradle DSL. Runs on the JVM or as a GraalVM native image.

#compose#compose-desktop#compose-multiplatform
83%
Merge Rate
-
Review Time
60%
1st-Timers
1 GFI
Scorecard
pachli
pachli-android
pachli/pachli-android
A•Welcoming
258·Kotlin

The Pachli Android app

#android#android-app#android-application
95%
Merge Rate
-
Review Time
100%
1st-Timers
1 GFI
Scorecard
open-telemetry
opentelemetry-kotlin
open-telemetry/opentelemetry-kotlin
S•Elite
148·Kotlin

An implementation of the OpenTelemetry specification as a Kotlin Multiplatform Library

#android#ios#javascript
78%
Merge Rate
-
Review Time
60%
1st-Timers
30 GFI
Scorecard
rawnaldclark
Stash
rawnaldclark/Stash
S•Elite
1.2k·Kotlin

Your Spotify + YouTube Music library & daily mixes. Free and open source forever.

#android#exoplayer#jetpack-compose
77%
Merge Rate
-
Review Time
71%
1st-Timers
3 GFI
Scorecard
leonlatsch
Photok
leonlatsch/Photok
S•Elite
980·Kotlin

Private photo vault for Android

#android#android-app#app
93%
Merge Rate
-
Review Time
100%
1st-Timers
1 GFI
Scorecard
libre-tube
LibreTube
libre-tube/LibreTube
S•Elite
12.8k·Kotlin

An alternative frontend for YouTube, for Android.

#android#kotlin#material-design
78%
Merge Rate
-
Review Time
67%
1st-Timers
3 GFI
Scorecard
D4vidDf
HyperBridge
D4vidDf/HyperBridge
A•Welcoming
404·Kotlin

Bring the native Dynamic Island experience to HyperOS. Bridges android notifications into HyperIslands.

#android#hyper-island#hyperos
65%
Merge Rate
-
Review Time
50%
1st-Timers
4 GFI
Scorecard
Kotlin
dataframe
Kotlin/dataframe
A•Welcoming
1.1k·Kotlin

Kotlin DataFrame: typesafe in-memory structured data processing for JVM

#data-analysis#data-science#dataframe
77%
Merge Rate
-
Review Time
100%
1st-Timers
1 GFI
Scorecard
getsentry
sentry-java
getsentry/sentry-java
A•Welcoming
1.4k·Kotlin

A Sentry SDK for Java, Android and other JVM languages.

#android#feign-client#java
67%
Merge Rate
-
Review Time
54%
1st-Timers
3 GFI
Scorecard
google
ksp
google/ksp
A•Welcoming
3.5k·Kotlin

Kotlin Symbol Processing API

75%
Merge Rate
-
Review Time
70%
1st-Timers
3 GFI
Scorecard
anilbeesetti
nextplayer
anilbeesetti/nextplayer
A•Welcoming
4.5k·Kotlin

An Android native video player

#android#exoplayer#jetpack-compose
70%
Merge Rate
-
Review Time
100%
1st-Timers
1 GFI
Scorecard
ZacSweers
metro
ZacSweers/metro
A•Welcoming
1.4k·Kotlin

A multiplatform, compile-time dependency injection framework for Kotlin

#compiler-plugin#dependency-injection#di
92%
Merge Rate
-
Review Time
90%
1st-Timers
1 GFI
Scorecard
DimensionDev
Flare
DimensionDev/Flare
A•Welcoming
1.6k·Kotlin

Browse Mastodon, Bluesky, X, Misskey, Nostr, Pixiv, Fanbox and RSS all in one app. One timeline, all your accounts, cross-post everywhere.

84%
Merge Rate
-
Review Time
50%
1st-Timers
1 GFI
Scorecard
yairm210
Unciv
yairm210/Unciv
A•Welcoming
11.4k·Kotlin

Open-source Android/Desktop remake of Civ V

#4x#4x-strategy-game#android
71%
Merge Rate
-
Review Time
76%
1st-Timers
3 GFI
Scorecard
TencentBlueKing
bk-ci
TencentBlueKing/bk-ci
A•Welcoming
2.5k·Kotlin

蓝鲸持续集成平台(蓝盾)

#blueking#ci#continous-delivery
80%
Merge Rate
-
Review Time
86%
1st-Timers
5 GFI
Scorecard
LeanBitLab
LeanType
LeanBitLab/LeanType
A•Welcoming
1.0k·Kotlin

LeanType is an Open-source keyboard, fork of HeliBoard with additional features and customisation

#android#aosp#gemini-api
62%
Merge Rate
-
Review Time
57%
1st-Timers
1 GFI
Scorecard

How to make your first Kotlin open-source pull request

Finding approachable Good First Issues in Kotlin allows you to build real-world software engineering experience. Instead of submitting PRs to abandoned repositories, GetMerged verifies maintainer review speeds and first-timer acceptance rates before you write a single line of code.

Select any issue above to claim it directly on GitHub, or click a repository to inspect full maintainer review turnaround metrics and triage guidance!

Get this week's top welcoming repos + fresh Good First Issues for Kotlin

Free weekly email, scoped to Kotlin. No account needed - confirm once and unsubscribe anytime.