⚠️ 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 ⭐