I often use the Feynman Method (named after physicist Richard Feynman) to track my LeetCode progress. This learning technique involves thoroughly documenting problems to reinforce understanding and ensure knowledge retention.
Each time I solve a problem, I need to record various details:
- Problem description
- Difficulty level (Easy, Medium, Hard)
- Related topics and algorithms
- My solution approach and implementation
- Key insights and learning points
This manual documentation process becomes time-consuming, which is why I created this extension to automate it. The extension extracts question details from LeetCode and seamlessly integrates them into a Notion database using the Notion API.
You can find the Notion template I use for this project here. Feel free to duplicate it for your own use.
- One-click problem documentation
- Automatic extraction of problem metadata
- Direct integration with Notion
- Duplicate the Notion Template
- Create a new integration in Notion's integrations dashboard
- Create a Notion integration:
- Go to Notion's integrations page
- Click "New integration" and follow the prompts
- Copy your API secret key
- Add your API secret as
NOTION_TOKENin your.envfile (see.env.examplefor reference) - Grant the integration access to your database:
- Open your Notion database page
- Click the
...(More) menu in the top-right corner - Select
+ Add Connections - Search for and add your integration
- Confirm access permissions
- Locate your database ID from the URL:
↑ Database ID is everything before
https://www.notion.so/abc123def4567890abc123def4567890?v=def456abc1237890def456abc1237890?v= - Add this ID as
NOTION_DATABASE_IDin your.envfile
- Deploy the backend service to a platform like Render, Heroku, Vercel, or similar
- Copy
config.example.jstoconfig.jsin the extension directory - Update the backend URL in your config file:
// config.js export const BACKEND_URL = 'https://your-deployed-backend-url.com';
Making learning visible, one problem at a time.