Welcome to the CodeForces Android Companion App! This open-source mobile application allows competitive programmers to interact with CodeForces directly from their Android phones. You can easily browse problems, track upcoming contests, and monitor user profiles!
- Profile Tracking: Enter a CodeForces handle to dynamically load their avatar, rank, rating statistics, and recent activity.
- Problem Set Browser: Scroll through the historical Codeforces problem archive. Filter problems dynamically by difficulty (Minimum & Maximum Rating) and by algorithmic Tags (Math, Greedy, Graph Theory, etc.).
- Contest Dashboard: Stay up-to-date with all
Upcoming,Ongoing, andFinishedCodeforces contests. - Contest Reminders: Automatically schedule local notification alarms before a contest starts so you never miss another rating opportunity!
- Deep Linking: Launch contests or problem statements seamlessly.
- Theme Support: Fully optimized components utilizing modern Material Design.
This application is built natively for Android using modern best practices and libraries:
- Language: Fully written in Kotlin
- Networking: Retrofit2 + GSON Converter for robust API consumption
- UI Architecture: ViewBinding for type-safe layout inflation
- Image Loading: Glide for profile pictures and fast caching
- Components: Android Jetpack libraries, Recycler views, and Material Components.
- API Source: Official CodeForces Public API
- Android Studio Ladybug (or newer recommended)
- Java 11
- Minimum SDK: 24 (Android 7.0)
- Clone the repository to your local machine:
git clone https://github.com/Kishan8548/CodeForces.git
- Open the project folder in Android Studio.
- Let Gradle download and sync all the necessary dependencies.
- Click the
▶ Runbutton to install the app on your selected emulator or physical device!
We enthusiastically welcome community contributions! Whether it's fixing a UI bug, cleaning up architecture, or adding a new feature—we want your help.
Please read our detailed CONTRIBUTING.md guide before you start. It explains exactly how to submit a Pull Request successfully!