Hello there! I'm Mike, a full stack web developer who specializes in PHP Laravel and Javascript Vue.js.

I prefer back end development, but I'm no stranger to front end programming.

Portfolio

Many of my projects can be found on my github.com/vreeken, check it out.

MyBudget 123

MyBudget123.com is a budgeting web app that calculates your finances out 5 years letting you know when, if ever, your incomes vs bills will ever leave you in debt/overdrawn, or even if you'll ever have pockets of extra cash to burn.

MyBudget123.com

My Role

Everything except concept, design, and most graphics:
Back End Logic
Database Architecture
Billing/Subscriptions
HTML/CSS Coding
Front End Logic
Hosting Deployment

Case Study

This was a fantastic project for a technical challenge. It involved gathering lots of information from the user: each of their incomes and expenses had to be input. So ease of use and making everything intuitive was important. Then came data processing. I had to calculate each of their bills and expenses out 5 years, calculating correct dates for each income/expense, whether they were one time events or ongoing with varying frequencies; keeping a running track of their bank balance and letting the user know the minimum positive amount or maximum deficit they had in their bank account during those five years.

While I had made basic projects with Vue.js this was my first major project. I learned a lot with data structuring and organization, but looking back on it, I've learned much more since then in terms of factoring out components for better adhering to SOLID / DRY principles.

This was also my first time with payment processing which was an intimidating thought, but the Braintree API made for a fairly simple setup and execution.

Technologies Used

PHP
Laravel
MySQL
Braintree
Bootstrap
Javascript
Vue.js

RPG Companion

RPG Companion is a web and android app for Dungeons Dragons players, specifically the game master. It has a variety of helpful features including an NPC generator with a unique set of wonderful attributes to give your NPCs life, 175+ "D100" lists to randomly generate ideas, and several community-driven content sections with up/down voting.

RPG Companion

My Role

Everything:
Back End Logic
Database Architecture
Design/Layout
Android Interface
Front End Logic
Deployment & Hosting

Case Study

This was my first android app outside of the basic "Hello World" app. I wanted to give back to the wonderful D&D community with the skills that I have, so I made an ad-free app. It has continued to evolve and grow with thousands of users and contributors each submitting their own content and voting on community content.

This was my first delve into JSON Web Token authentication, and I was pleased to realize how well JWTs worked with Laravel.

One of the major focuses of this project was a strong API. Keeping things organized, providing useful return messages (whether the API call was successful or failed), route middleware for only authenticated users, and organized OOP for the different database models were important topics to grasp and implement. I was most of the way done with my API when I learned about GraphQL, which would have been interesting to learn, but that edeavor will be for a future project.

The app is still in progress, ever growing and improving. One of the weakest points of the app, in its current form, is the random sorting of some of the sections with thousands of entries. The database call takes longer than I'd like, and I've been testing different methods to retrieve paginated, random rows.

Technologies Used

PHP
Laravel
MySQL
Java
Android
REST API

SocialSubs.app

Do you ever wish you could go back and watch your favorite movies for the very first time again? SocialSubs gives a unique and exciting new way to watch your beloved movies by displaying behind the scenes photos, hilarious movie mistakes, fun polls, interesting trivia questions, and timestamped user comments from movie fans like yourself, all while you watch the movie.

SocialSubs.app

My Role

Everything:
Back End Logic
Database Architecture
Design/Layout
HTML/CSS Coding
Front End Logic
Deployment & Hosting

Case Study

I've had this idea in my mind for quite some time, but due to other projects taking precedence it's been on the back-burner for a while. I used this project as a chance to learn the React framework a little more in depth. I've had small amounts of experience with React here and there, but this was my first real React project in quite some time; Vue.js has been my go-to front-end framework of choice. I was pleased to learn that a lot of my Vue.js knowledge transitioned over fairly nicely to React, and apart from a few hiccups it was a smooth process. Single file components, state management, passing reactive properties to children, and passing function callbacks back up are all universal concepts between the two frameworks.

But there was a lot more to this project, including the creation of a large json file that holds all of the data for each movie. Trivia Questions, Facts, Behind-The-Scene Photos, User Polls, and Mistakes, all organized, normalized, timestamped, and described. It was a large task to gather all of the different resources, but I believe the end result is an enjoyable experience.

There is still more to be done with this project. Authentication/registration have to be hooked up to the front-end React app; timestamped commenting left by authenticated users, and live chatting also have to be implemented. I will continue to work on these features between paid projects, but in the mean time go ahead and check the site out and watch a movie with it. It's a great new way to watch your favorite movies.

Technologies Used

React
Laravel
{ } JSON
PHP
MySQL
Responsive
Javascript
AJAX

R302.host

R302.host is a URL redirection service that allows users to custom select their own vanity URL and have it redirect traffic to a different URL.

R302.host

My Role

Everything:
Back End Logic
Database Architecture
Design/Layout
HTML/CSS Coding
Front End Logic
Deployment & Hosting

Case Study

This was a personal challenge weekend project to see if I could get a simple site up and running in a couple days. I guess you can be the judge, but I count it a success.

There is no authentication which simplified things, but there still needed to be a database to store the url/redirect pairs, to which I also added a "count" column to keep track of how many times the redirect was used as well as an "updated_at" column to track when it was last used.

It also taught me route wildcards, capturing any routes and using the route to look up the redirect in the database.

Technologies Used

PHP
Laravel
MySQL
Responsive
Javascript
AJAX

Looking for my resume?

I am a passionate freelance full stack web Developer with 10+ years of experience. I'm currently seeking a full time full stack, front end, or back end web developer position. I Consistently grew sales by 10% year-over-year through superior interpersonal relationships at The Home Depot. I Saved Able Inc. 40 work hours per month by writing a script to merge their 1 million+ item inventory database. I am a creative problem solver, an enthusiastic team player and a disciplined self educator.

About Me

I enjoy the logical and scientific side of life. Math and science have rules and definitive answers to their questions, as opposed to interpretive answers found in art and literature. I find structure, reason, and organization necessary for my sanity; and have found solace in programming.

I've been programming as a hobby for over 15 years, but only more recently thought of it as a career. I got hooked on BASIC and things spiraled out of control from there. I learned C++ in college, but the immediate satisfaction that came from javascript UI control led me more toward web development. Flash/Actionscript was a wild ride (while it lasted) that taught me a lot of game development. But the logic and architecture of back end programming is what calls to me the most.

While PHP has plenty of inconsistencies and other issues, I love it; and the Laravel Framework has only increased my love of the language. Though not quite as potent, the same can be said for Javascript and the Vue.js Framework. I find I achieve the most productivity when I couple a Laravel back end with a Vue.js front end.

But enough about programming. While I'm not tinkering with code you can usually find me playing video games or saving the world in my latest Dungeons and Dragons game.

Contact

Have any questions or would like to talk about a project? Drop me a line:

Send Message

Thank you!


I'll get back to you soon.

I'm available for projects