PatternLog is a Chrome extension designed to help developers track, analyze, and revise their Data Structures and Algorithms (DSA) practice on LeetCode.
It enables structured learning by categorizing problems into algorithmic patterns, marking confusing questions, and maintaining a revision list with basic analytics.
While practicing DSA, many learners solve problems without tracking:
- Which patterns they struggle with
- Which problems require revision
- How confusion is distributed across topics
PatternLog addresses this gap by integrating directly into the LeetCode problem page and providing lightweight tracking without interrupting the practice workflow.
- Automatically detects the currently opened LeetCode problem
- Categorizes problems by DSA patterns (Arrays, Recursion, Dynamic Programming, etc.)
- Marks problems as confusing for focused revision
- Maintains a revision list inside the extension
- Displays topic-wise analytics for confusing problems
- Stores data locally using Chrome Storage
- Minimal and user-friendly popup interface
- JavaScript (ES6)
- Chrome Extensions API (Manifest V3)
- Content Scripts
- Chrome Runtime Messaging
- Chrome Storage API (storage.local)
- HTML
- CSS
- A content script runs on LeetCode problem pages and extracts the problem title.
- The popup communicates with the content script using Chrome message passing.
- Users save problems by selecting a DSA pattern and optionally marking them as confusing.
- Data is stored locally in the browser using Chrome Storage.
- The extension generates simple topic-wise analytics based on saved problems.
Demo Video (Google Drive):
Demo
Anyone can use this extension on their own system by following these steps:
- Clone the repository:
git clone https://github.com/Rashi-AI7/PatternLog.git
- Open Google Chrome and navigate to:
chrome://extensions/
- Enable Developer Mode (top-right corner).
- Click Load unpacked and select the cloned project folder.
- Open any LeetCode problem page and click on the PatternLog extension.
- Open a LeetCode problem
- Launch the PatternLog extension
- Select the appropriate DSA pattern
- Optionally mark the problem as confusing
- Save the problem
- Use the revision list and analytics to guide future practice
- Currently supports LeetCode only
- Data is stored locally and does not sync across devices
- Analytics are basic and intended for personal tracking
- Support for additional platforms such as GeeksforGeeks and Codeforces
- Cloud-based sync for cross-device access
- Advanced analytics and visualizations
- Export revision data in CSV format