Hello, my name is

Nate Van Bonn
- previously known as Nate Wichman

I am a fullstack software developer
I am passionate about all aspects of Software Development. I take a lot of pride in ensuring the software I create is of high quality in both code and the overall User Experience.
View My Work

My specialty

is Full Stack Web Development (preferably Angular, Vue, or React with a C#/Entity Framework Core backend) but I am always open to new tech stacks! I have worked professionally with Angular, React, and Vue extensively and feel extremely comfortable with both the fine grained skills of all the frameworks and making high level architectural decisions. I also pride myself in making sure all my work is fully accessibly (following modern WCAG guidelines).
cosmic bowling app icon'

Cosmic Bowling

I loooove bowling. Even though I am a Web Developer by trade I decided to try my hand at Game Dev with Unity. Lucky I write a lot of C# professionally so the learning curve wasn't too bad.

Oil Pattern Physics

Bowling has some interesting physics. The lanes are oiled, usually with more oil in the center, and the edges of the lane are almost dry. I spent a lot of time matching that physics by having the edges have more friction. You may notice when you put spin on the ball it hooks much faster when it hits the edge.
I wanted to make it as difficult as real bowling. Any other game I played was too easy to get a strike. Fortunately, I could test on myself because I bowl so much. I fine tuned the game so that I could get just as many strikes when I bowl for real.

Tech Stack

The game was made in Unity (a popular game engine). Unity uses C#. I also used Blender for some of the 3d models as well as using free 3d models and materials from the Unity Asset Store. Eventually I would like to get better at 3d modelling as a hobby, though my main focus will always be coding.
cosmic bowling app icon'

Quill Choice

This app allowed you to create your own 'Choose your own adventure story'. After writing your story, you could publish it for anyone to read. You could rate other peoples stories as well as follow them and other Social Media features. You could search and filter by Popular, Recent, and Categories of stories.

Challenges

The tree view was very difficult for me to build. I actually built the whole app in React Native originally, but the SVG plugin for React native was too slow at the time. So I shifted the whole application to Capacitor and pure React so that I could use all of the native web SVG features and it was lighting fast.

SQL or NoSQL?

One of the benefits of not having a deadline for my own apps is I can complexly re-do features if I don't like the way I implemented them. I originally wrote the app using SQL, but I noticed the complex tree view was very complex in SQL. I realized that all that complexity was just breaking the tree view apart and storing it in SQL tables, then my queries just re-assembled them. Basically I was just saving a file without any relational logic, so why am I using SQL? So I ripped out my whole backend and wrote it with Google Firestore NoSQL. The tree view went from ridiculously complex to super easy.
But the other areas of the app were Social media like, and so by nature, very relational. They began to struggle quickly with the NoSql approach. Once again I restarted my backend code, this time doing a mixed approach. Just the tree logic was in NoSql, then everything else was in Sql. The project took much longer than it should have because I basically built it three separate times. But the end result was extremely fast, saleable, and queryable.

Fuzzy Search

I wanted to improve my SQL so I decided to write all my SQL in raw SQL. I didn't use any search providers like Algolia, but I still wanted Fuzzy search (if a user mispells a word or writes a similar word it should still work).
After doing a lot of research, I built my search algorithm around the SQL SOUNDEX() feature. This allowed me to search based on the phonetic sound of a word, not the actual letters. I then created my own ranking system for search, weighting things like the title and author name higher than description and so on. The result was a long but powerful SQL stored proccedure that worked well. A lot more work than using Algolia or Azure Search, but I learned a lot!

Idioma Flash

One of my hobbies is learning Spanish. I wanted an app that allowed me to simply translate a word I do not know, then add it to a flash card deck. I looked on the Play Store but could not find anything that was intuitive and easy to use. So I decided to make my own. I use this app every day.

Tech: React.js, Capacitor.js, MUI
Languages: Javascript/Typescript, HTML, SCSS

Stone Sudoku

I love Sudoku and thought it would be a good challenge for me to build my own Sudoku app.

Tech: Vue.js, Capacitor.js, Admob
Languages: Javascript/Typescript, HTML, SCSS

Chakra Meditation

Meditation App that helps you balance your chakras through guided meditation

Tech: React Native
Languages: Javascript/Typescript, HTML/JSX

Lingo Flash

An app I made to help me learn Spanish. You can translate words/phrases and then put those translations directly into a flash card deck. I looked for a tool like this on the app store but could not find one, so I made it instead.

Tech: Vue.js, Capacitor, Google Translation API
Languages: Javascript/Typescript, HTML, SCSS

Void Soarer

Speed through an 80's paradise in a paper airplane, avoiding creative obstacles

Tech: Unity, Blender
Languages: C#

Habit Maker

Helps you build good habits and break bad ones.

Tech: React Native
Languages: Javascript/Typescript, HTML/JSX

Nathan Van Bonn

Contact

  • natevanbonn@gmail.com
  • 616-414-1164
  • Grand Rapids, MI
  • LinkedIn

Education

B.S.
Computer Science
Grand Valley State University
August 2014 - May 2019
Allendale MI

Skills

  • React
  • Nextjs
  • Lots of HeadlessCMS experience (Contentful, Prismic, Payload)
  • Angular (2+)
  • Vue
  • Javascript/TypeScript
  • C#
  • .Net Core / Entity Framework Core
  • Firebase
  • SQL
  • Azure
  • React Native
  • Unity
  • Capacitor
  • Node
  • Java
  • C
  • Python
  • CSS / SCSS / Tailwind

Volunteering

  • English as a Second Language teacher (2024 - present)

Spoken Languages

  • English (Native fluent)
  • Spanish (B2 - Conversationally fluent - if they speak slowly....)

Work Experience

Application Developer Consultant
Open Systems Technologies
May 2022 - Present
  • E-Commerce web app for a furniture company. Very complex animations using GSAP. React/Nextjs with Payload CMS and a C# FastEndpoints / EF core backend + Cloudinary for assets. Also had a complex Product Configurator with 3D models of the furniture that would update in realtime as you changed product options.
  • Created a web app for a Food Distribution company that sold slightly damaged food at a discount in bulk. Created all the designs in Figma myself and wrote the whole front end in React using ReactQuery (now TanstackQuery) and RadixUi components styled with my own css. There was lots of complex front end logic around pricing and quantity due to being able to buy by unit/case/layer/ or pallet.
  • Worked on an online bookstore for a large publishing group. Created large portions of the front end (Server Side Rendered Vue with Nuxt) and the backend (Entity Framework Core)
  • E-Gift cards to a large online book store
  • Worked on headless BigCommerce application with multiple different storefronts, each with its own React Nextjs front end and a shared Contentful Headless CMS.
Application Developer
Open Systems Technologies
August 2019 - May 2022
  • Worked on a web application for a large State University that allows instructors to create activities and students to complete them. It had a complex ui with students drawing their responses on graphs (Angular + .Net Core)
  • Worked on a Healthcare web application with multiple web sites using a Vue front ends and a shared Contentful headless CMS as well as a small C# backend
  • Built out the Angular UI for three internal applications for a government contract.
  • on multiple Angular web apps over the years
Application Developer Intern
Open Systems Technologies
May 2019 - August 2022
  • on an Angular App for a State University
My Profile Picture
Please reach out to me with any questions!
natevanbonn@gmail.comContact
Nathan Van Bonn, 2023