Chris Collins

Tools · makerspace

Tool library checkout

A lending desk for a makerspace's tool library — a catalogue with asset tags, check out by scanning the tool's QR code or typing its tag, due dates in the space's time zone, returns with a condition note, an overdue list, history per tool and per member, asset tags for the label maker and a QR sheet. Runs on one shared tablet; sync another device by file.

Added

Works with

How to use it

A lending desk for the tools a space lends out. Each tool has an asset tag; scan it (or type it), say who is borrowing it, and it’s out until they bring it back.

The kiosk model

This site has no server, so nothing is shared over the internet. Put the page on one shared tablet or laptop at the space and use that as the desk: the catalogue and every loan live in that browser’s storage (IndexedDB). Back it up with Data & settings → Export this tool now and then.

A second device works by file: export a sync file on one, import it on the other (Import and merge), and the other way round. Records merge one by one — the newer edit of each wins, and a deleted tool stays deleted (deletions travel in the file as markers). Two edits of the same record on two devices aren’t combined; the later one wins. If both devices lent the same tool before you synced, both loans are kept and the desk warns you, so you can return the wrong one. Keep the devices' clocks right.

How to use it

  • Catalogue — add each tool: name, asset tag (the next free TOOL-001-style number is filled in), category, location, condition, deposit, loan period and an optional photo (shrunk to 320 px and kept in this browser). Import CSV… takes a spreadsheet whose first row names the columns (name, tag, category, location, condition, deposit, loan days, notes — other spellings such as Asset tag or Shelf are recognised). Load example tools in Data & settings fills in a few to try it.

  • Desk — big buttons for a touch screen: Check out, Return, On loan and Look up.

    • Check out: scan the tool’s QR code with 📷 Camera, or type the tag and press Enter (a USB or Bluetooth barcode scanner types into the box too). Enter the member’s name (names used before are offered), check the due date — the tool’s loan period, or the default — tick the deposit if you took one, and press Check out. A tool marked Out of service can’t be lent.

    • Return: scan it, set its condition and add a note if something’s wrong. The note is added to the tool’s notes with the date, and the condition is kept.

    • After a minute without a touch (set it in Data & settings) the desk goes back to the home screen. ⛶ Full screen hides the browser around it.

  • Overdue — loans past due, most overdue first, those due today, and everything out. Copy as text gives a list to paste into a message.

  • History — every loan of one tool, or every loan by one member (names match regardless of case and spacing).

  • Labels — Open in Label maker sends asset tags (“Property of…”, the tag and its QR code) to the Label maker's asset-tag template, to print on a Niimbot label printer; Print a QR sheet prints them three across on A4 paper or sticker sheets. The QR code holds only the tag.

Due dates and overdue

The desk works on the space’s calendar: set its time zone under Data & settings (it starts as this device’s). A loan of 7 days made on Wednesday is due the following Wednesday at the closing time you set (21:00 by default), whatever the clocks did in between — over the spring change that loan is an hour shorter, and that’s intended. A loan is overdue the moment that time passes, and counts as one day late from midnight that night. Ticking past midnight in another time zone makes no difference.

Camera and browser support

Scanning uses the browser’s BarcodeDetector where it has one (Chrome and Edge on Android and macOS) and otherwise ZXing, loaded once from jsDelivr. The camera needs an https page and your permission. Without a camera, typing the tag (or a USB scanner) does the same. Everything else works in any current browser.

Privacy

Nothing leaves the browser: the catalogue, loans, members' names and photos are in this browser’s IndexedDB, and the camera picture is decoded on the device. The page loads ZXing (if the browser has no barcode detector) and qrcode-generator (for the QR sheet) from jsDelivr. Sync files contain members' names — keep them where the space keeps its other member records.

Related: Machine booking and Project quotes share the same sync file; Electronics parts inventory for components.

Runs entirely in your browser — network requests go only to the services named on this page.