β οΈ Disclaimer: The app icon/image (/assets/icon/app_icon.png) is currently a placeholder and will be replaced later. It is not owned by me.
Organize your life with powerful task management, comprehensive finance tracking, and productivity tools - all in one beautiful app.
Download Latest Release β’ Documentation β’ Report Bug β’ Request Feature
-
β Task Management (Base Feature)
- Create, organize, and track tasks with priorities
- Set deadlines and due dates
- Group tasks into projects
- Archive completed tasks
- Filter by priority (Urgent, High, Medium, Low)
-
β Finance Tracking (Base Feature)
- Manage multiple accounts (Bank, Cash, E-Wallet, etc.)
- Create and monitor budgets by category
- Track debts with payment schedules
- Set savings goals with progress tracking
- Schedule recurring payments
- Comprehensive transaction history
- Multi-currency support
-
β Productivity Tools (Base Feature)
- Built-in Pomodoro timer with customizable durations
- Focus sessions with automatic break reminders
- Session statistics and insights
-
β Modern UI/UX
- Clean, intuitive interface inspired by modern design principles
- Full dark mode support
- Responsive layout for desktop and mobile
- Smooth animations and transitions
-
β Cloud Sync
- Supabase authentication (Email/Password, Google)
- Real-time data synchronization
- Access your data from any device
-
β Cross-Platform
- Windows (x64)
- macOS (Intel & Apple Silicon)
- Linux (AppImage, DEB)
- Android (APK) - Coming soon
- iOS - Coming soon
- OS: Windows 10 or later (64-bit)
- RAM: 4 GB minimum, 8 GB recommended
- Storage: 500 MB available space
- Graphics: DirectX 11 compatible graphics card
- OS: Android 8.0 (Oreo) or later
- RAM: 2 GB minimum, 4 GB recommended
- Storage: 200 MB available space
- Architecture: ARM64 or ARMv7
- Download the
.exeinstaller from the latest release above - Run the installer and follow the setup wizard
- Launch Personal Codex from the Start Menu or Desktop shortcut
- Download the
.apkfile from the latest release above - If prompted, allow installation from unknown sources in your device settings
- Tap the downloaded APK file to install
- Open Personal Codex from your app drawer
- Flutter SDK (3.19+)
- Dart SDK (3.3+)
- A Supabase account (free tier available)
- Git
git clone https://github.com/Khesir/KeepTrack.git
cd KeepTrackflutter pub get- Go to https://supabase.com
- Create a new project
- Wait for the project to be ready
This is a ONE-TIME setup that enables automatic migrations:
- Open your Supabase project dashboard
- Navigate to SQL Editor in the sidebar
- Click New Query
- Copy and paste the contents of
supabase/bootstrap.sql - Click Run (or press Cmd/Ctrl + Enter)
The bootstrap script creates:
- The
exec_sqlfunction (allows automatic migrations) - The
schema_migrationstable (tracks applied migrations)
Update lib/main.dart with your Supabase credentials:
await Supabase.initialize(
url: 'YOUR_SUPABASE_PROJECT_URL',
anonKey: 'YOUR_SUPABASE_ANON_KEY',
);Find these values in your Supabase project settings under API.
# Desktop
flutter run -d windows # or macos, linux
# Mobile
flutter run -d android # or iosThe app will automatically:
- Connect to Supabase
- Run all pending migrations
- Set up the database schema
- Start the app
lib/
βββ core/ # Core functionality
β βββ di/ # Dependency injection
β βββ error/ # Error handling
β βββ logging/ # Logging system
β βββ migrations/ # Database migrations
β βββ routing/ # Navigation
β βββ settings/ # App settings
β βββ state/ # State management
β βββ theme/ # Theming
β βββ ui/ # Reusable UI components
βββ features/ # Feature modules
β βββ auth/ # Authentication
β βββ finance/ # Finance tracking
β β βββ modules/
β β β βββ account/ # Account management
β β β βββ budget/ # Budget tracking
β β β βββ debt/ # Debt management
β β β βββ goal/ # Savings goals
β β β βββ transaction/ # Transaction history
β β βββ presentation/ # UI screens
β βββ home/ # Home dashboard
β βββ module_selection/ # Module picker
β βββ profile/ # User profile
β βββ tasks/ # Task management
β βββ domain/ # Business logic
β βββ presentation/ # UI screens
β βββ state/ # State management
βββ shared/ # Shared code
β βββ infrastructure/ # Infrastructure code
βββ main.dart # App entry point
Keep Track uses automatic database migrations. When you start the app:
- Migration manager checks which migrations have been applied
- Pending migrations are executed automatically via the
exec_sqlRPC function - Successful migrations are recorded in the
schema_migrationstable
No manual SQL execution needed after the initial bootstrap!
See Migration System Guide for more details.
- Clean Architecture with separation of concerns
- Custom Dependency Injection system
- Custom State Management using
StreamState - Feature-based organization for scalability
- Repository pattern for data access
- Automatic migrations for database schema updates
We welcome contributions! Please see CONTRIBUTING.md for details on how to:
- Report bugs
- Suggest features
- Submit pull requests
- Set up your development environment
Please read our Code of Conduct before contributing.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Built with Flutter - Google's UI toolkit
- Powered by Supabase - Open source Firebase alternative
- Inspired by modern productivity apps and design systems
- Icons from Material Design
- π Documentation
- π¬ GitHub Discussions
- π Issue Tracker
- π§ Email: [Your Email]
If you find Keep Track useful, please consider giving it a star β