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 Zac
- GitHub
- github.com/Inefy
- ca.linkedin.com/in/zac-batten
- 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.
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.
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
!votecommands 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
noscriptfallback list so the catalog remains readable when JavaScript or poster loading fails.
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.
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.
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.
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
- Email: Email Zac
- GitHub: github.com/Inefy
- LinkedIn: ca.linkedin.com/in/zac-batten
- Portfolio: zacbatten.me