I'm a web developer with a passion for clarity—in code, in design, and in communication. I specialize in transforming complexity into intuitive, accessible experiences, drawing on a background in research, education, and full-stack development.
With a PhD in Music Theory, I bring both analytical depth and creative insight to every problem I solve. Whether building frontend interfaces, structuring backend systems, or explaining a technical concept, I focus on making things easier to understand and easier to use.
Skilled in JavaScript, React, Ruby on Rails, Typescript, Python, REST APIs, SQL, and testing frameworks, I combine technical expertise with adaptability and collaboration. If you're looking for someone who codes with clarity, teaches through tech, and builds with long-term impact in mind—let’s connect.
View CVA web-based visualization tool for exploring musical ratios in a logarithmic harmonic spiral. The spiral represents frequency relationships in a continuous space, making octave equivalence, harmonic distance, and generator-based structures visually intuitive. Part of the larger suite of Just Intonation Tools web apps.
Built with a React frontend and SVG-based rendering, the app allows users to input ratios or batches of ratios, plot them dynamically, and visualize relationships via generator rays, octave lines, and interactive labels. The interface supports keyboard input, point selection, and real-time updates, with ongoing development focused on tighter integration with other just-intonation tools in the project.
An interactive 3D ratio lattice for visualizing just-intonation pitch structures in space. Ratios are represented as points in a lattice organized by prime-factor relationships, allowing users to explore harmonic structure, proximity, and symmetry beyond octave-reduced pitch-class space. Part of the larger suite of Just Intonation Tools web apps.
The app is built with React and Three.js, using custom geometry and scene-management utilities to support multiple lattice modes (cubic, radial, and expanded variants). Users can adjust scaling, rotation, and layout parameters in real time, toggle structural features, and navigate between local and global harmonic views. The lattice shares underlying ratio-parsing and factorization logic with the other tools in the suite.
A simple static site for the symposium celebrating Harry Somers's life and work at the University of Toronto's Faculty of Music, held on Saturday, September 27, 2026.
The app uses Eleventy (11ty) to generate the static site, using a template for general layout, header, footer, several pages, and is styled with responsive Tailwind CSS throughout. The site includes a registration form and webhook connected to Netlify for form submission notifications. Currently still live.
The European Refugee Musicians in Canada (ERMiC) online biographical dictionary explores the lives and legacies of musical artists who arrived in Canada between 1937 and 1950 as refugees from Nazi-occupied Europe, and is an ongoing research project at the University of Toronto's Faculty of Music funded by the Social Sciences and Humanities Research Council of Canada.
The site is a React app scaffolded with Create React App and styled with Tailwind CSS. All the data for the app is stored and managed in the Contentful database, and the app fetches the data via Contentful's GraphQL API. The dictionary supports broad and specific searches by keyword with a navigable dropdown menu, as well as a browse feature for all the dictionary entries.
A web app for meant for music theorists, built with a React frontend and a Typescript + Vite backend. The app uses SVG to create a tiling of triangles, representing musical triads.
The app allows the user to select triads, toggle transformational relations between triads on and off, a dynamic zoom slider, and a "draw path" mode, which allows one to model a musical progression as a chain of transformations on the Tonnetz. Future developments with other forms of visualization and more sohpisticated tools are planned.
A calculator and analysis tool for just-intonation pitch sets, designed to compare harmonic structure across multiple theoretical models. The app treats sets explicitly as collections of ratios or partials, supporting both pitch space and pitch-class space interpretations. Part of the larger suite of Just Intonation Tools web apps.
Implemented with a React frontend and Python backend, the calculator computes set in various forms and harmonic complexity measures, and also allows the user to transform the set further.
TinyApp is a full-stack web application built with Node.js and Express that allows users to shorten long URLs, similar to bit.ly. This is version 2 of a previously built app during my time in bootcamp. TinyApp runs an Express.js backend server, uses EJS to build all views, and Bootstrap to style them. It integrates a PostgreSQL database to store users and URLs, and uses bcrypt and express-session to manage authentication and user permissions. Some very basic testing with Chai is also implemented.
a_millaresthomson@outlook.com
Get in touch with me!