Software Development Portfolio for Timothy Graf

Once aerospace engineer, turned software developer, polyglot, life long learner, strive to improve my craft, and to be a positive influence on those around me.

I hope to continue to grow as a professional, continue to learn new technologies, and improve my craft as a professional software developer. I have a passion for technology and strive to be a positive influence for the people that I work with and I hope to be able to share and provide my expertise and knowledge from my experiences as a software developer and professional.

I've worked in numerous industries and with many languages and frameworks. I believe the most important goal for a software developer is to produce functional features that users find useful. Working software is the primary measure of progress. I try not to get too caught up in a given language or framework. I view them as tools to get a job done and some tools are better equipped for certain jobs than others.

I consider myself to be a very pragmatic software developer but I do believe in writing clean code and only creating abstractions when there is a clear need for them.

Some of the languages and frameworks I have worked with are listed below and some sample projects are on my GitHub.

  • Python, Jupyter Notebooks, Pandas, Numpy
  • Python and FastAPI
  • C# and .Net Core
  • Python and Django REST framework
  • Elixir and Phoenix
  • Go
  • JavaScript and TypeScript, React/Redux, AngularJS, Angular, Vue, NetsJS, Node and Express
  • Scala and Akka HTTP and the Play framework
  • Java Servlets, XML RPC, JSP
  • ANSI C on Solaris
  • C++
  • Visual Basic
  • Matlab
  • FORTRAN

Some of my favorite books are listed below.

Also, feel free to check out some of my personal projects and my resume which are provided in links on the left hand nav.

A list of some of my personal projects.

Predator Prey

Visualization of flocking/schooling behavior in prey being pursued by predators in JavaScript.

Source Demo
XSS Examples in React

Reproducing examples from "Reviewing and Securing React Applications" - Amanvir Sangha - OWASP London. Fortunately, you have to go out of your way to create a dangerous React component.

Source
Vue Scaffolding Web App Includes a Simple User List

Shows a project structure for views, and components. Also includes a simple user list view with a user API call. The API is made available globally and called from components.

Source
React/Redux Web App for GitHub User Search

Using the GitHub API a React App using React/Redux/Thunk and Material UI components to perform GitHub user searches.

Source
Full Stack .Net Core, React/Redux Web App

Using a used cars dataset, I created a REST API with .Net Core, the database is Posgtres and also uses Elasticsearch. The front end is using React with hooks and Redux/Thunk. The project demonstrates a simple search and filtering of used car data. The project is run using docker compose.

Source
React Native Mobile App for Address Validation

Using the Lob address validation API this project demonstrates simple React Native mobile app for address validation. It also uses Expo for testing on an iPhone.

Source
VIN Decoding Service using Elixir/Phoenix

Using the NHTSA API to decode vehicle identification numbers, this service uses Elixir and the Phoenix framework to provide a REST API to decode VINs.

Source
Binary Search Tree

Visualization of a BST in JavaScript.

Source Demo
Dijkstra's Algorithm with Visualization

Visualization of Dijkstra's Algorithm JavaScript.

Source Demo
Knights Tour

Knight's Tour in JavaScript with visualization.

Source Demo
Angular Roulette

An AngularJS app that models an American roulette wheel and table for finding neighbors on the wheel where they are on the table.

Source Demo
Maze Creater/Solver

Simple Maze Creator and Solver in JavaScript.

Source Demo