djtran / Yet-Another-LeetCode-Timer

Smart timer integrated into LeetCode. Performance metrics available for offline review

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yet Another LeetCode Timer

Available on Chrome Web Store

Why?

There are a few of these out there but none that I was really satisfied with. LeetPlug seemed promising but the server taking data is no longer in service so as a record for viewing progress, it's not super useful.

I used LeetCode Timer Tracker for a while, but I wanted something that felt integrated into LeetCode like how LeetPlug functioned.

The package follows SemVer for determining version numbering. The declared API can be found in the model.jsonc file in the root directory.

Requirements

  1. Integrated into the page
  • starts when you either click start or you first start typing.
  • visible, but not distracting
  • stops once you have a successful submission
  1. Local Data Storage
  • LeetPlug probably had interesting potential for aggregated data views, but ultimately the owner had to maintain and pay for a web server and the setup & email verification process felt like unnecessary work for someone that just wants to quickly pick it up and run with it.
  1. Exportable
  • Excel sheets could be fun. Until data viz is built into this, I'll use excel or google sheets easily.

Other Notes

Chrome local storage will get you through ~26k problems before you hit any storage limit. Sync storage would be nice, but you'd hit ~40 problems with the current impl. If we spread out the data across all keys and use all the sync storage allowed for an extension, we could manage around 500-512 problems.

Unfortunately we cannot use sync and local storage at the same time, so the dream of having smaller aggregate metric data synced everywhere is not something I'll support here.

One of the risks of the current implementation is moving to another page will kill your timer. It's going to be logged to the console before being reset, so you can manually maintain and patch that up if needed.

About

Smart timer integrated into LeetCode. Performance metrics available for offline review

License:GNU General Public License v3.0


Languages

Language:JavaScript 82.0%Language:HTML 14.8%Language:CSS 3.2%