Resume

Frontend, internal tools, and automation. Based in Newfoundland, Canada.

Email Work
Email
hello@zacbatten.me
GitHub
github.com/Inefy
LinkedIn
zac-batten
Portfolio
zacbatten.me

Software developer building frontend interfaces, internal-tools prototypes, Python automation, map-based field screens, Canvas tools, and static GitHub Pages apps.

Frontend
HTML, CSS, JavaScript, responsive layout, semantic markup, keyboard navigation, focus states
Automation
Python, TwitchIO, OAuth refresh, reconnects, OBS WebSocket
Maps / field ops
Asset records, inspections, work orders, imports, reports, roles
Browser APIs
Canvas 2D, Pointer Events, Clipboard, File APIs, LocalStorage, fullscreen
Delivery
GitHub Pages, sitemap/robots, social metadata, no-JS fallbacks, internal links
Testing / QA
pytest, local smoke checks, responsive QA, keyboard/focus checks, console checks

TraverseOps - Field Operations Map & Work Orders

Frontend / internal-tools sample app
  • Built a MapLibre-style sample app for field assets, inspections, work orders, imports, reports, roles, and selected-record context.
  • Modeled public-safe sample data and documented production needs: auth, RBAC, audit logs, offline sync, and device QA.
  • Designed paths for map filters, asset details, inspection handoffs, supervisor views, and reports.

MovieBot - Twitch Chat Voting + OBS Automation

Python automation / public repo
  • Implemented TwitchIO commands for votes, results, current movie, time remaining, movie lists, and help.
  • Built vote-state handling for changed votes, duplicates, partial matches, ties, fallbacks, and movie scanning.
  • Integrated OBS playback with OAuth refresh, reconnects, startup validation, setup notes, and public pytest coverage.

Movie Library - Public-Domain Voting Catalog

Frontend catalog / companion app
  • Built a searchable HTML/CSS/JavaScript catalog with title, year, runtime, and rating filters.
  • Implemented generated !vote commands with Clipboard API and fallback copy behavior.
  • Rendered lazy poster cards, labels, fixed dimensions, normalized poster URLs, and a full noscript list.

Web Paint - Browser Canvas Drawing Tool

Canvas / frontend state
  • Implemented Canvas drawing modes, previews, selection, pointer capture, status output, and vanilla JS tool state.
  • Built undo/redo, import validation, PNG export, localStorage save/load, zoom, and resizing.
  • Added mobile controls and guardrails for file type, file size, pixel count, and canvas dimensions.

Portfolio Site - GitHub Pages Developer Portfolio

Static-site / GitHub Pages
  • Reworked homepage positioning, selected-work hierarchy, resume/contact paths, navigation, and metadata.
  • Built reusable sections for cards, strengths, notes, experiments, indexes, and contact paths.
  • Added mobile-first CSS, focus states, reduced motion, sitemap/robots, social previews, and local checks.

Interactive Games/Tools - Browser Experiments

Browser interaction experiments
  • Implemented Canvas and DOM loops for Mini Golf, Asteroid Drift, Snake, Brick Breaker, 2048, Minefield Sweep, and Flappy Workbench.
  • Built keyboard/touch input, pause/restart/fullscreen, localStorage scores, reduced motion, and status text.
  • Modeled collisions, board transforms, recursive reveals, input buffering, obstacles, scoring, and mobile instructions.

Software development portfolio and public project work

Current
  • Builds GitHub Pages apps, browser tools, and Python automations from framing to responsive implementation.
  • Maintains public pages with demos, source links, metadata, keyboard notes, deployment notes, QA notes, and tradeoffs.
  • Uses working pages to show frontend UI, automation reliability, map modeling, Canvas interaction, and workflow design.

Memorial University of Newfoundland

2020–2025

Bachelor of Science in Computer Science.