Dev Log - Learning AI Through Computer Vision


The field of Artificial Intelligence is vast and constantly evolving, making it challenging to keep up with the latest advancements. To effectively learn these technologies, I decided to focus on one core area at a time. Projects are an excellent way to learn, as they help break free from the cycle of endless tutorials. My first area of focus is Computer Vision.
Why Computer Vision?
First and foremost, even though the AI hype train is new, many of the technologies behind it are not with Computer Vision being one of them. Manufacturing plants have been using Computer Vision systems now for decades to detect defects in products as they come off the assembly line. I have worked in manufacturing for 11 years, and so this is a technology and concept that I am already very familiar with having been an extensive end user, and at one point having done extensive research on implementing a Keyence system in a plant. The goal is to leverage a technology that I am already familiar with to ease my toes into the AI technology and service pool.
The Goals and Requirements
The goal for this project is fairly simple: Explore and learn how to use the AI tools and services that are currently available, and how to integrate them into a real-world scenario. Once complete, make this project available for viewing on my professional portfolio.
As with any good software project, we need some requirements to build out the project boundaries and scope and ensure that we can meet our goal. As with any professional project, a personal project can very quickly suffer from scope creep. And more the scope creep there is, the less likely that that personal project will be completed. Below is the list of requirements for this project:
The model needs to accurately determine if a product has a defect or not, with emphasis on not missing defected product.
Greater than 90% accuracy on Identifying Good product (Maximize true positives)
Greater than 95% accuracy on Defected product (Minimize false negatives)
Coding will be done in C#
As much as possible is to be automated (As little input from the user as possible. The user should just have to upload a photo and get a result)
Create a simple web interface to allow users to upload an image and get an answer.
The Tech Stack
The technology that we use choose to use when building projects is one of the most critical steps to help ensure that the project gets started on the best foot possible. The technology that I will using is listed below:
C# for the backend logic and .NET for the frontend, with Blazor as the frontend framework.
Azure Cloud Environment
Azure Serverless SQL Server database
AI Computer Vision Service
Azure Blob Storage
IDE: Visual Studio for coding and Visual Studio Code for the database work(with the appropriate SQL Server extensions installed)
AI Coding Assistant:
Copilot for support in editor
Primarily use Claude’s Sonnet 4 model
Data Source(s)
MVTech free manufacturing defect photo library
Planning/Organizing: ClickUp
\Note On Cloud resources: I will be utilizing the free tier as much as possible. If I cannot use a free tier for a service, I will be using the most cost effective one possible. As this will be just a demo project, high end production level services will not be needed*
The Project Plan
I know some developers personally, and have heard numerous arguments against creating a plan before starting a software project, and that you should just start coding and make adjustments as you need. But that is something that every fiber of my body disagrees with. When I was in the military, one of the first things that got drilled into my head was “Failing to plan is planning to fail”, and I have found that saying to be true everywhere I have ever worked.
Will a plan change? Of course it will - you can’t predict everything that can happen during a project, such as requirement changes, deadline changes, and unexpected roadblocks. But time spent up front planning these projects helps teams stay on the same page and guides the development process. Even when I do solo projects, I still create at least a simple plan to follow to keep my thoughts organized and ensure I don’t miss something obvious. Below is the plan that, with some help from Claude, came up with to tackle this project, and I organized these tasks into a project plan with ClickUp. You can click the link below to view and follow along with the plan as progress is made.
Next Steps
With the requirements and goals laid out, and the initial plan set, it’s time to move to a phase not everyone finds exciting, but is also critically important - the Design phase. Check out the next post in this series as I dive more into the design process that I use for my projects. We will go into designing the backend, the program and logic flow, and what Azure services will be used.
In the meantime, go ahead and leave some feedback! Whether you like computer vision, hate it or even if you have no idea what it is or why manufacturing applications are important!
Subscribe to my newsletter
Read articles from John Muraski directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
