TomHinkle.net

JavaScript

JavaScript is a weird and wonderful language. I initially thought of JavaScript as broken and ugly language, but then a former student pointed me toward the wonderful book JavaScript: The Good Parts. Under the influence of that book, I really came to enjoy some of the old school features of JavaScript (hoisting, function scope, etc).

I still have enough purist in me to consider things like the class syntactic sugar in JavaScript a bit of an outrage, but I have come to be more flexible over time.

Specifically, not that I've finally made the jump from my beloved Emacs to Visual Studio, I find that the editing features I get when using proper TypeScript are transformative and make it worth the trouble.
TIfT

Text Interface for TypeScript

Simple text interface for easy imperative programming for beginners
Project screenshot

APCSP Pseudocode Generator

A simple tool to generate pseudocode for the AP Computer Science Principles exam from JS/TS input
GFM

Google Forms Mirror

A web component that mirrors Google Forms, allowing seamless integration while supporting translations and external styles.
Project screenshot

Nutrition Tracker API for ChatGPT

I turned Google Sheets into an API for ChatGPT, making it easy to create a nutrition tracker chatbot.
F

Foggle

A wordle-variant where you don't know how many letters you're guessing
TS

True Shuffle

A quick tool to put a spotify playlist in random order
Project screenshot

Tree Core Visualization

A tool for visualizing tree core data
CCL

Contain CSS Library

A UI framework using container queries, CSS variables, and Svelte
SSSS

Student Scheduler Sheets Script

A Google Sheets Container-Attached Script for scheduling special blocks
Project screenshot

Visualization of Senior Projects

A d3 visualization of senior projects at my school.
Project screenshot

School Landing Pages

Landing Pages for our School
Project screenshot

Area Multiplication Model

A simple web-based tool to help upper elementary school aged students with multiplication.
Project screenshot

Data Breakdown Tool (Histogram Generator)

A simple sheets add-on to break down spreadsheet data and create histograms
Project screenshot

Cycling Tools

Tools to find activities using a map + strava data.
Project screenshot

Gourmet (web)

Fully Featured Recipe Manager for the Web
HG

Hat Game

A virtual "Hat" for playing Celebrity and other party games during Covid
Project screenshot

All the Things

A way to manage tab hell in the browser.
WJ

Workflows Jacknife

An all-purpose power tool for automating Google Admin processes with forms.
Project screenshot

Family Spot-It

Custom spot-it cards for the fam.
Project screenshot

Fish Tank

A fishtank game I coded on a plane ride with my kids.
MM

Multi-Folder Manager

A tool to manage folders in multiple locations in google drive.
T

TableLibrary

A convenient library for manipulating tabular data in spreadsheets
AA

Aspen Automator

A tool to automate importing grades into Aspen from Google Classroom or CSVs (and also make it less ugly).
FC

Folder Copier

A spreadsheet-attached script to allow copying folders in Google Drive
TM

Temperature Monitoring

A system for monitoring temperatures in our school.
GV

Grade Visualization

A system for visualizing grades over time.
Project screenshot

Super Simple Portfolio

A simple digital portfolio system built on top of Google Drive.
SB

Signout Bot

A simple chatbot for handling signing in and out of the building.
Project screenshot

Classroom Roster Tool

A simple spreadsheet-attached set of scripts for managing google classroom at the school level
EST

Email Scheduler Tool

A spreadsheet-attached script for sending automated emails.
GGM

Google Groups Manager

A spreadsheet-attached script for listing groups and members and mass deleting groups
S

SimpleCanvasLibrary

A simple canvas library for teaching JavaScript to students who want to write games.
Project screenshot

Dots

A simple implementation of the game of dots.
MA

Morning Announcements

A tool for managing morning announcements as a Google Slides presentation
WiB

What is Blue?

A simple machine learning project to train a model in the browser to identify the color blue
TVST

Teacher View Spreadsheet Template

A spreadsheet template system to allow teachers to see a work from a class worth of students at a time
C(&AMP

CAMP (Companion & Activity Matching Planner)

A scheduler for building activity schedules for a school using weighted peer- and activity-preferences.
GSSK

Google-Apps-Script Svelte Starter Kit

A starter kit for building Google Apps Script web apps using Svelte