Hello World, I'm Jacob!

2021 graduate of Temple University's Information Science & Technology program
3+ years professional technology consultant experience

Microsoft Certifications

See my 8+ Microsoft certifications including Azure Solutions Architect Expert here

Academic Projects

I've helped to build some cool things while at Temple.

CST E-Course Evaluation Tracker

This is my Capstone project I am currently developing with a virtual team of five other students. Together we have analyized out clients' needs, designed a solution, and developed the UI of the coming application. The E-Course transfer dashboard is a web based application available to transfer students and faculty advisors that will provide fast and efficient transfer equivalency tracking, monitoring, and automated email response for incoming transfer students.
Read "The Book"

PA Watershed Level Tracker

This was another Capstone project I was able to contribute to in its final phases of development as part of Temple's Quality Assurance & Testing course. A team of two other students and I developed, executed, and logged many tests for another team's Capstone project. That project was a platform to enable community tracking and logging of local watershed levels.

Wawa Ordering Station Program

This was a final project for Temple's Component Based Software Development course. I developed a Windows application that, based on graphical user input, creates and logs virtual orders at an American restaraunt. The Application allowed for various sizes, toppings, and combo deals, and pulled the associated prices from a database to build an order receipt.

Matrix Operations

Windows Application that generates random matrices and performs basic mathmatical functions to them. The professor of this class was researching very low level algorithyms, I bet matrix arithmatic is a very common task for him.
Download MatrixOps.exe

Class Scores Tracker

Windows Application that allows the user to log the scores of students and have a class average dynamically calcualted.
Download 'Class Scores Tracker.exe'

Car Auction Web App

For my Server-Side Web Development term project: One other student and I developed a basic clone of a website of our choosing. My partner and I chose to create a website mimicing Copart, a car auction site for salvage or "total-loss" vehicles. Users can visit the site unidentified, or register and sign in. Unidentified users can only view Auctions. Registered users can additionally create Auctions, edit their Auctions, Bid, and save profile information.
This project strictly uses API calls to Stored Procedures for communication with its Database.
I self-host this web app. It can be made accessible by request. Reach out to check out some (fake) cars I'm hosting!

Restaurant Review Web App

As a precursor to the above term project I individually created a basic Yelp clone. The website allows users to visit as either an unidentified visitor or a registered Reviewer/Representative. Anyone can view the Restaurants and their Reviews, as well as write Reviews and place Reservations. Reviewers can additionally edit and delete their Reviews. Representatives can add Restaurants to the site, claim unclaimed Restaurants to represent, edit or delete Reviews for Restaurants they represent, and view Reservations for Restaurants they represent.
This project uses entirely Stored Procedures to communicate with its Data Base.
Check out some Restaurants!

Book Store Web App

I made a basic book store web app. The context is to serve a student body's need for textbooks.
This project uses entirely SQL calls directly to its Data Base to obtain data.
Data is displayed in a Dynamic GridView Display
Previously, you could order a book! The website has since been de-hosted.

Client-Side Website

This website was developed as a learning tool for the Client-Side Scripting course, it uses entirely client-side processing to fetch and display its data, as well as take some user input. The site includes an SPA using entirely JavaScript driven page events and data handling. I was not allowed to use any CSS frameworks in this website.
The website was previously hosted by the school here, but has since been taken down.

Personal Projects

I've also built some cool stuff myself...

Loans.exe

A while ago I wanted a personal coding project to work on, one that would be useful to me in the end as well. I ended up making this budgeting program. Given a certain salary, US state of residence, and a few other personal parameters the program will calculate how long the loan/expense will take to pay off. The program acccounts for state and federal tax, including adjusting for tax brackets, and allows users to add more secondary expenses to track similateously. Download Loans.exe

Picture of a windows application

I have recently developed a web-based version of the Loans as well, which includes a graph of the users expenses each month. Visit Loans on the Web

Hannah Adams Website

Some Tuesday night after my classes I was contacted by the President of the Hannah Adams Woman's Club. I was asked if I would be interested in developing a website for the club since one did not exist and the COVID-19 pandemic had prevented the club from holding their usual events. That Friday I informed the President that a preliminary site was runninng. The next day the President and I did a live walkthrough of the site. As of 10/24/2021 the site is awaiting content from the President.
This site is deployed through AWS.
Check out the Hannah Adams Woman's Club!


Personal C# Class

Helpers.cs is a C# class consisting of a few functions that I used consistently in my academic assignments. The earlier, basic functions do things such as build SQLCommand objects from a Stored Procedure and optional parameters. The more advanced functions will construct a generic List object from a DataSet by setting any properties that share a name with a column in the DataSet. In the case that the class's property names are fixed, a 'translation' dictionary can be included that will tie a property with some name 'Key' to some column 'Value'.
View the Helpers.cs code
Referenced DBConnect class


Raspberry Pi Vesa Mount

This is a mount that attaches a Raspberry Pi directly to the back of any Vesa compatable display. By powering the Pi through the display's onboard USB port a self contained computer can be assembled. The assembly can be easily carried/used anywhere an extension cord can reach. The intended use is to view manuals, schematics, or other research materials in the workshop.

Picture of a raspberry Pi mounted to a wood block, mounted to a Vesa mount

Mobile App Design

This is a personal project students designed in parallel to their Capstone client projects. My designed application, Position Relative Mobile Playback (PRMP) proposes to track a user's real world position and seamlessly transition the playback of their mobile device between multiple speakers in a home or other area as the user moves around it. Like the CST E-Course Evaluation Tracker this application was planned extensively, up to and including a preliminary UI. Unlike the CST E-Course Evaluation Tracker however, this documentation and planning was done entirely individually.


Water Feature Thing

Just a little woodworking / plumbing / electrical project I have, it's almost done. Water gets pumped from the lower resevoir to the upper resevoir, overflows, falls back to the bottom resevoir and repeats. A table top peice will be placed on top. The shaft poking out the top will slowly spin the table top.

Picture of a wooden tower


Telegraph Key

Some 2025 Spring cleaning turned up an unfamiliar item that Google Lens helped me to identify as an ignition point for an engine. Having seen some telegraph keys online recently, I decidiced I'd use this ignition point to make my own telegraph key.

V1 (PoC)

Breadboard drafting, lots of wires, active when lever is at rest, 3D printed "button"

V2 (Optimization)

MOSFET to invert control signal (active when lever is actuated), more appropriate LED, variable tone potentiometer

V3 (Packaging)

Built into bottom of platform, DuPont/soldered connections

Picture of a block of wood, with a false bottom housing many wires and small electronics

Telegraph Key Potential Improvements

  1. PCB with SMDs
  2. 3D Printed Enclosure
  3. Internal Power Supply

3D Printed Keys

After watching ThePrimeagen's video on shaders I wanted to try something conceptually similar, but more useful for me. With an interest in security, experience cutting keys, 3D design, & 3D printing, I decided to design a program to generate a 3D print file for a key when given a key-blank and cut-depths. The key-blank can be identified, with some experience, by just visually inspecting the keyway from a distance. The cut-depths could be known values, or identified with a lishi tool, or a variety of other methods. Dialing in the blade length, blade height, cut-depth-unit, & keyway groove depth took lots of trial and error but the prints now resemble real keys. Code available on GitHub.

Picture of a 3D model of a key in Cura Ultimaker

Card Game

My family likes to play card games at cook-outs, a recent favorite being one called "Golf" where players are dealt a hand of 6 cards face down, flip 2 cards of their choice before the hand begins, then choose to either replace or flip another card each turn. Playing card games with physical cards can present some challenges such as:

  1. Cards blowing in the wind
  2. Tracking scores
  3. Shuffling
  4. Teaching rules to new players
To address these challenges, and potentially implement bot opponents later on, I developed a web-app to play the card game "Golf". The app needs to be able to push game-state updates (plays) to players, functionality which SignalR was selected to provide. The app was designed to run in a serverless context to minimize cost. Code available on GitHub.

Picture of 3 people playing the card game 'Golf'
Home Temperature Monitoring

The HVAC in my home is single-zone, leaving the above-grade rooms much hotter than the basement spaces during the summer months. Some household memebers complain of unbearable heat while others put on sweatshirts. To determine the true extent of the HVAC imbalance I created 4 temperature & humidity sensors, a MySql database to record the data, and a REST API deployed on the LAN to connect the two. Once sufficient data had been logged, I created Stored Procedures to retrieve the data and a basic graphing HTML page to display it. Challenges of this project included:

  1. Powering microcontrollers
  2. Programing microcontrollers
  3. Debugging microcontrollers
  4. Smoothing intermittent data points on graphs
  5. Wiring temperature/humidity sensors
  6. Deploying LAN APIs/Configuring IIS
  7. Managing secrets via environment variables
Sample LAN API Response
 
{ "SensorName": "Beta", "SensorID": "2", "LogTime": "2024-07-21T00:26:01", "TempF": 81.1, "HumidityP": 57.7 }, { "SensorName": "Charlie", "SensorID": "3", "LogTime": "2024-07-21T00:14:40", "TempF": 83.7, "HumidityP": 56.7 }, { "SensorName": "Delta", "SensorID": "4", "LogTime": "2024-07-20T23:18:39", "TempF": 83.2, "HumidityP": 58 },...

Picture of a graph with Time on the X axis & Temperature on the Y axis
Development artifacts can be seen in the early data, resulting from insecure connections altering the resistance on the analog data lines

Rainbow Div

After working on back-end projects for a few years, I wanted to refresh my memory on some front-end concepts and design a pure CSS re-useable component that would be eye-catching. Inspired by the propeler hats of old, I created a dynamically self-sizing rainbow-pinwheel background. This presented some challenges:

  1. Dynamic resizing means the background cannot be a static image
  2. Achieving smooth gradients between all colors
  3. Backgrounds themselves cannot be rotated via keyframe transforms, so the div itself must be rotated
  4. Automatic centering of content on the Rainbow Div background

Did this catch your eye?


Courses

Information Systems Analysis and Design
Information Systems Implementation
Digital Forensics
Ethical Hacking & Intrusion Forensics
Computer & Network Security
Operating Systems & Networking
Secure Software Development
Quality Assurance & Testing
Programming in Python
Programming in Java
Server-Side Web Application Development
Client-Side Scripting
Component-Based Software Design
Low-Level Programming in C
Network Architectures
Database Management Systems
Data Structures
Temple Course Bulletin

Want To Talk?

I don't bite.