Software Developer

Scott Robertson

I build clean, practical software for the web: React interfaces, Node.js APIs, C#/.NET applications, and interactive browser experiences that feel clear, responsive, and maintainable.

Skills

Frontend

  • JavaScript/ES6
  • React
  • HTML/CSS
  • Canvas
  • Responsive Design

Backend

  • Node/Express
  • C#/.NET
  • ASP.NET MVC
  • APIs

Data

  • MongoDB
  • Azure SQL
  • Cosmos DB
  • SQL

Tools

  • Git
  • Unity
  • Agile/Scrum

About

I am a software developer and Rochester Institute of Technology graduate who enjoys turning fuzzy product ideas into dependable, usable web experiences. I like work where the details matter: the way a dashboard explains itself, the way a game loop responds, or the way an API keeps an app predictable.

My projects span React and TypeScript apps, Node.js services, C#/.NET and ASP.NET MVC work, SQL-backed data flows, local-first tools, and browser games. Across all of it, I focus on building software that is easy to understand, easy to use, and ready to grow.

Portfolio

A selection of web apps, local-first tools, games, and API-backed projects built with JavaScript, React, TypeScript, Node.js, canvas, and modern browser storage.

Screenshot of the Pouchless quit nicotine pouches app dashboard

Pouchless

2026
Type Local-first PWA Status Live Access Demo

Mobile-first quit companion that helps people slow cravings, track pouches, set daily limits, and notice progress over time.

Pouchless is an installable React and TypeScript PWA with local-first persistence through Dexie and IndexedDB. The experience keeps habit support calm and usable, with lightweight flows for cravings, logs, plans, insights, and journaling.

React TypeScript PWA
Live Demo
Screenshot of the local-first Financial Tracker app dashboard

Financial Tracker

2026
Type Local-first app Status Live Access Demo

Personal finance tracker with local SQLite persistence, dashboard summaries, transaction workflows, accounts, categories, and import/export.

This version of Financial Tracker uses React, TypeScript, SQL.js, and SQLite-backed local storage to keep data private and portable. It supports everyday finance workflows in the browser, with an optional Tauri shell for desktop use.

React TypeScript SQLite
Live Demo
Screenshot of the Guinea Pig Beans Phaser game

Guinea Pig Beans

2026
Type Phaser game Status Live Access Demo

Cozy Phaser management game about caring for autonomous pigs, fulfilling contracts, improving the cage, and growing through persistent progression.

Guinea Pig Beans combines autonomous character behavior, cage-care feedback, contract goals, upgrade choices, and tech-tree progression into a friendly browser management loop built with Phaser and TypeScript.

Phaser TypeScript Game Dev
Live Demo
Screenshot of the Arcane Exterminator browser game

Arcane Exterminator

2026
Type Canvas game Status Live Access Demo

Canvas survival game with escalating enemy waves, auto-targeting combat, upgrade choices, resource drops, and persistent progression.

Arcane Exterminator turns a tight canvas game loop into a repeatable progression system, balancing enemy pressure, pickup timing, upgrade state, shards, and permanent bonuses across runs.

JavaScript Canvas Game Dev
Live Demo
Screenshot of the Shape Invaders browser game

Shape Invaders

2026
Type Canvas game Status Live Access Demo

Canvas arcade shooter with responsive input, enemy wave behavior, collision handling, scoring, and quick restartable play.

Shape Invaders uses plain JavaScript to handle drawing, keyboard movement, projectile updates, enemy patterns, collisions, and score state. The project focuses on snappy browser arcade feedback without a game framework.

JavaScript Canvas Game Dev
Live Demo
Screenshot of the RayCaster browser game

RayCaster Game

2020
Type Canvas demo Status Live Access Demo

Pure JavaScript raycasting demo that renders first-person movement and wall projection with canvas math and keyboard input.

RayCaster Game creates a first-person browser view without a 3D engine. Player movement, direction, distance checks, and wall projection all run through JavaScript and canvas rendering.

JavaScript Canvas Game Dev
Live Demo
Screenshot of the Financial Tracker dashboard

Financial Tracker

2018
Type Full-stack app Status Archived Access Code

React finance dashboard with authenticated accounts, transaction entry, charted summaries, MongoDB storage, and Redis-backed sessions.

This earlier Financial Tracker pairs a React front end with a Node.js API for account-based dashboards, transaction entry, and visual summaries. MongoDB stores finance records while Redis supports token and session handling.

React MongoDB Redis
View Code
Screenshot of Scott's Drink Recipes web app

Drink Recipes

2018
Type API app Status Archived Access Code

Recipe web app with authenticated submissions, searchable drink records, API endpoints, and MongoDB-backed persistence.

Scott's Drink Recipes supports account creation, recipe submission, MongoDB-backed storage, and search by main ingredient or spirit. The project centers on authenticated CRUD flows for user-generated content.

API MongoDB Auth
View Code
Screenshot of the SomethingToDoRightNow map app

SomethingToDoRightNow

2018
Type Location app Status Archived Access Code

Location-aware activity finder that combines ZIP input, weather data, Google Maps results, and open-place filtering.

SomethingToDoRightNow turns a simple question into a practical recommendation: what can I do nearby right now? It combines location input, weather API data, and Google Maps results to surface open places that fit current conditions.

APIs Maps JavaScript
View Code
Screenshot of the Audio Visualizer canvas

Audio Visualizer

2018
Type Canvas demo Status Live Access Demo

JavaScript audio visualizer with adjustable playback controls and canvas graphics driven by live audio state.

Audio Visualizer connects user controls, audio playback, and canvas rendering so changes in the interface are reflected immediately in the sound and visuals. The implementation emphasizes real-time feedback and clear browser interaction.

JavaScript Canvas Audio
Live Demo
Screenshot of the Space Blaster game

Space Blaster

2018
Type Canvas game Status Live Access Demo

Modular JavaScript shooter with canvas rendering, player controls, projectile updates, enemy interactions, and a clean game-loop structure.

Space Blaster separates input, projectile updates, enemy behavior, and drawing into focused JavaScript modules. The canvas loop keeps the action responsive while leaving the code approachable for new mechanics.

JavaScript Canvas Game Dev
Live Demo

Contact

A few good places to see more of my work or get in touch.