Duncan Crawbuck

Sprinkler Visualization

Fire & Risk Alliance Sprinkler Database

Senior Project at CSUS
A year-long, Scrum-based team project to develop software following client specification, including biweekly end-of-sprint meetings with the client and a faculty advisor. Delivered a React web application that compares spray patterns from a MongoDB database of sprinkler data, with database navigation and user login/authentication. I personally oversaw the implementation of an interactive d3.js visualization in the React application. Website is now owned and operated by Fire & Risk Alliance.
Simple & Classic Games App Icons

Simple & Classic Games

Developed a collection of games including Solitaire and Minesweeper and sold them on the iOS and Mac App Store. Built using Swift, UIKit, and SwiftUI to produce modern and powerful applications. Utilized automated testing, continuous deployment, and TestFlight beta testing for rapid iteration and streamlined development.
Mac Catalyst
Dog Detector App Icon

Dog Detector

A playful app that uses machine learning and computer vision to identify dogs and "detect" their mood. Integrates an advanced dog detection algorithm with an emoji-based overlay to produce an augmented reality view that can find dogs of all kinds. Built using Swift, Vision, SpriteKit, and SwiftUI. Currently in beta, you really have to try it to believe it!
Baby C Compiler program running on the command line

Baby C Compiler

Project for CSC 151 (Compiler Construction) at CSUS
Compiler that parses simplified C-style code and produces ILOC assembly. Generates an abstract syntax tree and fills a symbol table with declared variables. Built to handle variable declarations, expressions, if/else statements, and while loops. Written in C and uses the Bison parser and flex scanner.
Wireframe Mockup of Pirex Application

Pirex – Information Retrieval Tool

Project for CSC 131 (Computer Software Engineering) at CSUS
A collaborative group project that developed software according to a provided specification. Built a Java-based document indexer and search application with a graphical user interface. Personally oversaw the use of the Scrum process and shared version control.
File-Encrypt-Decrypt program running on the command line


Project for CS 21 (Assembly Language Programming) at Las Positas College
A Linux command line program to store data in an encrypted file with the ability to decrypt it and read it back. Source code is thoroughly documented for readibility. Split into two executables: one to encrypt and save data to file, and one to read from a file and decrypt.
Website Preview


A straightforward website designed to showcase my projects and developer talent. Built with simple HTML and CSS and powered by GitHub pages. The website supports dark mode, and uses the native system font.