The Research Question
Before recommending AI-assisted development to clients, DataScientist.ca built and validated the entire methodology on a real-world manufacturing system. The question was simple: can a domain expert with no traditional programming background collaborate with Claude AI to deliver a production-grade enterprise application?
"Rather than spending $50,000–$100,000 and 6–12 months with a traditional development firm, we wanted to prove that deep domain expertise combined with AI could deliver the same result — faster, cheaper, and with the domain expert directly in control of every requirement."
The subject was a textile dyeing factory that had operated for over six years on a Microsoft Access database. The system managed dyeing recipes, chemical stock, production records, costing reports, and gate pass tracking — all mission-critical operations. Access limitations were creating real operational friction: single-user bottlenecks, data corruption risks, poor security, and no path to scalable reporting.
What Was Built
The project delivered two complete layers: a SQL Server database and a C# Windows Forms application — both built iteratively through conversation with Claude AI, validated at each step against the existing Access system.
Database Layer — SQL Server
19-Table Relational Schema
Designed from scratch — Customer, Shade, Fabric, Machines, Dyes_Chemicals, Dyeing_Recipe, Stock_Transaction, and more.
20+ Stored Procedures
All CRUD operations, reporting queries, and business logic encapsulated in stored procedures for performance and security.
BCrypt Authentication
Industry-standard password hashing with role-based access — Admin, Operator, and Viewer roles with session management.
Full Data Migration
47,492 stock transactions, 4,208 recipes, 327 customers, 484 shades, 440 chemicals, and 126 vendors — all preserved.
Application Layer — C# Windows Forms
MDI Shell Application
Complete MDI shell with menu navigation, login form, and session management — professional enterprise application structure.
Recipe Entry Form
Full create and edit mode with chemical detail grid — all fields pre-populate correctly on edit of existing recipes.
Stock Management
Receive and issue forms with header/detail grid design — saves to Stock_Transaction and updates Stock_Balance automatically.
Professional Reports
Recipe Card, Costing Report, and Perpetual Stock Report — numbers match the Access system to three decimal places.
Master Data Forms
Customer, Chemical, Shade, Fabric, and Vendor CRUD forms — full master data management without needing database access.
RDLC Report Viewer
Pure C# GDI+ rendering — print preview with scroll and print button, no Crystal Reports licensing dependency.
Validation Results
Every module was tested against the existing Access system with real production data. The critical validation was the Perpetual Stock Report — where numbers had to match the Access output exactly.
| Module | Outcome |
|---|---|
| Database design & migration | ✓ All 47,492 transactions and 4,208 recipes migrated. Data integrity verified. |
| Recipe Entry Form | ✓ Full create and edit mode working. All fields pre-populate correctly on edit. |
| Stock Receive Form | ✓ Header/detail grid working. Saves to Stock_Transaction. Updates Stock_Balance. |
| Perpetual Stock Report | ✓ Numbers match Access report exactly — NEO FIX F = 79.295, Novoprime = −0.600. |
| Recipe Card Report | ✓ Displays correctly. Edit Recipe button navigates to recipe form with data. |
| Login & Security | ✓ BCrypt authentication working. Session management operational. |
| Build & Deployment | ✓ Zero build errors. Application runs stably on local SQL Server Express. |
Challenges Encountered & Resolved
This was genuine research — not every step was smooth. The challenges encountered and resolved are documented here precisely because they are the most useful part of the learning.
| Challenge | What Happened & How It Was Fixed |
|---|---|
| 46 build errors on first compile | Namespace conflicts, missing references, method signature mismatches — resolved systematically one category at a time. |
| Stock_Balance computed column | EndingBalance is a computed column — cannot be updated directly. Fixed to update TotalReceived and TotalIssued only. |
| Perpetual Stock formula inverted | Access stored Qty_CR as issue and Qty_DR as receive — opposite to normal convention. Corrected after systematic data analysis. |
| Crystal Reports licensing | SAP ended free VS2022 integration. Replaced with RDLC — free, built into Visual Studio, zero external dependency. |
| Duplicate class definitions | frmPerpetualStock defined in two files causing conflict. Old definition located and removed. |
| C# language version mismatch | .NET Framework 4.8 defaulted to C# 7.3. Fixed by adding <LangVersion>latest</LangVersion> to both .csproj files. |
Key Research Findings
What AI-assisted development does well
The methodology proved most effective for SQL and stored procedure development — iterating on stored procedures in SSMS with real data, pasting results back to Claude, and refining was highly productive. Architecture discussions — database design, form layout decisions, and business logic — also benefited from the conversational format, keeping the domain expert in direct control of every requirement.
Where friction exists — and the solution
The main source of friction in the chat-based workflow was the copy-paste-rebuild cycle:
downloading files, replacing them in Visual Studio, rebuilding, and pasting errors back.
This is a solved problem — Claude Code, Anthropic's agentic coding CLI,
can run dotnet build directly, see compiler errors, and fix them autonomously
without any copy-paste overhead.
Use Claude.ai Chat for:
SQL & stored procedures, architecture decisions, business logic, reports & documents, training & learning.
Use Claude Code for:
C# application code, multi-file refactoring, build error fixing, Git & version control, ASP.NET development.
Technology Stack
What This Means for Manufacturing SMBs
Thousands of Canadian manufacturers are running critical operations on Access databases — systems that were never designed for multi-user access, enterprise data volumes, or professional security. The traditional path to modernisation — a custom development firm — costs $50,000–$100,000 and takes 6–12 months, putting it out of reach for most SMBs.
This project demonstrates that a different path is viable. A consultant with deep domain expertise can act as the product owner, business analyst, and quality assurance — directing AI to generate the technical implementation — and deliver a production-grade result at a fraction of traditional cost and timeline.
The result is not a prototype. It is not a demo. It is a working system handling six years of business history, with 47,492 transactions migrated accurately and a perpetual stock report that matches the previous system to three decimal places.
Next Phases
Power BI Dashboard
Connect live SQL Server database to Power BI — recipe cost analysis, stock balance alerts, production trends, and chemical usage reports for management.
ASP.NET Core Blazor Web Version
Same DAL and stored procedures, new browser-based UI — management can check stock and approve recipes from any device, anywhere.
.NET MAUI Mobile App
Native iOS and Android app for field staff and managers — connected to the same SQL Server database, enabling real-time stock checking from the shop floor.
Multi-Client SaaS Version
The dyeing management system as a cloud product sold to other factories — the SQL Server architecture already supports multi-tenancy.