IUG 2026 Hackathon Awards

4:00–5:00 PM · Monday, April 13

Speakers: Gabrielle Gosselin, Mike Dicus

Organizers

Gabrielle Gosselin and Mike Dicus

Six teams presented projects built during the IUG Hackathon pre-conference. All projects solve real operational problems for libraries using Polaris, Sierra, or standard protocols like SIP2.

Projects

  1. FindIt — Shelf mapping for Vega catalogs Polaris / PAPI
  2. Browsr — Curated collection browsing Polaris / PAPI
  3. Shelf Defense — Offline circulation tool Winner
  4. Leap SQL Template Manager — Parameterized SQL for consortia Polaris / SQL
  5. Auto-Suggest-a-Purchase — Patron purchase requests Polaris
  6. Microprojects — Sierra bulk editing via API Sierra / API
Winner

Shelf Defense — A Better Offline Circulation Tool

By Wes and Bryan. SIP2-based offline checkout system built on PocketBase. Details below ↓

Hackathon winners — Bryan and team Hackathon award presentation

The Projects

FindIt — Shelf Mapping for Vega Catalogs

Polaris / PAPI

Rochester Hills Public Library · GitHub (MIT)

Adds interactive floor maps to the Vega Discover catalog. Patrons search, find an item, and see exactly where it sits on the shelf. Search → Find → Go Get It.

Three components:

  • Vega Widget — vanilla JS injected via Custom Header Code. Uses MutationObserver to detect availability rows, injects a "View Shelf Location" button that opens an interactive map modal with zoom, pan, and pinch-to-zoom. Multi-branch support with tabs.
  • Rectangle Editor — Flask web app for staff. Draw shelf zones on floor plan images, map them to call number ranges and collections via PAPI dropdowns, and one-click publish to production.
  • Standalone Map App — mobile-first search + map at map.rhpl.org. Supports kiosk mode for Chrome OS devices.

Tech: Vanilla JS (zero dependencies, no build step), Python/Flask, Polaris PAPI (HMAC-SHA1), Google Workspace OAuth

Key design choice: Zero framework dependencies so any library can deploy regardless of technical capacity. Self-host mandate — each library hosts its own copy. Data/code separation — staff update shelf mappings without touching JavaScript.

Photos: Presentation slides

Browsr — Collection Browsing Tool

Polaris / PAPI

Andrew

Allows patrons to browse through a smaller, curated collection. Built on the Polaris PAPI.

Shelf Defense — Offline Circulation Tool

Winner

Wes and Bryan

A better offline tool for library checkouts. When the network goes down, staff can still circulate items and reconcile later. Started as a complex idea and was narrowed down during the hackathon.

  • SIP2-based — uses the standard library self-checkout protocol, works with any ILS ("bring your own SIP2 server")
  • Peer architecture — one device acts as the server, others connect to it
  • Sync later — transactions sync back to the ILS when connectivity is restored, or export to CSV as a fallback
  • Cross-platform — runs on Windows, Mac, Linux

Tech: PocketBase (single-file backend — database, auth, and API in one binary), SIP2

Built with: Claude Code and ChatGPT

Photos: Presentation slides

Leap SQL Template Manager

Polaris / SQL

Kalee Gulosh and Mike Parks

Parameterized SQL searches for library staff who don't write SQL. Pick a saved template, fill in a form, run the query. Built for consortium environments where member libraries share query templates with each other.

  • Template dashboard — browse, search, and run saved queries with one click
  • Parameterized forms — dropdowns and text fields instead of raw SQL
  • Consortium sharing — one library writes a useful query, the whole consortium benefits

Tech: ASP.NET / C#, Polaris SQL

Photos: Presentation slides

Auto-Suggest-a-Purchase

Polaris

Somalia Jamall — Jacksonville Public Library · GitHub

Patron-facing purchase suggestion tool that takes work off the collection development team's plate. A nightly script processes suggestions and emails patrons with updates.

  • Already in production — approximately 400 patrons have used it
  • Nightly script-based — processes suggestions on a schedule and emails patrons
  • Solves a real problem — reduces manual collection development workload

Tech: PHP, JavaScript, Python

Microprojects — Sierra Bulk Editing

Sierra / API

Victor Zuniga

Bulk record editing via the Sierra API's Create Lists and Review Files endpoints. Edit multiple variable-length and fixed-length fields at once — no more record-by-record work in the Sierra client.

  • Patron records — demo showed a "Patron Review Files" interface with Name, Address, Phone, Barcode, Email, and Actions columns
  • Create Lists + Review Files — uses Sierra API to build lists and then batch-edit through the review file
  • Next step: incorporate permissions

Photos: Presentation slides