Open source

Contribute to AndroidDevKit

Everything here is community-built and lives on GitHub. No CMS, no login - just Markdown files and pull requests. Here is how to add yours.

Not on GitHub? Share an experience in seconds

Use the in-browser form - no account, no pull request, no setup. We open the PR for you and a maintainer reviews it before it goes live.

Share your experience
1

Fork & clone

Fork the repo on GitHub and clone it locally. Run npm install && npm run dev to preview your changes.

2

Add a content file

Drop a Markdown file into the right folder under src/content/. Each question, post, or experience is a single file - copy a template below.

3

Open a pull request

Commit on a new branch, push to your fork, and open a PR. A maintainer reviews for accuracy and merges. Cloudflare Pages deploys automatically.

Add an interview question

Create a file in src/content/questions/, e.g. structured-concurrency.md. One question per file keeps reviews fast.

---
question: "What is structured concurrency in Kotlin coroutines?"
topic: coroutines        # must match a topic id in src/content/topics/
difficulty: mid          # junior | mid | senior
tags: ["coroutines", "scopes"]
author: "Your Name"      # optional
---

Structured concurrency ties the lifetime of coroutines to a **scope**...

\`\`\`kotlin
viewModelScope.launch {
    val user = async { repo.user() }
    val feed = async { repo.feed() }
    render(user.await(), feed.await())
}
\`\`\`

Explain trade-offs, edge cases, and what an interviewer is really probing for.

Share an interview experience

Create a file in src/content/experiences/. Anonymize anything you need to - author: "Anonymous" is welcome.

---
company: "Acme Corp"
role: "Senior Android Engineer"
level: "Senior"          # Intern | Junior | Mid | Senior | Staff+
location: "Bengaluru, India"
remote: false
outcome: "Offer"         # Offer | Rejected | Withdrew | In Progress | No Response
date: 2026-05-12
author: "Anonymous"
tags: ["compose", "system-design"]
---

## Round 1 - Phone screen
What they asked, how it went...

## Round 2 - Coding
...

## Takeaways
What you'd do differently next time.

Add a new topic

Topics are the spine of the site. Add one in src/content/topics/ - the filename (minus extension) becomes the topic id that questions reference.

---
title: "Coroutines"
description: "Structured concurrency, scopes, dispatchers, and Flow."
category: "Kotlin"       # groups topics on the index page
order: 10                # lower sorts first
icon: "⟳"
---

Optional overview shown above the questions on the topic page.

Write a blog post

Longer guides go in src/content/blog/ with title, description, and date frontmatter. Markdown and MDX are both supported.

Review guidelines

  • Be accurate. Answers should be correct and current - link sources where it helps.
  • Be respectful. Never name individual interviewers, and don't post proprietary or NDA-bound material.
  • Be concise. Explain the why, not just the what - that's what interviewers probe for.
  • One thing per PR. Smaller pull requests get reviewed and merged faster.