A native Android client for AniList β track your anime and manga the way you want
Features Β· Screenshots Β· Tech Stack Β· Getting Started Β· Documentation Β· Contributing
AniSync is a native Android app for AniList.co β the anime and manga tracking platform. It provides a beautiful, offline-first experience for managing your watchlist, discovering new content, and staying connected with the anime community.
The app covers everything from basic progress tracking to advanced features like home screen widgets, forum discussions, and detailed statistics.
Note
AniSync is not affiliated with AniList. It's a third-party client built for the AniList community.
- Offline-First β Your library and data work without an internet connection, syncing when you're back online.
- Beautiful UI β Modern Material 3 design with smooth animations and dynamic theming.
- Smart Notifications β Know exactly when your favorite shows air, plus stay updated on forum activity.
- Home Screen Widgets β Quick access to your anime schedule right from your launcher.
- Privacy-Focused β Your credentials are encrypted locally using AES-256-GCM.
Track your anime and manga with full flexibility. Choose from multiple statuses (Watching, Planning, Completed, Dropped, Paused, Repeating), rate your entries on a scale, add personal notes, and organize everything into custom lists. Sort by title, progress, score, airing date, or last updated β ascending or descending.
Browse what's trending, what's popular this season, upcoming releases, and titles marked TBA. The advanced search lets you filter by 18 genres, release year, season, format (TV, Movie, OVA, ONA, Special, Music), and airing status. Find exactly what you're looking for.
Every anime and manga page gives you the full picture. See cover art and banners, read descriptions, view episode/chapter counts, and check community scores. Dive deeper with character casts and their voice actors, staff information (directors, studios, producers), and related media (sequels, prequels, side stories).
Watch trailers directly in the app using the built-in video player. Browse community reviews and recommendations, then explore streaming links to find where to watch.
Characters and staff members have their own dedicated pages. View parsed biographies with spoiler handling, key attributes, and media appearances. Filter voice actors by language to find your preferred dub.
Engage with the AniList community through full forum integration. Browse threads by category, read discussions with nested replies, and participate with markdown support. Like posts, bookmark threads for later, and subscribe to get notified of new replies.
Get detailed insights into your anime and manga habits. See total time watched, episodes completed, chapters read, and mean scores. Explore breakdowns by genre, format, score distribution, and release year.
Access your anime schedule without opening the app. Multiple widget types show upcoming episodes with countdown timers, today's airing timeline, a 7-day calendar view, or trending anime at a glance. Configure each widget to show your personal list or all anime.
Never miss an episode. AniSync sends two-tier notifications β an advance alert 12 hours before air time, then an imminent reminder 2 hours before. Planning list shows? Get notified when they premiere. Forum notifications keep you updated on replies, mentions, and subscriptions.
| Category | Technology |
|---|---|
| Language | Kotlin 2.2.21 |
| UI Framework | Jetpack Compose with Material 3 |
| Architecture | MVVM + Clean Architecture (Use Cases) |
| Dependency Injection | Hilt / Dagger |
| Navigation | Navigation Compose (Type-safe routes) |
| Networking | Apollo GraphQL 4.x |
| Local Database | Room with KSP |
| Theming | MaterialKolor (dynamic palette styles & seed colors) |
| Image Loading | Coil |
| Video Playback | ExoPlayer with custom Material 3 UI |
| Background Work | WorkManager |
| Widgets | Jetpack Glance |
| Serialization | Kotlinx Serialization |
| Security | EncryptedSharedPreferences (AES-256-GCM) |
| Min SDK | 26 (Android 8.0 Oreo) |
| Target SDK | 36 (Android 16) |
- Android Studio Ladybug (2024.2.1) or newer
- JDK 17
- Android SDK with API 26+
- Clone the repository:
git clone https://github.com/Marco-9456/AniSync.git
cd AniSync-
Open in Android Studio and wait for Gradle sync to complete.
-
Run the app on a device or emulator (API 26+).
Tip
You don't need any API keys or additional configuration. The app uses AniList's public GraphQL API and handles authentication via OAuth.
| Variant | Package ID | Description |
|---|---|---|
debug |
com.anisync.android.debug |
Development build with debug features |
stable |
com.anisync.android |
Production build with ProGuard |
Note
Both variants can be installed side-by-side for testing.
Comprehensive documentation lives in the docs/ folder:
| Document | Description |
|---|---|
| ARCHITECTURE.md | System architecture, patterns, and layer responsibilities |
| DATABASE.md | Room database schema, migrations, and caching strategy |
| API.md | GraphQL integration, authentication, and API reference |
| NAVIGATION.md | Screen flows, navigation graph, and deep links |
| WIDGETS.md | Widget architecture and notification system |
| CONTRIBUTING.md | Contribution guidelines and code style |
| CHANGELOG.md | Version history and release notes |
- Adding a new screen? β See NAVIGATION.md
- Changing database schema? β See DATABASE.md
- Understanding data flow? β See ARCHITECTURE.md
- Working with widgets? β See WIDGETS.md
AniSync/
βββ app/
β βββ src/main/
β β βββ java/com/anisync/android/
β β β βββ data/ # Data layer (repositories, local DB)
β β β βββ di/ # Hilt dependency injection modules
β β β βββ domain/ # Domain layer (models, interfaces, use cases)
β β β βββ presentation/ # UI layer (screens, ViewModels)
β β β βββ ui/theme/ # Compose theme (colors, typography)
β β β βββ util/ # Utility functions
β β β βββ widget/ # Glance widgets
β β β βββ worker/ # WorkManager jobs
β β βββ graphql/ # GraphQL queries and mutations
β β βββ res/ # Resources (layouts, strings, drawables)
β βββ schemas/ # Room schema exports (for migrations)
βββ docs/ # Documentation
βββ gradle/ # Gradle configuration
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and lint (
./gradlew check) - Commit with a descriptive message
- Push to your fork and create a Pull Request
This project's source code is licensed under the GNU General Public License v3.0 β see the LICENSE file for details.
Warning
Brand & Naming Guidelines
While the source code is freely available under the GPLv3, the AniSync name and brand identity are protected. Any derivative works β including forks and unofficial builds β are strictly prohibited from using "AniSync" as the name for an AniList client application.
- AniList for the excellent GraphQL API
- Material Design 3 for the design system
- Seal and ReadYou for UI/UX inspiration
- The Android and Kotlin communities for amazing tools and libraries
Made with care for anime fans πΈ













