Resume

Zac Batten

Frontend / internal-tools / automation developer

Newfoundland time zone. Open to frontend, automation, internal-tools, and practical web app work.

Summary

Frontend, automation, and web app work.

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

Technical skills

Skills

Frontend
HTML, CSS, JavaScript, responsive layout, semantic markup, keyboard navigation, focus states
Automation
Python, TwitchIO, OAuth refresh, reconnects, OBS WebSocket
Maps/field ops
MapLibre-style UI, asset records, inspections, work orders, imports, reports, roles
Browser APIs
Canvas 2D, Pointer Events, Clipboard, File APIs, LocalStorage, fullscreen
GitHub Pages 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

Selected project experience

Project-backed software experience

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.

StreamCinema Vote Bot - 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, metadata, and case-study routing.
  • 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.

Independent software development

Independent project work

Software development portfolio and public project work

Current

  • Builds GitHub Pages apps, browser tools, Python automations, and case studies 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.

Education

Education

Memorial University of Newfoundland

2019-2023

Public education entry; no completed degree or certification claimed.

Links

Links