Member Since 2 Years Ago

Grand Rapids

Freelance Programmer at Self-employed

Experience Points 42,190
Experience Level 9

2,810 experience to go until the next level!

In case you were wondering, you earn Laracasts experience when you:

  • Complete a lesson — 100pts
  • Create a forum thread — 50pts
  • Reply to a thread — 10pts
  • Leave a reply that is liked — 50pts
  • Receive a "Best Reply" award — 500pts
Lessons Completed 419
Best Reply Awards 0
Best Reply
  • start-engines Created with Sketch.

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • first-thousand Created with Sketch.

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • 1-year Created with Sketch.

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • 2-years Created with Sketch.

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • 3-years Created with Sketch.

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • 4-years Created with Sketch.

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • 5-years Created with Sketch.

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • school-session Created with Sketch.

    School In Session

    Earned when at least one Laracasts series has been fully completed.

  • welcome-newcomer Created with Sketch.

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • full-time-student Created with Sketch.

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • pay-it-forward Created with Sketch.

    Pay It Forward

    Earned once you receive your first "Best Reply" award on the Laracasts forum.

  • subscriber-token Created with Sketch.


    Earned if you are a paying Laracasts subscriber.

  • lifer-token Created with Sketch.


    Earned if you have a lifetime subscription to Laracasts.

  • lara-evanghelist Created with Sketch.

    Laracasts Evangelist

    Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.

  • chatty-cathy Created with Sketch.

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • lara-veteran Created with Sketch.

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • 10k-strong Created with Sketch.

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • lara-master Created with Sketch.

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • laracasts-tutor Created with Sketch.

    Laracasts Tutor

    Earned once your "Best Reply" award count is 100 or more.

  • laracasts-sensei Created with Sketch.

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • top-50 Created with Sketch.

    Top 50

    Earned once your experience points ranks in the top 50 of all Laracasts users.

09 Feb
6 months ago

mknooihuisen started a new conversation Global Artisan Commands

Hi all. I wrote a quick little shell script that allows executing Artisan commands from anywhere within your projects. It's one of those things that won't help everyone, but if you're using your terminal a lot and shifting around your project, jumping back to the root to run php artisan can be annoying. This simply aims to make our lives as developers easier.


24 Aug
11 months ago

mknooihuisen left a reply on What Is The Best Way To Upload Laravel Api App To Aws?

@haizone Amazon isn't likely to create a tool specifically for Laravel. Laravel is great, but it is only one of many PHP Frameworks and even PHP is only one of several languages used to build website backends.

If you want tools specifically designed for Laravel, consider Laravel Forge for server management, combined with a host like Digital Ocean and perhaps Laravel Envoyer to automatically handle deploying your code changes.

*Note: This is a fairly common Laravel configuration and not one I'm being paid to recommend.

23 Aug
11 months ago

mknooihuisen left a reply on What Is The Best Way To Upload Laravel Api App To Aws?

Hi. It sounds like you're after a serverless solution like AWS Lambda (Other solutions are available, but this keeps everything in the AWS family.

Note that if you're not set on using AWS, you might have an easier time with something like Laravel Forge. It'll likely be cheaper (AWS is pricey) and Forge lets you skip the actual server management.

19 Jul
1 year ago

mknooihuisen started a new conversation "Currently In Progress" Series Stuck

I've noticed that for some time now the "Currently in Progress" series on the curated page of this site has not updated for my account. The top series in that was "Let's Build a Forum with Laravel and TDD" which I finished months ago and which does not even show up on the first page of my results at

This seems like a minor bug, but I'm curious if anyone else has experienced it, since there might be a quick fix, and easy access to my current series would be nice.


30 Oct
1 year ago

mknooihuisen left a reply on Best Practices When Dealing With Helper DB Tables

The latter. One set of tasks, multiple users, with the idea in this example being to be able to store and show each user's preferred order for the tasks. I wouldn't want to hardcode the tasks either though.

26 Oct
1 year ago

mknooihuisen left a reply on Laravel - Bouncer Package

Hi Matt,

I haven't used Bouncer, but after a little research, I would consider looking at LaraTrust ( ) because of the need for teams There is a Laravel News article on Bouncer, LaraTrust and a Spatie/Laravel-Permission which I'll link here.

Essentially, he says that Spatie and Bouncer are tied for first, with LaraTrust sitting at 3rd. He also states that LaraTrust is the only one to support teams. I've used the Spatie package, which is great, but I can concur that adding teams to it in a way that flowed would be a real pain.

Best of Luck!

mknooihuisen started a new conversation Best Practices When Dealing With Helper DB Tables

I've occasionally found situations in which I've needed a sort of helper table with the sole purpose of controlling interactions with the data in another table. A quick example:

I have a Tasks Eloquent model which is displayed to my users as the standard unordered list, but with drag and drop functionality. I want my users to be able to reorder the tasks by priority and save the result, so I created a second (helper) table to store the ordered Task IDs. Note that this is not a voting system, each person's priority list is saved as its own entry in the helper table, just because.

In this system and others like it, the helper table has no functionality, I only need to read it to determine how to display my Task objects. Is it best practice to create an empty Eloquent Model class for this, or to use the Query Builder? Or is there a third option I may not know about?

Thanks in advance, Mike

03 Oct
1 year ago

mknooihuisen started a new conversation Modal At The End Of Videos Appears Broken

I've noticed recently that the modal which appears at the end of a video and counts down to when it will auto-advance appears broken. Both input options cause the site to advance to the next video, which I assume is not intentional. I wasn't sure where else to submit the bug, so I figured I'd post it here.

As long as we're on the topic of the player, I think it'd be really nice if the system could remember that it was in full-screen and play subsequent videos in full-screen as well, or maybe just a toggle for this in user settings. I have no idea if browsers would even allow this, but a guy can dream.

I doubt this is relevant, but I'm running Chrome on a MacBook OS X 10.12.6. Thanks for all the great work you do for us, Jeffrey!

07 Apr
2 years ago

mknooihuisen started a new conversation Localized Laracasts Flash Package

Hi all,

I've created a Pull Request for Jeffrey's Laracasts Flash package which enables support for Laravel's Localization System. It uses Blade's lang directive behind the scenes so both methods of defining language strings work, and on single language sites the standard flash('Hello, world!'); will still work as expected.

While we wait for Jeffrey to have a chance to review (and hopefully approve) the PR you're all welcome to try out my Github Fork. Just update your composer.json to use my repo for laracasts/flash. My Repo also includes a more complete explanation of how to use the localization features.

"minimum-stability": "dev",
"prefer-stable": true,

    "repositories": [
        "url": "",
        "type": "git"

    "require": {
        "laracasts/flash": "dev-master",

I hope this helps someone! :)