Skip to content

depuschm/bootdev-content-extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

72 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ Boot.dev Content Extractor

Never lose your coding progress again! Extract challenges, lessons, solutions, and chat conversations from Boot.dev and save them to Notion, Markdown, or JSON.

GitHub Pages License: MIT Chrome Extension Firefox Add-on


✨ Features

πŸ“š Complete Content Extraction

  • Coding Challenges - Extract all code files, solutions, and requirements
  • Interview Exercises - Save full conversation transcripts and acceptance criteria
  • Multiple Choice Questions - Capture questions, options, and your selections
  • Free-text Exercises - Save your answers and validation checks
  • CLI Exercises - Export commands and expected outputs
  • Lessons - Extract all educational content with proper formatting

🎯 Smart Features

  • Auto-open Solutions - Automatically reveals solutions before extraction
  • Multi-file Support - Extracts all code tabs in complex challenges
  • Chat History - Saves your Boots AI conversations with code blocks
  • Rich Formatting - Preserves code blocks, lists, callouts, and images
  • Rating Tracking - Records your challenge ratings (1-5 stars)

πŸ“€ Flexible Export Options

  • Notion Integration - Send directly to organized Notion databases
  • Markdown Files - Beautiful, readable .md format
  • JSON Export - Structured data for further processing
  • Plain Text - Simple .txt files
  • Copy to Clipboard - Instant paste anywhere

βš™οΈ Customizable

  • Multiple Notion database support (by exercise type)
  • Toggle solution extraction on/off
  • Include/exclude metadata and chat conversations
  • Choose your preferred export format

πŸš€ Installation

Chrome / Edge / Brave

  1. Download from Chrome Web Store (coming soon)
  2. Or install manually:
    • Go to chrome://extensions/
    • Enable "Developer mode"
    • Click "Load unpacked"
    • Select the extension folder

Firefox

  1. Download from Firefox Add-ons (coming soon)
  2. Or install manually: about:debugging β†’ Load Temporary Add-on β†’ Select manifest.json

πŸ“– Quick Start

  1. Navigate to any Boot.dev challenge or lesson
  2. Click the extension icon (⚑)
  3. Extract your content with one click
  4. Choose to download, copy, or send to Notion

That's it! Your progress is now safely backed up.


πŸ”— Notion Integration Setup

Transform your Boot.dev learning into a searchable knowledge base!

Step 1: Create a Notion Integration

  1. Go to notion.so/my-integrations
  2. Click "+ New integration"
  3. Name it (e.g., "Boot.dev Content Extractor")
  4. Select your workspace
  5. Go to the Configuration tab
  6. Copy the Internal Integration Secret (starts with ntn_)

Step 2: Create Notion Databases

Create one or more databases for different exercise types. Here's a recommended setup:

Database 1: "Boot.dev Challenges"

Properties to add:

  • Type (Select): Challenge, Lesson
  • Exercise Type (Select): Coding, Interview, Multiple Choice, Free Text, CLI
  • Language (Select): Python, JavaScript, Go, etc.
  • URL (URL): Link back to the exercise
  • Date (Date): Extraction timestamp
  • Rating (Number): Your rating (1-5 stars)

Database 2: "Boot.dev Lessons" (Optional)

Same properties as above, or customize to your needs!

Database 3: "Other" (Fallback)

Catches any unmatched content types.

Step 3: Connect Databases to Integration

For each database:

  1. Open the database in Notion
  2. Click the "..." menu (top right)
  3. Select "+ Add connections"
  4. Choose your integration

Step 4: Get Database IDs

For each database:

  1. Open the database as a full page
  2. Copy the URL - it looks like:
    https://www.notion.so/workspace/DATABASE_ID?v=...
    
  3. The DATABASE_ID is the 32-character code (letters and numbers)

Step 5: Configure the Extension

  1. Click the extension icon
  2. Click "Options"
  3. Enable "Notion integration"
  4. Paste your Integration Secret
  5. Add your databases:
    • Type name: challenge, lesson, other (or custom names)
    • Database ID: The 32-character code from Step 4
  6. Click "Test Notion Connection" to verify
  7. Click "Save Settings"

πŸ“‹ Recommended Database Structure

πŸ“ Boot.dev Challenges
  β”œβ”€ challenge β†’ Your main challenges database
  β”œβ”€ lesson    β†’ Lessons and tutorials  
  └─ other     β†’ Fallback for everything else

The extension automatically matches content type to database. If no match is found, it uses the "other" database!


🎨 What Gets Exported?

For Coding Challenges:

  • Title and description with rich formatting
  • All requirements and examples
  • Multiple code files (if tabs exist)
  • Official solution (if unlocked)
  • Chat conversations with Boots
  • Star rating

For Interview Exercises:

  • Full conversation transcript
  • Your responses and Boots' questions
  • Acceptance criteria (solution)
  • Code blocks with syntax highlighting

For Multiple Choice:

  • Question text
  • All answer options
  • Your selected answer (if solution extraction enabled)

For Free-text:

  • Your written answer
  • Validation checks and expected values

For CLI Exercises:

  • Run and submit commands
  • Validation checks with expected outputs
  • Instructions

βš™οΈ Configuration Options

Access via Options button in the popup:

Extraction Options

  • Extract solution when available - Include official solutions
  • Automatically open solutions - Reveals solutions before extraction
  • Extract chat conversations - Save Boots AI discussions
  • Include metadata - Add URL, timestamp, and other info

Export Format

  • Markdown (recommended) - Rich formatting, code blocks
  • JSON - Structured data for developers
  • Plain Text - Simple, universal format

Notion Integration

  • Enable/disable Notion sending
  • Integration token - Your secret key
  • Multiple databases - Organize by type
  • Test connection - Verify setup

πŸ› οΈ Technical Details

Browser Compatibility

  • βœ… Chrome/Chromium
  • βœ… Firefox 109+
  • βœ… Edge
  • βœ… Brave
  • βœ… Any Chromium-based browser

Permissions

  • activeTab - Read content from current Boot.dev page
  • storage - Save your settings
  • boot.dev/* - Access Boot.dev pages
  • api.notion.com/* - Send to Notion (optional)

πŸ”’ Privacy & Security

Your privacy matters. This extension:

  • βœ… No tracking - Zero data collection
  • βœ… Local processing - Everything happens in your browser
  • βœ… Open source - Audit the code
  • βœ… Optional Notion - You control what gets sent

πŸ“œ Read our full Privacy Policy


🀝 Contributing

Contributions are welcome! Here's how:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Clone the repository
git clone https://github.com/depuschm/bootdev-content-extractor.git
cd bootdev-content-extractor

# Load in browser
# Firefox: about:debugging β†’ Load Temporary Add-on β†’ manifest.json
# Chrome: chrome://extensions β†’ Load unpacked β†’ select folder

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ› Bug Reports & Feature Requests

Found a bug? Have an idea? Open an issue!


⭐ Show Your Support

If this extension helped you, consider:

  • ⭐ Starring this repository
  • 🐦 Sharing with fellow Boot.dev learners
  • β˜• Buying me a coffee

πŸ“š FAQ

Q: Do I need a Notion account?
A: No! You can export to Markdown, JSON, or plain text without Notion.

Q: Can I use multiple Notion databases?
A: Yes! Configure different databases for challenges, lessons, and other types.

Q: Does this work with any Boot.dev content?
A: Yes! It extracts any challenge or lesson you have access to. If you don't have access to the solution, the solution will not be extracted.

Q: Is my data safe?
A: Absolutely. Nothing is collected or sent anywhere except your chosen Notion database.

Q: Can I customize the export format?
A: Currently Markdown, JSON, and plain text are supported. Custom templates coming soon!


πŸŽ“ Built for Learners

Made with ❀️ by a Boot.dev student, for Boot.dev students.

Happy learning! πŸš€


πŸ“¬ Contact

About

Never lose your coding progress again! Extract challenges, lessons, solutions, and chat conversations from Boot.dev and save them to Notion, Markdown, or JSON.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors