A voice-first productivity logging application built with Flutter.
QuickLog helps developers, engineers, freelancers, and technical professionals capture work progress in real time using speech-to-text recording with minimal friction.
The application is designed around a simple principle:
Capture work as it happens.
Instead of manually remembering and filling spreadsheets at the end of the day, QuickLog allows users to quickly record work updates, issues, debugging notes, experiments, and progress using natural voice input.
- One-tap voice recording
- Real-time speech-to-text transcription
- Editable transcript after recording
- Fast capture workflow
- Minimal interaction design
- View all logs in timeline format
- Search logs instantly
- Archive logs
- Restore deleted logs
- Mark important entries
- Configurable reminders
- Local notifications
- Custom reminder intervals
- Custom reminder messages
- Offline support
- Export logs as JSON
- Export logs as CSV
- Share exported files
- Local storage only
- Minimal clean interface
- Soft modern UI
- Fast navigation
- Low-friction interaction design
- Designed for engineering workflows
Startup-only screen.
- Initialize app resources
- Load settings
- Prepare local database
- Navigate to home screen
- Animated logo entrance
- Fade + scale transition
- Minimal branded UI
- Startup loader
Main productivity workspace.
- Display active logs
- Open voice recording modal
- Access navigation tabs
- Search entries
| Tab | Purpose |
|---|---|
| Home | Active logs |
| Archived | Archived logs |
| Record | Open recording modal |
| Trash | Deleted logs |
| Settings | App settings |
Application configuration.
- Reminder settings
- Theme settings
- Export options
- Category management
Displays archived logs.
- Restore archived logs
- Search archived entries
- View/edit logs
Displays deleted logs.
- Restore deleted logs
- Permanently delete logs
- Clear trash
QuickLog uses a modular feature-first architecture.
lib/
โโโ core/
โ โโโ constants/
โ โโโ router/
โ โโโ services/
โ โโโ theme/
โ โโโ utils/
โ
โโโ features/
โ โโโ splash/
โ โโโ home/
โ โโโ recording/
โ โโโ logs/
โ โ โโโ archived/
โ โ โโโ trash/
โ โ โโโ shared/
โ โโโ settings/
โ
โโโ shared/
โ โโโ widgets/
โ โโโ components/
โ โโโ models/
โ
โโโ main.dart
Each feature owns:
- presentation
- logic
- widgets
- services
- providers
Shared components are centralized.
Reusable widgets include:
- logs list widget
- log cards
- setting tiles
- search bars
- recording controls
- empty states
Business logic is separated from UI.
Responsible for:
- rendering
- animations
- user interactions
Responsible for:
- state management
- speech handling
- reminders
- database operations
Responsible for:
- local persistence
- export operations
- repositories
QuickLog uses Riverpod for:
- scalable state management
- dependency injection
- provider isolation
- rebuild optimization
QuickLog uses Hive for:
- fast local storage
- offline-first persistence
- lightweight architecture
- efficient performance
Uses:
speech_to_text- Real-time transcription
- Live transcript updates
- Automatic silence detection
- Editable transcript
- Microphone permission handling
Used for:
- reminder notifications
- recurring reminders
- offline notifications
- What are you working on?
- Capture your progress.
- Log your current task.
- Save your debugging notes.
Exports:
- date
- time
- transcript
- importance status
Exports complete structured log data.
flutter_riverpod:
hive:
hive_flutter:
speech_to_text:
flutter_local_notifications:
permission_handler:
path_provider:
intl:
share_plus:QuickLog is intentionally minimal.
The UI prioritizes:
- speed
- clarity
- low friction
- fast capture
- productivity
Avoided intentionally:
- social-style UI
- gamification
- complex dashboards
- excessive animations
- cluttered forms
- User taps Record
- Recording modal opens
- User speaks naturally
- Speech converts to text live
- User edits transcript if needed
- User saves log
- Entry appears in timeline
Normal working entry.
โ
Hidden but preserved.
โ
Soft deleted.
โ
Fully removed.
Quick local transcript search.
Supports:
- instant filtering
- timeline filtering
- archived search
- deleted logs search
QuickLog is optimized for:
- fast startup
- smooth scrolling
- low rebuild count
- lightweight local storage
- efficient list rendering
QuickLog is local-first.
Version 1:
- No cloud sync
- No analytics
- No external servers
- No authentication
- No user tracking
All data stays on device.
Convert natural speech into structured fields:
- activity
- issue
- solution
- result
- category
Generate:
- productivity reports
- debugging summaries
- work history
Search by meaning instead of exact text.
Optional future sync support.
Automatic category prediction using AI.
- Flutter SDK
- Dart SDK
- Android Studio OR VS Code
flutter pub getflutter runflutter build apk- routing
- navigation
- screens
- voice recording
- speech-to-text
- local database
- timeline system
- reminders
- export system
- optimization
- polish
- animations
Typing creates friction.
Voice capture:
- improves consistency
- reduces mental load
- works better during debugging
- captures context faster
- improves real-time logging
Example:
Fixed websocket reconnect issue. Tried exponential retry logic. Partial success.
Saved instantly as a searchable timeline entry.
Example:
ESP32 restarting after WiFi reconnect. Added capacitor near VIN. Stability improved.
This project is intended for personal productivity and workflow tracking.
Modify and extend freely.
QuickLog is built around one idea:
Great work is often forgotten because capturing it is harder than doing it.
The app exists to remove that friction.