Android Chess Mobile App

This project marked my introduction to Java, the Android SDK, and mobile app development. Through building this chess app, I not only learned how to implement Android-specific features but also gained experience in creating user-friendly interfaces, handling local data storage, and optimizing for performance on mobile devices.

Key features

  • Timers and Modes: Implemented various timer settings for gameplay flexibility (e.g., 5-minute blitz, 10-minute, and no-timer options) using Android’s CountDownTimer API. This allows for different game paces and caters to casual and serious players alike.

  • Free Setup Mode: In addition to regular gameplay, the free setup mode lets users place as many pieces as they want anywhere on the board, allowing for scenario-based study or experimental play. Implementing this feature required custom logic for board validation and flexibility, empowering users to explore unique configurations.

  • Openings Section: An integrated learning section provides brief, accessible guides to well-known chess openings like the Sicilian Defense enabling the app to introduce players to foundational chess strategies.

  • Offline Multiplayer: Built to operate fully offline, the app uses local multiplayer functionality so players can enjoy the game without needing an internet connection. The openings are also accessible offline.

Publishing experience

  • Publishing on Google Play Console: This was my first experience using Google Play Console to bring an app to a global audience. The process introduced me to essential publishing steps, such as preparing the app for different devices, creating a compelling store listing, and meeting Google’s quality and compliance standards.

  • Meeting Google’s Compliance Standards: One challenge was ensuring the app and ads met Google’s policies, especially around content and privacy requirements. I researched and implemented a clear privacy policy and adapted the app’s data handling practices to comply with Google’s standards.

  • Testing Process through Google Console: As part of Google Console's beta testing procedure, I hired 20 freelance testers to evaluate the app over a 14-day period. This experience provided valuable insights into managing a test team, gathering feedback, and implementing improvements to enhance user experience and stability.

  • AdMob Integration for In-App Monetization: Integrating Google AdMob for in-app ads was a new experience that introduced me to mobile monetization strategies and best practices. I implemented ads with the intent of creating a non-intrusive, user-friendly monetization model.

Chess Everywhere

I ended up removing the app from play store and removing ads from the code. I only started this project to learn about java, the android environment and how to publish apps. There are already a lot of chess apps out there.