📘 Android Developer Intern – Assignment
💬 Build a Chat Application (Kotlin)
As part of the selection process for the Android Developer Intern role, we’d like to assess your
ability to design and implement real-world features in an Android app. This assignment helps us
understand your coding practices, UI/UX thinking, and architectural decisions.
📌 While we encourage the use of Jetpack Compose, it’s not mandatory. Feel free to
use XML-based layouts if you're more comfortable with them.
🛠️ Tech Stack
● Language: Kotlin (required)
● UI: Jetpack Compose (preferred) or XML layouts
● Backend: Firebase (Firestore & Auth) or your own backend
✅ Objective:
Create a simple chat application with the following working features:
1. Authentication
● Sign up / Sign in screen using email and password.
● Use Firebase Authentication or your own backend.
2. Chat List
● Display a list of existing conversations.
● Each list item should show:
○ User’s name
○ Last message
○ Timestamp
3. Chat Screen
● One-to-one chat interface.
● Real-time message sending and receiving.
● Display full chat history.
4. User Search
● Search users by username or email.
● Start a new chat by selecting a user.
5. Data Storage
● Use Firebase Firestore or your custom backend to store:
○ User profiles
○ Chat messages
○ Conversations
6. UI Polish
● Apply basic Material Design principles.
● Show loading states and error handling gracefully.
📤 Submission Guidelines
● Upload your project to GitHub (public repo or share access).
● Include a README.md with:
○ Setup instructions
○ Features completed
○ Screenshots or demo video (optional but preferred)
● Send the GitHub link + your resume to: [email protected]