William Block
Software engineer who builds full-stack systems, developer tools, and the occasional programming language from scratch.
I like building software end to end, from operating system shells and custom compilers to full-stack systems that real people depend on.
About Me
I'm William Block (most people call me Billy), a computer science graduate who likes building software end to end, from operating system shells and custom programming languages to full-stack laboratory information systems.
Most recently I built customer-facing workflow tools at Northcross Group and wrote test suites that pushed coverage across three projects to 80%. I also run Tabby Studios, my own web design business serving small businesses in Marquette and across the Upper Peninsula. Outside of work I enjoy teaching programming, solving hard technical problems, and turning messy real-world workflows into something simpler.
- 80% test coverage added across 3 projects at Northcross Group using Cypress, Artillery, and Jest.
- 1,000+ students taught programming and game design worldwide as an iD Tech instructor.
- 100+ computers imaged and deployed via PXE boot for NMU's Technology Support Services.
- A full compiler for a custom language, written entirely in Smalltalk.
Skills
Languages
Frontend
Backend
Desktop
Tools & Testing
Experience
Founder & Web Developer
Tabby Studios
- Founded and run a web design business for small businesses in Marquette, MI, handling design, development, hosting, and client communication from first email to launch.
- Built and launched the tabbystudios.com site with Next.js and React, with fixed-price packages, structured data, and technical SEO.
- Offer fixed-price Standard and Advanced websites plus scoped custom web applications and ongoing care plans.
Development & Business Systems Intern
Northcross Group
- Developed a core "Engagements" workflow tracking system for a customer portal using React, Express, and MySQL.
- Created 100+ test suites using Cypress, Artillery, and Jest, increasing test coverage to 80% across 3 different projects.
- Managed feature delivery and codebase integrity via Jira, Confluence, Git, and GitHub during agile sprints.
Software Support Assistant
NMU Technology Support Services
- Imaged and deployed 100+ computers via PXE boot and NMU's custom imaging system.
- Delivered technical support in person, by phone, and remotely via TeamViewer.
- Assisted in a campus-wide desktop replacement project, deploying 100+ new workstations.
- Documented IT procedures and troubleshooting steps using Confluence.
Online Instructor
iD Tech
- Taught programming and game design to 1,000+ students worldwide using Java, C++, Lua, Godot, GDevelop, and Roblox Studio.
- Led 100+ projects from beginner to advanced, emphasizing creativity and first-principles problem solving.
- Adapted teaching style to accommodate diverse learning backgrounds and skill levels.
Featured Projects
Compass LIS
Full-stack laboratory information system for managing patients, specimen requisitions, and microbiology workcards in a clinical setting. Built as my senior capstone project.
Read the case study ->
Custom Programming Language
SAD is a compiler and language runtime, implemented entirely in Smalltalk and compiling to C.
Preview SAD ->
Linux Shell (CRASH)
A feature-rich shell with command history, background execution, signal handling, and fuzzy command search.
Preview CRASH ->
NBA Web Scraper
Scrapes player nationalities and salaries across sites, then charts average salary by country.
Preview Web Scraper ->Tabby Studios
My web design business and its live site: fixed-price packages, a project intake flow, and technical SEO, designed and built solo.
Visit tabbystudios.com ->Student Job Board
A job board for students, built with Angular using purely object-oriented techniques.
Education
Northern Michigan University (Marquette, MI)
Bachelor of Science in Computer Science, Minor in Mathematics. Graduated May 2026, GPA 3.97.
- Web Development: Built full-stack apps like Compass LIS, plus a web design final project.
- Embedded Systems: Developed a pulse-width modulated temperature controller using AVR assembly, C, and an Arduino.
- Networking: Built basic servers on Linux, implementing graph search algorithms for routing.
- Systems Programming: Designed C++, Java, Python, and SQL programs, including a checkbook app, a chess engine, and a shell.
- Compiler Design: Designed and implemented a compiler with my class for a custom programming language, including a grammar, parser, pretty-printer, and code generator.
- Calculus I–III: Limits, derivatives, integrals, sequences and series, partial derivatives, multiple integrals, and vector calculus.
- Linear Algebra: Matrix operations, vector spaces, linear transformations, and eigenvalues/eigenvectors.
- Discrete Mathematics: Logic, set theory, combinatorics, proofs, relations, and graph theory.
- Applied mathematical concepts to programming projects, simulations, and computational problem-solving.