Hi, I'm
Josiah Sprankle.


About Me

My name is Josiah, and I am a full-stack web developer with a passion for bringing new projects to life. I enjoy coding because it combines creativity and problem-solving. Originally a music major, I started learning how to code in 2020 by creating practice projects for fun. Some are beginner projects, a few are simple websites, others are more elaborate applications with features like secure authentication, payment, real-time chat, etc. All of my open-source projects are on Github.

I am currently employed at RedJade Sensory Software as a Junior Software Engineer, where I have worked since Fall 2022. I work with talented software engineers to maintain a powerful set of Sensory & Data Analysis software written with Ruby on Rails, AngularJS, and other tools. I am most familiar with full-stack Javascript/Typescript development, and have completed the AWS Associate Developer Exam.

As for my personal life, I am also a husband & father, and a classically-trained pianist/composer, and a Christian. I live in Staunton, Virginia and lead worship at Restoration Anglican Church. If you're interested, you can check out my music site or my YouTube page.

(Also, for anyone who is curious, this portfolio website was graphically prototyped with PenPot, and coded with Svelte and Tailwind! This combination is new to me, but I love working with it.)


See some of my work.


Audio Sample
My Flashcards
Batmobile Run

A work-in-progress 2D racing game where you must dodge obstacles, shoot batarangs, and navigate the streets of Gotham. Work-in-progress.

game javascripthtmlcssreact
Word Unscrambler

A word-unscrambling algorithm that uses Node.js, Cheerio, and Axios for dictionary lookup via web-scraping.

algorithmbackend nodejavascripthtmlexpress
Audio Sample

The early stages of a simple, browser-based DAW (digital audio workstation) - for multi-track audio editing and playback

frontendproductivity javascripthtmlcssc++bash

A computer-themed word-guessing game inspired by Wordle. Made with Vanilla JS.

game nodejavascripthtmlexpress
My Flashcards

A simple, easy-to-use web application for taking notes, making study flashcards, and being productive. It features secure password storage, a smooth interface, and a user login system. Built with Vue, Sass, and Netlify serverless lambda functions.

productivity vuehtmlcssmongodb

A work-in-progress drawing app and color picker built with canvas.

productivity javascripthtmlcss
COVID-19 Data Visualization Map

Built with Vue. An interactive Map of COVID-19 cases in the United States from the start of the pandemic to March 2021.

data javascripthtmlcss
Road Whiz

How good are your driving skills? Can you reach the objective without crashing into trees, potholes, or other cars? Built with pure CSS and Javascript using the ES6 modular import system.

game javascriptcsshtml
Maze Generator

A maze generation algorithm that utilizes the recursive backtracking method, made with Javascript. It can seed a randomly-generated maze ranging from a width of 5 to 50 cells.

algorithm javascripthtmlcss
Sudoku Solver

A sudoku-solving algorithm and interactive game written in vanilla Javascript, CSS, and HTML

algorithmgame javascripthtmlcss
Typing Speed Test

A typing test that checks your accuracy, speed, and returns an adjusted WPM score. Made with React.

productivity reactcsshtml
BPM Tools

A metronome and BPM tapper, built using the Web Audio API and vanilla Javascript.

productivitystatic javascriptcsshtml
My Job Search

A class-based web-scraping tool that searches Indeed, FlexJobs, and SimplyHired for job postings. Made with Cheerio, Node.js, Express, and React.

full-stack reactnode,csshtml
2-Player Chess

A real-time, 2-player chess application with game clock, move notation, custom room codes, and a working implementation of the rules.

full-stackgame javascripthtmlcssbootstrapnodeexpress
Exalted Christian Band

This website is a band portfolio page for a band in Roanoke, VA. This project features a custom contact form, menu layout, and image grid. It was built with React and deployed with Netlify.

frontend reacthtmlcss
Birthday RSVP Website

This website is a an RSVP website for a birthday party, featuring a small backend built on Netlify serverless functions and a vanilla JS frontend.

frontend javascripthtmlcss
Vinyl Records Store

An e-commerce application built with Vue, Express, Node.js, and MongoDB. This website uses the PayPal API. Upon payment completion, the purchaser receives an email with their itemized total and order number with a custom designed email template in Nodemailer.

full-stackcommerce mongodbvueexpresshtmlcssnode
Music Portfolio Store

A music portfolio SPA website with e-commerce, a shopping cart, media playback, a custom PDF viewer, custom email templating, and encrypted downloads. I built this website with the MEVN stack top-to-bottom, utilizing the PayPal API for secure payments.

full-stackcommerce vuemongodbexpressnodehtmlcss

A full-stack time tracker application with React, Framer-Motion, and an original JSON database. Each user's time is saved to a database, where the user can create an account, add time, and even change their preferred color scheme with a Redux-manged color selection tool.

full-stackproductivity reactnodehtmlcssmongodb
Social Media Website

A MEVN Stack social media application, featuring custom image uploads, user authentication, logins, and password encryption. Additional features are the ability to like and comment on posts, create a custom user profile, request friends, and have real-time chat.

full-stack nodeexpressmongodbvuehtmlcss

A tic-tac-toe program with, made in vanilla JS. It features an optional computer opponent, with a simple minimax AI.

game cssjavascripthtml
Time Tracker

A precursor to Trackful - a time-tracking application made with Vue. Note: the tracker will not run on the background in mobile browsers.

productivity vuehtmlcss
MySQL Products API

A MySQL query API with limiting, sorting, pagination, and sorting. All of the data was generated using the faker module, and API includes 100 unique products, each with a unique ID.

backend mysqlnodeexpress

Contact Me

Let's get in touch.