Resume

Zac Batten

Software developer focused on frontend tools, Python automation, map-based field interfaces, and browser experiments. Projects include TraverseOps field-ops mapping, StreamCinema Twitch/OBS automation, Web Paint, Movie Library, and GitHub Pages portfolio systems.

Summary

Software developer building web tools and automation.

Zac Batten builds frontend interfaces, Python automation, maps, browser Canvas tools, and Twitch/OBS integrations. His portfolio shows case studies across field-operations mapping, chat-driven stream automation, client-side catalog/search pages, and no-build browser tools. He is interested in frontend UI, Python automation, maps, and roles that turn repeated manual work into reliable software.

Open to software development opportunities involving frontend interfaces, Python automation, web apps, mapping tools, Twitch/OBS automation, and browser-based tools.

Email
Email Zac
Portfolio
zacbatten.me

Technical skills

Tools and strengths

Frontend
HTML, CSS, JavaScript, responsive layout, semantic markup, keyboard navigation, focus states
Automation
Python, TwitchIO, OAuth token refresh, reconnect handling, OBS WebSocket handoffs
Maps/field ops
MapLibre-style interfaces, asset records, inspections, work orders, imports, reports, role-aware flows
Browser APIs
Canvas 2D, Pointer Events, Clipboard, File APIs, LocalStorage, fullscreen, lazy-loaded media
GitHub Pages delivery
GitHub Pages, sitemap/robots, Open Graph/Twitter metadata, no-JavaScript fallbacks, structured internal links

Selected projects

Case-study-backed project work

TraverseOps - Field Operations Map & Work Orders

Field teams need asset maps, inspections, imports, reports, and work orders to stay connected around the selected record.

  • Modeled asset, inspection, work-order, import, report, and team-role flows for a MapLibre sample app designed around a Supabase-style relational data model with public-safe records.
  • Built map-first asset flows with status filters, selected-record panels, and direct inspection/work-order paths for field and supervisor use.
  • Documented production needs including RBAC, offline sync, audit logs, import validation, security concerns, and mobile field-device testing.
Read case study

StreamCinema Vote Bot - Twitch Chat Voting + OBS Automation

Streamer-run movie nights need reliable chat voting, local movie selection, and OBS playback handoff.

  • Implemented TwitchIO chat commands for votes, results, current movie, remaining time, movie lists, and help output.
  • Built vote-state handling for changed votes, duplicate prevention, partial title matching, tie resolution, and fallback selection.
  • Integrated OBS WebSocket playback automation with local movie-folder scanning, OAuth token refresh, reconnect handling, and startup validation.
  • Added setup, security, and testing notes so Twitch credentials, OBS settings, and local media dependencies are explicit.
Read case study

Movie Library - Public-Domain Voting Catalog

MovieBot viewers need a catalog for finding eligible public-domain titles and copying valid vote commands.

  • Built an HTML/CSS/JavaScript catalog for public-domain MovieBot queue data with title, year, runtime, and rating filters.
  • Implemented generated !vote commands with Clipboard API behavior and fallback copy handling to reduce chat input errors.
  • Rendered lazy-loaded poster cards with labels, normalized external poster URLs, and fixed image dimensions.
  • Maintained a full noscript fallback list so the catalog remains readable when JavaScript or poster loading fails.
Open catalog

Web Paint - Browser Canvas Drawing Tool

Browser drawing tools need predictable canvas state, history, imports, exports, and mobile-friendly controls.

  • Implemented Canvas 2D drawing modes for pencil, eraser, shapes, fill, text, selection, and preview rendering.
  • Built undo/redo with capped ImageData snapshots, import validation, PNG export, localStorage save/load, zoom, and canvas resizing.
  • Managed vanilla JavaScript state for active tools, colors, brush sizes, selection bounds, pointer capture, and status output.
  • Added mobile-friendly control panels and file guardrails for MIME type, file size, pixel count, and bounded canvas dimensions.
Read case study

Portfolio Site - GitHub Pages Developer Portfolio

Recruiters need a fast path from selected work to resume details and contact links.

  • Reworked homepage positioning, selected-work hierarchy, resume/contact paths, navigation, footer links, metadata, and case-study routing.
  • Built reusable sections for project cards, technical strengths, notes, browser experiments, and work/case-study indexes.
  • Added mobile-first CSS, visible focus states, reduced-motion handling, sitemap/robots metadata, and social preview metadata.
  • Verified mobile navigation, public-page links, and browser controls across GitHub Pages pages.
View selected work

Interactive Games/Tools - Browser Experiments

Browser experiments show input handling, local state, Canvas rendering, keyboard checks, and touch-friendly controls.

  • Implemented Canvas and DOM game loops for Mini Golf, Asteroid Drift, Snake, Brick Breaker, 2048, Minefield Sweep, and Flappy Workbench.
  • Built keyboard/touch input, pause/restart/fullscreen controls, localStorage best scores, and reduced-motion handling across games.
  • Modeled game-specific logic including collision checks, board transforms, recursive reveals, input buffering, obstacle spawning, and scoring.
  • Added visible controls, live status text, board/cell labels where applicable, and mobile play instructions.
Open Interactive Lab

Experience

Independent software projects

Software development portfolio work

Current

  • Builds and documents GitHub Pages apps, browser tools, Python automations, and case studies from product framing through responsive implementation.
  • Maintains recruiter-facing pages with public builds, source links, metadata, keyboard notes, deployment notes, QA notes, and production tradeoffs.
  • Uses working pages to show frontend UI, automation reliability, map modeling, Canvas interaction, and GitHub Pages delivery skills.

Education / certifications

Education

Memorial University of Newfoundland

2019-2023

Listed on Zac's public LinkedIn profile. No degree title or certification details are stated on this web resume.

Contact

Links