A distinctive industrial-styled web application for managing your workshop tools, consumables, and materials. Built with Flask and SQLite.
- Tools Inventory: Track all your power tools and hand tools with photos, brands, models, and locations
- Consumables Tracking: Monitor drill bits, saw blades, sanding discs, and other consumables with low-stock alerts
- Search & Filter: Quickly find tools by name, brand, category
- Photo Upload: Visual inventory with image support
- Purchase Links: Direct links to Bunnings, manuals, and datasheets
- Mobile Friendly: Responsive design for checking inventory while shopping
- Industrial Aesthetic: Distinctive dark theme with workshop-inspired design
- Materials inventory (wood, aluminum, resin, filament)
- NZ retailer integration (Bunnings, Mitre10 price scraping)
- Project planning and "what do I need" checker
- QR code labels for quick lookup
- Maintenance reminders
- Battery compatibility matrix
- Usage statistics
- Python 3.8+
- pip
- Install dependencies:
pip install -r requirements.txt --break-system-packages- Run the application:
python app.py- Open your browser and navigate to:
http://localhost:5000
For network access (check inventory from your phone while shopping):
http://YOUR_COMPUTER_IP:5000
- Click "Add Tool" button on dashboard
- Fill in the details:
- Name: Tool name (e.g., "Orbital Sander")
- Brand/Model: Ryobi, Ozito, etc.
- Category: Power Tool, Hand Tool, etc.
- Purchase Info: Date and price for tracking value
- Location: Where it's stored in your workshop
- Links: Bunnings product page, manual PDF
- Upload a photo
- Add notes about specifications or maintenance
- Go to "Consumables" section
- Add items like:
- "125mm Sanding Discs - 80 Grit"
- "HSS Drill Bit Set"
- "Jigsaw Blades - Wood"
- Set minimum stock levels for alerts
- Link to purchase URLs for easy reordering
On any tool detail page:
- Click "Find Accessories" to search Bunnings for compatible items
- Or add your own purchase links
The application uses SQLite (tools.db) which will be created automatically on first run.
Database location: Same directory as app.py
To backup your data:
cp tools.db tools.db.backuptoolshed-app/
βββ app.py # Flask application
βββ requirements.txt # Python dependencies
βββ tools.db # SQLite database (created on first run)
βββ static/
β βββ css/
β β βββ style.css # Industrial-themed styles
β βββ uploads/ # Tool photos
βββ templates/ # HTML templates
βββ base.html
βββ index.html
βββ tools.html
βββ tool_detail.html
βββ add_tool.html
βββ edit_tool.html
βββ consumables.html
βββ add_consumable.html
βββ materials.html
To access from your phone while shopping at Bunnings:
-
Find your computer's IP address:
- Linux/Mac:
hostname -Iorip addr show - Windows:
ipconfig
- Linux/Mac:
-
Make sure your phone and computer are on the same WiFi network
-
Open browser on phone:
http://YOUR_COMPUTER_IP:5000 -
Bookmark it for quick access!
Edit the category dropdowns in:
templates/add_tool.htmltemplates/edit_tool.htmltemplates/add_consumable.html
Edit CSS variables in static/css/style.css:
:root {
--accent-orange: #ff6b35; /* Your preferred accent color */
--bg-primary: #0a0e12; /* Background color */
/* ... more variables */
}- Bunnings Scraper: Auto-find accessories and track prices
- Project Planner: "I want to build X, what do I need?"
- Material Calculator: Track lumber, extrusions, resin usage
- QR Code Labels: Print labels, scan to view tool info
- Maintenance Log: Track when you last serviced tools
- Cost Tracking: Project costs including consumables
- Shopping List Generator: Auto-generate list based on low stock
- Add user authentication for multi-user access
- Export/import data as JSON or CSV
- API for integration with other tools
- Better mobile app experience (PWA)
- Take consistent photos for clean inventory look
- Use descriptive locations ("Workshop Drawer 3, Left Side")
- Set realistic minimum stock levels for consumables
- Add purchase links when you buy something new
- Keep notes about specifications you frequently need
Images not uploading?
- Check file size (max 16MB)
- Ensure
static/uploads/directory exists and is writable
Can't access from phone?
- Check firewall settings
- Ensure both devices on same network
- Try using computer's IP instead of hostname
Database errors?
- Delete
tools.dbto start fresh (you'll lose data) - Check write permissions in application directory
Free to use and modify for personal use.
Built for makers, by makers. Enjoy your organized workshop! π οΈ