Transport Plan

Below this text 2 projects i worked on at Transport Plan. Automated UI testing & an AI chatbot.
Automated UI Testing in WinForms.NET
In this project, I implemented automated UI testing for a WinForms.NET application using Reqnroll and FlaUI. The goal was to create a prototype to improve software reliability and make testing accessible for both developers and non-technical coworkers.
​
Part 1 – Reqnroll (BDD Testing)
​
​​​​​
Reqnroll is a Behavior-Driven Development (BDD) framework that allows tests to be written in a human-readable format using Gherkin syntax (Given, When, Then).
This makes tests easy to understand and write, even for people without a programming background.
​
Why this matters
By using Reqnroll, I made it possible for coworkers to:
-
Understand what the system should do
-
Help write and review test scenarios
-
Validate business rules
-
Use tests as living documentation
This improves communication and ensures the software matches real business needs.
​
Part 2 – FlaUI (WinForms UI Automation)
​
​
​
​
​​
​
​​
​
​
​
​
​
FlaUI is a Windows UI automation library that allows tests to interact with real interface elements like buttons, forms, and tables.
​
Why FlaUI is important
While Reqnroll defines what should happen, FlaUI executes those actions in the real application.
It allows me to:
-
Simulate real user behavior
-
Test full application flows
-
Catch UI bugs early
-
Prevent regressions
This results in more reliable releases and less manual testing.
​
Part 3 – Working with WinForms + DevExpress
This application used a combination of standard WinForms components and DevExpress UI controls.
This made UI automation more complex because:
-
DevExpress elements behave differently from native WinForms controls
-
UI structures were more nested and dynamic
-
Some controls required custom handling
I adapted my FlaUI logic to correctly recognize and interact with these mixed UI elements, making the automation system more robust and flexible.
​
Part 4 – Azure DevOps Workflow
For version control and collaboration, I worked with Azure DevOps.
I:
-
Created my own feature branches
-
Developed new functionality independently
-
Opened pull requests
-
Handled feedback and merges
This ensured that my changes were reviewed, traceable, and safely integrated into the main codebase.
​
Summary
By combining Reqnroll, FlaUI, and a structured Azure DevOps workflow, I built a testing system that is:
-
Reliable
-
Scalable
-
Understandable for non-programmers
-
Suitable for complex WinForms + DevExpress interfaces
This approach improved software quality and reduced manual testing effort.




Internal Knowledge Chatbot (n8n)
​
​
​
​
​
​
I built a custom internal chatbot using n8n that centralizes all available knowledge about the company’s software into a single interface. Instead of searching through multiple systems manually, users can now ask questions in natural language and receive relevant answers instantly.
​
The chatbot integrates multiple data sources, including:
-
Zendesk tickets (open and closed)
-
Zendesk help articles
-
DevOps wiki pages
-
Internal documentation
​
All this information is processed, cleaned, and stored in a vector database, allowing the chatbot to retrieve relevant context before generating a response.
Internal Zendesk JavaScript code snippet
​
Why this chatbot is different
​
This is not a simple Q&A bot. It is a fully automated workflow system that:
-
Authenticates users through a login system
-
Retrieves live data from multiple platforms
-
Converts documentation into searchable embeddings
-
Uses semantic search to find relevant content
-
Generates contextual AI responses
-
Returns formatted HTML output
This makes it a practical internal tool rather than a demo project.
​
Why this is valuable for a company
​
This chatbot significantly reduces time spent searching for information and asking colleagues repetitive questions. It improves onboarding, support, and knowledge sharing by making internal documentation easily accessible.
It also ensures that knowledge does not get lost across separate platforms, but instead becomes part of one intelligent system.
​
My role
​
I designed and implemented the full workflow logic in n8n, including:
-
API integrations
-
Authentication flow
-
Data parsing and cleanup
-
Vector storage and retrieval
-
AI response generation
-
Error handling
-
User interaction logic
This required both technical insight and system-level thinking to keep everything maintainable and scalable.
​
​
​




