explaingit

takusemba/spotlight

Analysis updated 2026-07-03

3,663KotlinAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

An Android library that creates onboarding tutorials by drawing a glowing spotlight ring over specific parts of the screen, guiding users step-by-step through an app's features.

Mindmap

mindmap
  root((spotlight))
    What it does
      Screen overlay
      Spotlight highlight
      Step-by-step walkthrough
    Customization
      Circle or rect shape
      Ripple effects
      Custom overlay layout
    Navigation
      Next and previous steps
      Jump to index
      Start and end callbacks
    Setup
      Gradle dependency
      Define targets
      Anchor to views
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add a first-launch onboarding walkthrough to your Android app that highlights buttons and explains their purpose one at a time.

USE CASE 2

Create a feature tour for a new app update, pointing users to recently added buttons or sections with animated spotlights.

USE CASE 3

Build a guided tutorial mode inside a complex Android app that steps users through a workflow without leaving the screen.

What is it built with?

KotlinAndroid

How does it compare?

takusemba/spotlightguolindev/permissionxelement-hq/element-android
Stars3,6633,6693,685
LanguageKotlinKotlinKotlin
Setup difficultyeasyeasyhard
Complexity2/52/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Add as a Gradle dependency, requires Android API 14 or above.

Use freely in personal and commercial projects, Apache 2.0 only requires keeping the copyright and license notice.

In plain English

Spotlight is an Android library that helps app developers create onboarding tutorials or guided walkthroughs by highlighting specific parts of the screen. When you open an app for the first time and a dark overlay appears with a glowing circle pointing at a button to explain what it does, that kind of effect is what Spotlight produces. The library handles the animation, the overlay, and the step-by-step progression so the developer does not have to build it from scratch. To use it in an Android app, you add the library as a dependency and then define a series of targets, where each target is a specific spot on the screen you want to draw attention to. You position each target by coordinates or by anchoring it to an existing view, choose a shape for the spotlight ring (a circle or rounded rectangle are provided, or you can draw a custom shape), and optionally add a ripple or flicker visual effect around the highlighted area. You can also attach an overlay layout to each target to display explanatory text or illustrations next to the spotlight. Once you build the sequence of targets, you start the spotlight and step through them with next, previous, or jump-to-index calls. Callbacks let you run code when a spotlight starts or ends, which is useful for animating explanatory labels in sync with the highlight. The library works on Android API 14 and above, is written in Kotlin, and is released under the Apache 2.0 license, meaning it can be used freely in both personal and commercial projects. The repository includes a sample app module that demonstrates the features in a working app.

Copy-paste prompts

Prompt 1
Using the Spotlight Android library, write Kotlin code that creates a 3-step onboarding flow for an app with a bottom navigation bar, highlighting each tab in sequence with an explanatory overlay.
Prompt 2
Show me how to use the Spotlight library to add a ripple animation effect around a FAB button and display a custom tooltip layout next to it.
Prompt 3
Write a Kotlin function using Spotlight that skips the onboarding sequence if the user has already seen it, using SharedPreferences to track their status.
Prompt 4
How do I use Spotlight callbacks to trigger an animation on a label element after the user completes the last step of the onboarding tour?

Frequently asked questions

What is spotlight?

An Android library that creates onboarding tutorials by drawing a glowing spotlight ring over specific parts of the screen, guiding users step-by-step through an app's features.

What language is spotlight written in?

Mainly Kotlin. The stack also includes Kotlin, Android.

What license does spotlight use?

Use freely in personal and commercial projects, Apache 2.0 only requires keeping the copyright and license notice.

How hard is spotlight to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is spotlight for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub takusemba on gitmyhub

Verify against the repo before relying on details.