A spaced-repetition CLI for LeetCode practice problems
Project description
Jobbernaut Sensei
Navigate the vast space of the job market.
Jobbernaut is a cloud-native, event-driven open core intelligence platform designed to automate the most tedious parts of the job search: data extraction, resume tailoring, and document management. It transforms a scattered manual process into a streamlined, intelligent pipeline.
Jobbernaut Sensei is the LeetCode practice & spaced-repetition CLI tool within the ecosystem โ helping you sharpen your algorithmic skills with a structured review system.
๐ The Ecosystem at a Glance
The ecosystem is composed of 5 decoupled micro-repositories working in harmony, plus this CLI tool.
| Repository | Role | Technology Stack |
|---|---|---|
jobbernaut-infra |
Foundation | Terraform (HCL), AWS IAM, S3, DynamoDB |
jobbernaut-tabs |
Frontend | Next.js, React, Tailwind CSS |
jobbernaut-backend |
Control | Python (AWS Lambda), Boto3, Pydantic |
jobbernaut-tailor |
Intelligence | Docker, Python, LangChain (AI), TeXLive (LaTeX) |
jobbernaut-extract |
Collection | Chrome Extension (Manifest V3), JavaScript |
jobbernaut-sensei |
CLI Practice | Python (setuptools) |
๐ Documentation: For deep dives into the architecture, data flows, and setup guides, visit jobbernaut-docs.
โก๏ธ Key Features
- Spaced Repetition: Never forget a solution โ the CLI schedules reviews based on your difficulty rating.
- One-Command Scaffolding: Create new problem files with pre-filled metadata in seconds.
- ATS-Ready Tracking: Export your progress to CSV or Markdown.
- Context-Aware Fuzzy Matching: Open or mark problems by number, slug, or title words.
- Zsh Completions: Tab-complete problem names and categories.
๐ฆ Setup
pip install jobbernaut-sensei
Initialize a problems/ directory:
sensei init
๐ Daily Loop
1. Morning โ see what's due
sensei revisit
2. Start a problem โ scaffold it
sensei new 217 contains-duplicate 1-arrays-and-hashing -d easy -t arrays hash-set
3. Open a problem โ jump back in
sensei open 217
4. After solving โ mark it
sensei mark 217
You'll be prompted with one question:
How did it go?
[e] easy โ 90 days
[g] good โ 30 days
[h] hard โ 7 days
[s] struggled โ 3 days
Press one key. last_solved and revisit_in_days are updated automatically.
๐ Commands
sensei revisit โ daily review runner
sensei revisit
Example output:
๐
Jobbernaut Sensei Revisit โ Tuesday, May 26 2026
๐ข UPCOMING (7 days)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
in 3d [hard ] 124. Binary Tree Maximum Path Sum (trees)
in 4d [medium] 853. Car Fleet (stack, monotonic-stack)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
0 problem(s) need attention today. Total tracked: 22
| Flag | What it does |
|---|---|
| (none) | Overdue + due today + upcoming 7 days |
--all |
Everything, including far-future problems |
--topic arrays |
Filter by topic tag (partial match) |
--export |
Export all problems to export.csv |
--export-md |
Export all problems to export.md |
sensei new โ scaffold a new problem
sensei new 217 contains-duplicate 1-arrays-and-hashing
sensei new 217 contains-duplicate 1-arrays-and-hashing -d easy -t arrays hash-set --open
| Argument | Description |
|---|---|
number |
LeetCode problem number |
slug |
LeetCode URL slug, e.g. contains-duplicate |
category |
Topic folder, e.g. 1-arrays-and-hashing |
-d / --difficulty |
easy / medium / hard (default: medium) |
-t / --tags |
One or more topic tags |
--open |
Open the file in $EDITOR / code immediately |
sensei open โ open a problem
sensei open 217
sensei open contains-duplicate
sensei open 217 --no-browser # editor only
Accepts problem number, slug, or title words โ same fuzzy matching as mark.
sensei mark โ mark a problem as reviewed
sensei mark 217
sensei mark contains-duplicate
Updates last_solved to today and sets revisit_in_days based on your rating.
๐ง Zsh Shell Completions
Tab-complete sensei subcommands, problem numbers/names, and category names.
Add to ~/.zshrc:
fpath=(/path/to/jobbernaut-sensei/src/completions $fpath)
autoload -Uz compinit && compinit
Then reload: source ~/.zshrc
โ๏ธ License
Unless otherwise noted, all repositories within the Jobbernaut organization are licensed under the PolyForm Noncommercial License 1.0.0.
If a repository lacks a specific LICENSE file, the license located at Jobbernaut/LICENSE.md applies by default.
You are free to use, modify, and learn from this code for personal or non-commercial purposes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jobbernaut_sensei-0.2.0.tar.gz.
File metadata
- Download URL: jobbernaut_sensei-0.2.0.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecfc964a6dd2711024d83cd825c2dc937de7c706adcd4eda99afbeb7a36502a3
|
|
| MD5 |
a24a2b2521844e6d4e660d60a14af421
|
|
| BLAKE2b-256 |
6e5ecd7412f680238613071a3ee9389cec30d35126c140049d3e4084798f29ac
|
File details
Details for the file jobbernaut_sensei-0.2.0-py3-none-any.whl.
File metadata
- Download URL: jobbernaut_sensei-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c92494082ea308aa87215532fbee13d57683215afc02908085a6f618528a9e3
|
|
| MD5 |
7452fe202d5077162bab968ba1c10901
|
|
| BLAKE2b-256 |
b293a7254592786ed601e502d3e78c7b400ea41abfbb490ee5d5da655c6c02a2
|