Janus is an engineering-grade, high-performance task management and personal productivity application built with Flutter, combining Liquid Glass aesthetics with Material 3 Expressive design, robust local-first SQLite persistence, and reactive state management.
Janus is designed for power users who demand both exquisite visual aesthetics and uncompromising performance. Built using modern Flutter paradigms, Janus merges the principles of fluid glassmorphism and Material 3 Expressive design with enterprise-grade local-first data architecture.
Whether you are managing complex multi-tiered tasks, tracking daily productivity metrics, or configuring granular notification styles, Janus provides a seamless, responsive experience across desktop and mobile platforms.
- Liquid Glass & Material 3 Expressive UI: Combines advanced translucent glass visual effects (
liquid_glass_widgets) with Material 3 Expressive guidelines, pursuing a seamless balance between robust functionality and stunning aesthetics. - Local-First & High Performance: Powered by Drift (type-safe reactive SQLite database for Flutter), ensuring lightning-fast data querying, offline-first reliability, and seamless synchronization.
- Reactive State Management: Built on top of Riverpod and Freezed, providing robust, immutable data models and predictable reactive state flows.
- Granular Notification Engine: Supports multi-tiered notification styles for urgent and approaching tasks, including notifier, shake, ring, and full-screen alerts.
- Flexible Navigation & Theming: Employs GoRouter for declarative routing and supports dynamic light/dark/system themes alongside customizable navigation naming styles (Classic, Latin, Professional).
- Cross-Platform Ready: Fully optimized for Android, iOS, macOS, Windows, Linux, and Web platforms.
Janus adheres to strict engineering standards, separating concerns cleanly across data, domain, presentation, and service layers.
| Component | Technology | Description |
|---|---|---|
| Framework | Flutter / Dart | Cross-platform UI toolkit |
| State Management | Flutter Riverpod | Compile-safe reactive dependency injection & state management |
| Database & ORM | Drift (SQLite) | Reactive, type-safe SQLite database for Dart & Flutter |
| Immutability & Models | Freezed & JSON Serializable | Code generation for immutable classes and JSON serialization |
| Routing | GoRouter | Declarative routing package for Flutter |
| UI Enhancements | liquid_glass_widgets, flutter_card_swiper, google_fonts |
Modern visual components and glassmorphism styling |
Ensure you have the following installed on your development machine:
- Flutter SDK (
^3.10.7or higher) - Dart SDK (
^3.10.7or higher) - FVM (Flutter Version Management) (Optional, project includes
.fvmrc)
-
Clone the repository:
git clone https://github.com/DylanBolin42/janus.git cd janus -
Install dependencies:
flutter pub get
-
Generate code (Freezed / Drift / Riverpod):
flutter pub run build_runner build --delete-conflicting-outputs
-
Run the application:
flutter run
janus/
├── android/ # Android platform integration
├── ios/ # iOS platform integration
├── macos/ # macOS platform integration
├── windows/ # Windows platform integration
├── linux/ # Linux platform integration
├── web/ # Web assets and entry point
├── lib/
│ ├── models/ # Immutable data models (Freezed)
│ ├── providers/ # Riverpod state providers
│ ├── services/ # Local storage & business services
│ ├── ui/ # Views, screens & widgets
│ └── main.dart # Application entry point
├── docs/ # Technical documentation (e.g., SETTINGS.md)
├── guide/ # Development guides (e.g., ADD_NEW_SETTING.md)
├── assets/ # Images, fonts, and static resources
└── test/ # Unit and widget test suites
We welcome contributions from the community! Whether it's bug reporting, feature proposals, or code submissions, please refer to our CONTRIBUTING.md guide for detailed instructions on our development workflow and coding standards.
This project is licensed under the terms of the MIT License.