Jiffy Web Pro (Gen IV)
Project Gallery
Click any image to expand and browse
Jiffy Pro (Gen IV) - Advanced Web-Based Time Logging & Analytics Ecosystem
An enterprise-grade, highly responsive web application designed to track, analyze, and manage productivity and study sessions. Built as the fourth generation of the Jiffy ecosystem, this project represents a massive architectural leap, serving as the web counterpart to the Jiffy Android App (Gen III).
Engineered with Python (Flask), Vanilla JavaScript, and Tailwind CSS, the application boasts a stunning Glassmorphic UI, offline-first resilience, advanced data visualization, and real-time cross-platform synchronization. It is designed to handle complex edge cases in time-tracking while maintaining lightning-fast performance through intelligent local caching.
Project Overview
Jiffy Pro was architected to be the ultimate web companion to the Jiffy mobile experience. Moving far beyond the basic form-submission logic of Gen I, this iteration introduces a robust state-management engine, real-time background syncing, and an analytical dashboard that processes years of historical data in milliseconds.
The application’s primary focus is frictionless data entry paired with deep, actionable analytics. Users can utilize a live ticking stopwatch, manually log past sessions with "slack" (break) reduction calculations, maintain living habit streaks, and analyze their focus through dynamic, interactive charts.
To ensure maximum security and production readiness, the ecosystem is split into two distinct codebases: the public-facing Jiffy Pro client app (using secure Firebase REST APIs), and a localized, heavily guarded "SuperAdmin" portal utilizing the Firebase Admin SDK for God-mode database management and JSON backups.
Key Features
Advanced Live Tracking & State Management
- Cross-Platform Syncing: Automatically detects and resumes active sessions started on the Jiffy Android app via a Firebase
currentSessionsnode. - Background Heartbeat: A robust polling engine that securely refreshes Firebase Auth tokens in the background to prevent unexpected logouts, while simultaneously listening for session terminations triggered by the Android device.
- Offline Resilience: Safely handles dropped Wi-Fi by catching network errors and maintaining the session locally until connectivity returns.
- Ghost-Debounce Assassin: Prevents race conditions and "zombie sessions" using strict memory wiping, timeout clearing, and immediate UI teardowns.
Intelligent Data Analytics (Dashboard)
- Stale-While-Revalidate Caching: Drastically reduces Firebase bandwidth by rendering the dashboard instantly from
localStoragewhile silently syncing new data in the background. - The "Midnight Split" Engine: A custom algorithmic solution that accurately divides study sessions crossing midnight (00:00:00) into proportional chunks across two calendar days, ensuring bar charts display mathematically flawless daily totals.
- Dynamic Charting: Utilizes
Chart.jsfor 10-day focus tracking, multi-colored project/category doughnut breakdowns, and Top-3 horizontal bar charts (30-day and 365-day horizons). - Custom Data Filtering: Allows users to dynamically exclude specific projects (e.g., "Sleeping") from the analytics, immediately triggering an animated chart redraw.
Comprehensive Study Logs & Lazy Loading
- Intersection Observer API: Efficiently loads years of data by fetching 25 logs at a time as the user scrolls to the bottom of the page, minimizing DOM bloat and bandwidth.
- Complete Editability: Users can edit any historical log via a custom Glassmorphic modal. The app auto-calculates "Actual Duration" based on edited timestamps and auto-fills associated Categories and Projects in real-time.
Dynamic Streaks Tracker
- Dual-Meter Logic: Supports both "Daily" counters (tracking consecutive days) and "Hourly" counters (featuring a live, ticking clock counting the exact seconds since the streak began).
- Full CRUD Capabilities: Users can seamlessly add, edit, and safely delete habit streaks via customized modal interfaces.
Enterprise-Grade "SuperAdmin" Console
- Isolated Codebase: Built as a standalone Flask application running securely on a local port, keeping God-mode privileges entirely out of the public client.
- Memory-Loaded Credentials: Reads the Firebase Service Account Key entirely from environment variables (
.env), ensuring no physical JSON keys are ever exposed. - Chronological Database Backups: Downloads, flattens, and chronologically sorts the entire unstructured Firebase Realtime Database into a clean, readable JSON backup file.
- Ghost User Purging: Scans Firebase Authentication and securely deletes registered users who never verified their emails, keeping the user base pristine.
State-of-the-Art UI/UX
- Premium Glassmorphism: Features translucent, backdrop-blurred cards, modals, and custom interactive components.
- Dark/Light Mode: Seamless, instantaneous theme switching that dynamically redraws Chart.js colors, custom scrollbars, and form focus rings.
- Breathing Animated Gradients: Utilizes customized CSS keyframes for a slow, living background gradient that adapts to the active theme.
- Custom Accessible Dropdowns: Replaced ugly native OS
<select>menus with fully custom, keyboard-navigable (Arrow keys/Tab/Enter) Glassmorphic dropdowns featuring intelligent autocomplete.
Technologies Used
Backend
- Python
- Flask (Routing, Session Management, Jinja2 Templating)
- Requests Library (REST API Communication)
- Python-Dotenv (Environment Variable Security)
Frontend
- HTML5 & CSS3
- Vanilla JavaScript (ES6+) (State management, DOM manipulation, asynchronous fetching)
- Tailwind CSS (Utility-first styling, Glassmorphism, Responsive Design)
- Chart.js (Data Visualization)
Cloud Services & Architecture
- Firebase Authentication (REST API): Handled entirely via secure backend requests to keep the frontend lightweight.
- Firebase Realtime Database: NoSQL cloud storage utilizing
.indexOnrules for lightning-fast chronological querying. - Firebase Admin SDK: Utilized exclusively in the SuperAdmin portal for bulk data extraction and user management.
Cross-Functionality with Android
A standout achievement of this application is its symbiotic relationship with the Gen III Android app. I engineered a currentSessions node within the Firebase database that acts as a bridge between the two platforms.
If a user starts a timer on the web, they can pick up their phone, see the timer running, and press "Stop"—the web app's background heartbeat will instantly detect the remote termination, wipe its local memory, and gracefully close the web timer. Furthermore, changes to the "Topic" or "Subject" mid-session on the web are debounced and silently pushed to Firebase, ensuring the Android app always reflects the most up-to-date session context.
What I Learned
Developing Jiffy Pro provided master-class experience in full-stack architecture, performance optimization, and edge-case bug resolution.
Advanced State & Memory Management
- Solving the "Page-Teardown Race Condition" (Ghost Debounce) where delayed
setTimeoutAPI calls would resurrect deleted sessions. I learned to rigorously neutralize variables and explicitly clear timeouts before DOM unmounting. - Implementing the Stale-While-Revalidate caching pattern to provide instant UI feedback while handling heavy data fetching in the background.
Algorithmic Problem Solving
- Engineering the Midnight Split Algorithm. Dealing with time-series data is notoriously difficult; writing the logic to proportionally divide a session (and its associated "slack" time) across multiple days taught me the intricacies of Epoch time math and data normalization.
Frontend Engineering & UX
- Breaking away from standard browser components to build fully custom, accessible, keyboard-friendly UI elements (like the predictive autocomplete dropdowns).
- Mastering Tailwind CSS to create responsive, fluid typography (
text-5xl md:text-7xl) and complex flexbox centering without relying on hacky margin math. - Managing Chart.js lifecycles, ensuring previous chart instances are explicitly destroyed before redrawing to prevent memory leaks and overlapping canvas glitches.
Security Architecture
- Learning the critical difference between client-side Firebase SDKs and server-side REST APIs.
- Realizing the danger of exposing the Admin SDK in a public app, prompting the architectural split into a separate "SuperAdmin" app driven entirely by in-memory
.envparsing.
Outcome
Jiffy Pro (Gen IV) is a massive leap from a simple form-based web app into a highly polished, enterprise-ready productivity ecosystem. It flawlessly complements its Android counterpart, forming a unified cross-platform tool.
This project demonstrates my ability to not only write functional code but to architect robust systems that prioritize user experience, offline reliability, strict data security, and deep analytical processing. It stands as a testament to my full-stack capabilities, showcasing my meticulous attention to both backend logic and pixel-perfect frontend design.