Short Bio:
Bob Cravens is a seasoned technology leader, software architect, and educator with a passion for empowering others through practical, real-world knowledge. As the founder of TekFoundry, Bob has dedicated his career to designing and delivering innovative software solutions that combine cutting-edge technology with elegant simplicity.
At TekCasts, Bob leverages over two decades of experience in software engineering, application architecture, and team leadership to create engaging, high-impact courses for developers and technology professionals. His instructional style is rooted in practical application, offering insights drawn from his extensive background in industries like medical devices and global technology consulting.
Bob’s expertise spans a variety of technologies and methodologies, including PHP/Laravel, FastAPI, and DevOps, as well as architecture best practices and team dynamics. Whether teaching foundational concepts or advanced strategies, he’s passionate about helping others turn complex challenges into streamlined solutions.
When not crafting elegant code or inspiring the next generation of tech innovators, Bob enjoys exploring the intersection of technology, business strategy, and creative problem-solving.
At TekCasts, Bob leverages over two decades of experience in software engineering, application architecture, and team leadership to create engaging, high-impact courses for developers and technology professionals. His instructional style is rooted in practical application, offering insights drawn from his extensive background in industries like medical devices and global technology consulting.
Bob’s expertise spans a variety of technologies and methodologies, including PHP/Laravel, FastAPI, and DevOps, as well as architecture best practices and team dynamics. Whether teaching foundational concepts or advanced strategies, he’s passionate about helping others turn complex challenges into streamlined solutions.
When not crafting elegant code or inspiring the next generation of tech innovators, Bob enjoys exploring the intersection of technology, business strategy, and creative problem-solving.
Videos
Checkout Videos By This Instructor
laravel,php
9m:9s
Jan 6, 2026
Form Validation Requests
In this episode, we refactor our validation logic by introducing Form Request Validation, a powerful Laravel feature that helps keep controllers clean, reusable, and scalable.This step builds on our existing Validation Rules Engine and moves the logic into a dedicated request class—perfect for more complex validation and authorization scenarios.
✨ What You’ll Learn
- How Form Request Validation works in Laravel
- Why moving validation into request classes improves maintainability
- Creating a custom request with php artisan make:request
- Transferring validation and authorization logic from controllers
- Updating the survey flow to use the new request
🧠 Form Request Benefits:
- Cleaner and smaller controllers
- Reusable validation logic
- Built-in support for authorization
- Consistent structure across larger apps
🔗 Resources
- Laravel Form Request Validation Docs: https://laravel.com/docs/12.x/validation#form-request-validation
💥 About the Series:
Pragmatic Laravel focuses on building real applications with Laravel — emphasizing clarity, maintainability, and thoughtful design decisions instead of shortcuts or magic.
#Laravel #PHP #WebDevelopment #Programming #CleanCode #FullStack #Validation #LaravelTips #TekCasts
javascript,node
14m:36s
Nov 25, 2025
Forms & Validation
Your web app just got personal 💬Until now, your MVC app could display and fetch data — but it couldn’t accept new information from users. That changes today.
👉 In this episode, you’ll learn how to:
🧠 Handle HTML forms and capture user input
⚙️ Parse incoming POST data in Node.js
✅ Add server-side validation for required fields, length, and patterns
🧹 Understand the difference between validation (checking data) and sanitization (cleaning data)
📄 Build your own simple validation rules and validator utility
By the end, your app will safely handle real user input — a huge step toward full interactivity ⚡️
💡 Relevant Links
Previous TekCasts series:
• JavaScript for Beginners: https://tekcasts.com/play/javascript-for-beginners-what-is-javascript
• JavaScript in the Browser: https://tekcasts.com/play/javascript-in-the-browser-browser-runtime-environment
Official Docs & Resources:
• MDN HTML Forms Guide: https://developer.mozilla.org/en-US/docs/Learn/Forms
• MDN Client-Side Form Validation: https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation
• Node.js Streams: https://nodejs.org/api/stream.html
• Node.js HTTP Module: https://nodejs.org/api/http.html
• EJS Documentation: https://ejs.co/
laravel,php
16m:48s
Jan 20, 2026
Fortify Features & Breeze Views
In this video, we build out the authentication views for our Laravel survey application. We continue integrating Laravel Fortify, but now focus on the Blade side of things — customizing the registration and login screens and wiring them to Fortify’s backend actions.You’ll learn:
✨ How Fortify expects your views to be structured
✨ How to adapt the Breeze templates to your app
✨ How to customize labels, errors, and layout
✨ How to create a cohesive guest layout for all auth screens
🔗 Resources
- Laravel Starter Kits: https://laravel.com/docs/12.x/starter-kits
- Laravel Breeze: https://github.com/laravel/breeze
- Laravel Fortify: https://laravel.com/docs/12.x/fortify
💥 About the Series:
Pragmatic Laravel focuses on building real applications with Laravel — emphasizing clarity, maintainability, and thoughtful design decisions instead of shortcuts or magic.
#Laravel #LaravelFortify #PHP #WebDevelopment #FullStack #BackendDevelopment #Blade #Authentication #TekCasts #LaravelThePragmaticWay #CodingTutorials #LearnLaravel #CleanCode
browser,javascript
11m:8s
Oct 23, 2025
Framework & Library Overview
In this final video of the JavaScript in the Browser series, we take a step back and look at the broader ecosystem of libraries and frameworks that have shaped modern frontend development.From lightweight utilities to full-scale frameworks, these tools have enabled developers to build interactive, dynamic, and maintainable web applications.
We’ll cover:
📊 Charts & Data Visualization – Chart.js, D3.js, Highcharts, ApexCharts
🗺️ Maps & Geolocation – Google Maps, OpenStreetMap, Leaflet
⚡ DOM Reactivity & State – Alpine.js, React, Vue, Angular, Backbone, jQuery
📝 Form Validation – Parsley, Validate.js, React
🎬 Animations – Anime.js, Typed.js
🏗️ Frameworks – React, Next.js, Vue, Angular, Svelte, Ember, Backbone
This episode provides the big-picture context of where JavaScript has taken us—from direct DOM manipulation to entire ecosystems of specialized libraries and powerful frameworks.
👉 Wrap up the series with us and see how these tools fit into the modern developer’s toolkit!
php
28m:36s
Mar 19, 2025
Functions
Functions are the building blocks of reusable and efficient code in PHP! In this video we break down everything you need to know to get started with functions, including:✅ Function keyword & syntax – How to define and call functions in PHP.
✅ Naming functions – Best practices for readability and maintainability.
✅ Parameters & return values – Passing data and getting results.
✅ Type hinting – Writing safer, more predictable functions.
To make learning fun and practical, we’ll incrementally build a simple calculator that supports addition, subtraction, multiplication, and division! By the end of this tutorial, you’ll have a solid understanding of PHP functions and how to use them effectively in your projects.
javascript
6m:1s
May 15, 2025
Functions as Values & Callbacks
Time to level up! In this episode, you’ll learn that functions are more than just reusable code blocks — they’re first-class citizens in JavaScript. That means you can treat them just like any other value — assign them to variables, pass them as arguments, and return them from other functions. 🧠➡️📦🎯 Here’s what we’ll cover:
• Assigning functions to variables — because yes, functions are values!
• Passing functions into other functions (aka callbacks) to build dynamic, flexible behavior.
• A clear, simple example where you control how a message is spoken: shouted, whispered, or anything in between.
🎥 Visual Walkthroughs:
• See how callback functions work step by step.
• Build intuition around treating functions like any other data.
• Reinforce learning with a clean, beginner-friendly real-time example.
By the end, you’ll start to see the true power of JavaScript’s flexibility — and you’ll be ready for more dynamic programming patterns ahead! ⚙️🚀
oop,php
6m:26s
May 1, 2025
Handling "Bad" Routes
Not all roads lead somewhere… and that’s okay—as long as we handle it gracefully! In this video, we improve the robustness of our app by dealing with invalid routes and unexpected errors the pragmatic way. 🛡️Here’s what we’ll do:
• Make the header element optional in layout/_header.view.php using isset() 🧩
• Create clean, user-friendly error views:
• views/errors/404.view.php 🔍
• views/errors/500.view.php 💥
• Add a global try-catch block in index.php to handle exceptions gracefully 🧯
With this in place, our app won’t crash or confuse users when something goes wrong. Instead, it responds with clarity and professionalism.
By the end of this video, we’ll be on version v7-handle-bad-routes—stable, polished, and production-ready. 🚀
javascript,node
8m:28s
Oct 30, 2025
Handling JSON APIs
APIs are at the heart of modern web applications — they move data between the browser, mobile apps, and backend services. In this video, we’ll explore how to serve and consume JSON using Node’s built-in HTTP module — no frameworks, just fundamentals.🧠 You’ll Learn
- What JSON is and how APIs use it
- How to serve structured JSON responses
- How to parse incoming JSON request bodies
- Why Content-Type headers are critical
- How Node streams data efficiently
💡 Relevant Links
MDN – JSON Basics:
- https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON
Previous TekCasts series:
- JavaScript for Beginners: https://tekcasts.com/play/javascript-for-beginners-what-is-javascript
- JavaScript in the Browser: https://tekcasts.com/play/javascript-in-the-browser-browser-runtime-environment
esp32
7m:40s
Apr 4, 2025
Hardware & Schematics
Time to dig into the guts of the project! 💥 In this video, we break down the hardware behind the Smart Garage Door system and show how everything connects.We kick things off with a high-level circuit diagram featuring the ESP32 and four key sub-circuits:
🔹 Garage Door Sensor – tracks door position
🔹 Garage Door Button – mimics your wall-mounted opener
🔹 Device Status – provides visual feedback using a "blink code"
🔹 Device Control Button – allows manual toggling of the device into various modes
Then we zoom in 🔍 and walk through detailed schematics for each sub-circuit — showing exactly how they hook up to the ESP32 pins.
To bring it all home, I share real photos and video of the development board so you can see how the schematics translate into actual hardware on the bench 🛠️📸.
Whether you’re following along or designing your own spin on the project, this episode helps you build with confidence. Let’s wire it up! ⚡️
php
4m:47s
Mar 17, 2025
Hello World!
Every programming journey begins with a simple “Hello, World!”, and PHP is no different! In this video, we’ll walk you through writing your first PHP script, embedding PHP within HTML, and running it on a local server. You’ll see the difference between static .html files and dynamic .php files and understand how PHP generates content on the fly. Whether you’re brand new to coding or just getting started with PHP, this is the perfect first step into the world of backend development! 💻✨
javascript
16m:59s
Sep 4, 2025
Higher-Order Functions
In this episode, we explore a superpower of JavaScript: higher-order functions — functions that can take other functions as inputs or return new functions as outputs.🎯 What you’ll learn:
- What higher-order functions are and why they’re important.
- Functions as arguments with real-world examples using map, filter, and forEach.
- Functions returning functions to create flexible, configurable behaviors.
- A practical Pub/Sub pattern (publish/subscribe) — showing how higher-order functions enable reusable and event-driven code.
💡 Why it matters:
Understanding higher-order functions is a game-changer. They’re the foundation for functional programming patterns, modern libraries, and frameworks. Once you master them, you’ll start seeing opportunities to write code that’s cleaner, more modular, and easier to extend.
By the end of this episode, you’ll know how to bend functions to your will — letting them build, transform, and orchestrate other parts of your program. ⚡️
php
8m:36s
Mar 17, 2025
How the Web Works
Ever wondered what happens behind the scenes when you visit a website? In this video, we break down the fundamentals of how the web works, focusing on how PHP processes requests and responses on the server. You’ll learn about HTTP & HTTPS, how browsers communicate with web servers, and what happens when you enter a URL. We’ll also explore key HTTP concepts like request methods, headers, response codes, and more. Plus, we’ll walk through a live example using browser developer tools to see it all in action. By the end, you’ll have a clear understanding of how PHP fits into the bigger picture of web development! 🚀
Coming Soon
laravel,php
24m:9s
Apr 21, 2026
Image Uploads & Storage
Real-world file handling without the fluff! In this episode of Pragmatic Laravel, we add image uploads to our public survey marketing pages and tie up the loose ends that turn a feature into something production-ready.You’ll learn how Laravel’s filesystem abstraction works and how to apply it cleanly in both create and edit flows—without overengineering.
✨ What we cover in this video:
🔹 Laravel Storage Fundamentals
- How Laravel supports multiple disks (local, public, S3, FTP, etc.)
- Why the Storage facade matters
- When abstraction actually helps
🔹 Hands-On Implementation
- Review existing filesystem configuration
- Run php artisan storage:link
- Add image upload fields to forms
- Handle uploads in controllers
- Persist image paths cleanly
- Reuse the same logic for create & edit flows
💥 About the Series:
Pragmatic Laravel focuses on building real applications with Laravel — emphasizing clarity, maintainability, and thoughtful design decisions instead of shortcuts or magic.
#Laravel #PragmaticLaravel #PHP #CleanCode #TekCasts
oop,php
14m:11s
Mar 26, 2025
Inheritance
Inheritance—one of the core pillars of Object-Oriented Programming! 💡 But how does it actually work in PHP? 🤔In this video, we’ll break it down step by step:
✅ What inheritance is and why it’s useful
✅ How a child class can inherit properties & methods from an abstract base class 🏗️
✅ The rules & limitations of PHP’s single inheritance 🔒
✅ Use inheritance to extend an existing class with new properties & methods that add functionality 🎯
By the end, you’ll be harnessing inheritance like a pro—structuring your code for maximum reusability and maintainability! 💻🔥 Let’s dive in! 🎬
javascript
9m:8s
Sep 23, 2025
Inheritance
Ready to level up your JavaScript classes? 🚀 In this episode, we’ll explore how objects can inherit behavior from one another, making our code more powerful and reusable.Here’s what we’ll cover:
🌳 Why Inheritance matters for organizing and scaling your code.
🔗 Using extends to create child classes.
🧩 Leveraging super() to tap into parent constructors.
✍️ Overriding methods to customize behavior for specific classes.
We’ll bring it all together with an Animal → Dog example, showing how subclasses can extend functionality while keeping your code DRY and elegant. 🐾
By the end, you’ll have the tools to structure your JavaScript programs like a true object-oriented pro. ⚡
oop,php
19m:38s
Mar 24, 2025
Interfaces
Welcome to the world of Interfaces—where we take PHP code structure to the next level! 🎯💡 In this video, we explore how interfaces help us write cleaner, more flexible, and more maintainable code.✨ What’s inside?
✅ The power of explicitly defining types for parameters & return values 🏷️
✅ Extracting an interface from an abstract base class 🔄
✅ Converting methods using the interface keyword ✍️
✅ Decomposing large interfaces into smaller, focused ones 🔧
✅ Leveraging interfaces as parameter & return type constraints 🔗
By the end, you’ll see how interfaces bring ultimate flexibility and extensibility to your PHP projects! 🚀🔗 Watch now and level up your OOP game! 🎬🔥