A purpose-built timer for DSA problem-solving sessions, right inside VS Code.
Stop guessing how long your LeetCode sessions take. DSA Timer tracks every attempt — with difficulty, topic, and outcome — so you can see exactly where you're fast, where you're slow, and whether your streak is holding.
Features
Session Timer
Start a timed session for any DSA problem. The timer counts up in the status bar and in the sidebar panel, showing MM:SS or H:MM:SS depending on how long you've been at it.
Difficulty + Topic Selection
Before each session, you pick:
- Difficulty — Easy, Medium, or Hard
- Topic — one of 17 DSA categories:
Arrays,Strings,Linked Lists,Stacks & Queues,Trees,Graphs,Dynamic Programming,Backtracking,Binary Search,Two Pointers,Sliding Window,Hashing,Sorting,Greedy,Heaps,Tries,Math
Solved / Failed Outcome Marking
After stopping a session, mark it Solved or Failed directly in the sidebar. Outcomes are permanent and feed into your analytics only after choosing one of these two options.
Analytics Panel
The sidebar panel shows live data:
- Streak — consecutive days with at least one session
- Totals — sessions tried, solved, and failed/open
- Average time by difficulty — how long it takes you to solve Easy vs. Medium vs. Hard (solved sessions only)
- Average time by topic — your fastest and slowest topic categories
Session History
Last 15 sessions shown in the panel — difficulty, topic, duration, date/time, and outcome.
Status Bar Integration
The timer lives in the bottom status bar at all times:
Start focus timer— idle, click to start12:34 · Medium · Trees— session running, click for options12:34 · Medium · Trees (paused)— session paused
Clicking the status bar item opens a quick-pick menu to Pause, Resume, Stop & Save, or Open Panel.
Persistent Storage
All sessions are saved locally to a JSON file in VS Code's extension storage directory. Nothing is sent anywhere, and there is no telemetry.
Getting Started
- Install the extension.
- Click the clock icon in the Activity Bar (left rail) to open the DSA Timer panel — or click the status bar item at the bottom right.
- Select a difficulty, then a topic.
- Work on your problem — the timer counts up automatically.
- When done, click Stop & Save Session in the panel, or choose it from the status bar menu.
- Mark the session Solved or Failed in the history list.
Screenshots

Where Is My Data Stored?
Sessions are saved in VS Code's private extension storage folder:
- Windows:
%APPDATA%\Code\User\globalStorage\abdullahashraf.dsa-timer\sessions.json - macOS:
~/Library/Application Support/Code/User/globalStorage/abdullahashraf.dsa-timer/sessions.json - Linux:
~/.config/Code/User/globalStorage/abdullahashraf.dsa-timer/sessions.json
The file is plain JSON — you can open and inspect it any time.
Changelog
See CHANGELOG.md for the full release history.
Issues & Feedback
Found a bug or have a feature request? Open an issue on GitHub.
Connect With Me
License
MIT License — see LICENSE for details.