Order Form Builder & Order Import Automation
The Challenge: As an action sports wholesaler, our company manages preorders for future product ranges from numerous customers. While some customers use our B2B website directly, many prefer submitting orders via Excel spreadsheets. This created two time-consuming manual processes: creating customized Excel order forms for each preorder and manually entering submitted orders back into our B2B system. The Solution: I developed a desktop application using Python and PySide6 (Qt framework) to automate both processes. The application: • Generates customized Excel order forms which can map directly to an individual preorder listing or combine multiple into 1 order form. • Creates hidden import worksheets that enable seamless data transfer to our B2B website • Eliminates manual data entry by automating the order import process Technical Implementation: • Built the GUI using PySide6 for a modern, user-friendly interface • Connected to SQL Server databases using SQLAlchemy & raw T-SQL queries • Processed and transformed data using Pandas DataFrames • Generated formatted Excel files (.xlsx) using OpenPyXl
Tags: Python, Excel
SQL Server Data Warehouse
The Challenge: Operating across multiple global regions, our company utilizes different ERP systems in each territory, alongside specialized software for specific business functions. This fragmented infrastructure created numerous data silos, making unified reporting and meaningful business insights nearly impossible. Analysts struggled to perform comprehensive sales analysis, purchasing reviews, or cross-regional comparisons without manual data aggregation. The Solution: I architected and developed a centralized SQL Server data warehouse that consolidates data from multiple ERP systems and auxiliary databases into a single source of truth. This unified platform provides clean, consistent datasets for reporting, analysis, and application development across the entire organization. Technical Implementation: • Automated data ingestion using scheduled Python scripts that extract and load data from disparate source systems • Incremental update strategy for large tables to minimize impact on production servers and optimize sync performance • Periodic full synchronization to maintain long-term data consistency and catch any missed incremental changes • T-SQL stored procedures for complex data transformations, business logic implementation, and efficient data manipulation • Dimensional modelling to support analytical queries and enable intuitive reporting structures • Error handling and logging to ensure data quality and facilitate troubleshooting Business Impact: The data warehouse enables real-time reporting across territories, supports data-driven decision making, and eliminates hours of manual data consolidation work previously required for cross-regional analysis. This is an extensive, ongoing project with many moving parts. You'll find related components and specific implementations featured elsewhere in my portfolio.
Tags: Python, TSQL
Image Renaming Automation
The Challenge: As a multi-brand clothing wholesaler, our company develops new seasonal ranges approximately every three months. Each range requires extensive product photography for multiple channels: print catalogues, B2B website, D2C website, and customer-facing materials. This process created a significant bottleneck, as studio images had to be manually copied and renamed one-by-one to match each channel's specific naming conventions—a task that consumed weeks of staff time per season. Additionally, inconsistent product names and descriptions across production documents created confusion and made matching items between systems frustratingly difficult. The Solution: I developed an Excel-based automation tool that programmatically renames studio product images to all required formats across different business channels. The solution was designed as an .xlsm file that non-technical users with standard permissions could operate independently, eliminating reliance on IT for routine image management tasks. Technical Implementation: • Excel VBA macros to automate file renaming and manipulation operations • Power Query (M language) for data transformation and cleaning • Excel formulas for dynamic filename generation and validation • User-friendly interface designed for non-technical administrators already familiar with Excel workflows • No elevated permissions required - leverages native Office capabilities accessible to all users Business Impact: This automation eliminates weeks of manual work from each seasonal development cycle. The solution has reduced stress on creative teams, allowing them to focus on design and creative work rather than administrative tasks, while ensuring naming consistency across all business channels.
Tags: Excel, TSQL, VBA, M Code
AI RAG Database Chatbot Web App
The Challenge: While our organization possesses extensive data resources, many customer-facing staff members lack the time or technical expertise to query and analyse data independently. We needed a solution that would democratize access to our data warehouse, enabling non-technical employees to obtain quick, accurate answers to business questions without requiring SQL knowledge or data analysis skills. The Solution: I developed a Retrieval-Augmented Generation (RAG) AI chatbot web application that allows staff members to query our database using natural language. Users can ask questions conversationally and receive responses in their preferred format—either as csv format output for further analysis or as natural language summaries for immediate insights. Technical Implementation: • Flask web framework for lightweight, responsive web application delivery • SQLAlchemy ORM for secure database connectivity and query execution • LangChain SQL Database Agent to interpret natural language queries and generate syntactically correct SQL statements • Isolated database environment - automated scheduled Python scripts replicate relevant data warehouse tables to a separate database, preventing direct LLM access to production systems • Schema-aware prompting - the LLM receives database schema information and example queries to improve SQL generation accuracy • Conversational memory - implemented custom context management to maintain conversation history within token constraints by reformulating user questions to include relevant context from previous messages • Multi-format output - users can request data as structured CSV exports or conversational natural language responses Business Impact: This solution democratizes data access across the organization, enabling customer-facing teams to answer client questions in real-time without waiting for data analyst availability. The natural language interface eliminates the technical barrier to data exploration while maintaining security through database isolation.
Tags: Python, TSQL, Flask, Langchain, AI, HTML
Enterprise Automation Framework in Go
At my current company, I identified a major challenge during our transition from an aging Microsoft Navision system to Microsoft Business Central: nearly all automation relied on large, interdependent T-SQL stored procedures that mixed data operations with system logic. To modernize this, I designed and built a Go-based automation and integration framework that decouples core database processes from other automation code that interacts with files, APIs, and external systems. This framework, written entirely in Go, provides a robust, reusable toolkit with modules for SQL Server operations, CSV and Excel data handling, Microsoft Graph email automation, FTP and SharePoint file transfers, and a centralized structured logging system powered by a LogBuffer that records all activity into SQL. The solution emphasizes type safety, modularity, and high performance — transforming legacy, monolithic SQL routines into maintainable, testable, and extensible Go components. As a result, it has dramatically improved developer productivity, standardized our logging and monitoring processes, and enabled faster delivery of automation and integration projects. This project not only streamlined our migration to Business Central but also established a scalable technical foundation for future data-driven workflows across the business.
Tags: Excel, TSQL, HTML, Graph API, FTP, Go