1 minute read

As part of my portfolio and continuous learning in full-stack and mobile development, I created MyGeekDB — an IMDB-style Android app built with Kotlin. The goal of this project was to combine clean architecture, real-time database handling, and modern Android development best practices into a lightweight but fully functional application.


📱 What Is MyGeekDB?

MyGeekDB is a simple movie catalog app that allows users to:

  • Browse a list of movies (with posters and metadata)
  • Add, update, and delete movies from the collection
  • View individual movie details
  • Store data in Firebase Firestore, making it scalable and real-time

🧰 Tech Stack

Here’s what powers the app:

  • Language: Kotlin
  • Architecture: MVVM (Model-View-ViewModel)
  • Database: Firebase Firestore
  • UI: Jetpack components, RecyclerView
  • Navigation: Jetpack Navigation component
  • State Management: LiveData & ViewModel
  • IDE: Android Studio

🎯 Key Features

  • 🔍 Search functionality for quick filtering
  • ☁️ Real-time database syncing with Firebase
  • Validation and input controls for adding/editing entries
  • 🔄 CRUD operations (Create, Read, Update, Delete)
  • 📱 Responsive UI for different screen sizes

🧪 What I Learned

This project helped solidify my skills in:

  • Kotlin best practices and idioms
  • Using Firebase as a backend-as-a-service
  • Structuring Android apps using MVVM
  • Managing real-time data updates with Firestore
  • Improving UI/UX using Jetpack libraries

🧠 Challenges & Solutions

  • State handling with asynchronous Firebase calls required carefully managing LiveData to avoid UI flickering.
  • Handling Firestore permissions and avoiding reads/writes from unauthenticated users needed tight security rule management.
  • I integrated simple user input validation to avoid malformed data in the database.

🚀 What’s Next?

Future improvements may include:

  • User authentication via Firebase Auth
  • Adding reviews/ratings and sorting features
  • Dark mode support
  • Offline caching using Room or local database fallback

🔗 Project Repository

Check out the full source code here:
👉 MyGeekDB on GitHub


📹 Video Walkthrough of the project

👉 Video

This project was a stepping stone in my journey toward becoming a cybersecurity analyst with a solid understanding of system architecture, mobile ecosystems, and secure data handling. Stay tuned for more projects and blog posts!