Reverse-Engineering a Warehouse System Without Source Code Access
How we rebuilt a VB6 application from observed behaviour and migrated from Access to MongoDB
Key results at a glance
The challenge
The Problem
An Isle of Wight-based online retailer specialising in jewellery-making materials had a unique challenge: they needed to rebuild their warehouse management system but had no access to the original source code.
The Situation
- Broken relationship: The relationship with the original VB6 developer had broken down
- Working but frozen: The existing system worked but couldn't be modified or extended
- No documentation: No source code, no specs, just a running application
The Task
Essentially a "stealth re-implementation" - reverse-engineer the functionality by observing the existing system's behaviour and rebuild it in modern technologies.
The results
Key results
- VB6 warehouse system reverse-engineered without source code access
- Data layer migrated from Microsoft Access to MongoDB
- Predictive stock analytics implemented for proactive inventory management
- C#/WPF rebuild delivering modern, maintainable architecture
- Delivered as sole technical resource alongside concurrent engagement
Outcomes
Technical Delivery
- Warehouse management system rebuilt from observed behaviour
- Access to MongoDB migration with performance improvements
- Predictive stock analytics added beyond original functionality
Architecture Upgrade
- Modern C#/WPF replacing VB6
- MongoDB enabling features not possible with Access
- Foundation for future enhancements
Fractional Delivery
Delivered as sole technical resource while running concurrent engagement, demonstrating ability to manage multiple client relationships.
Honest Outcome
The project was significantly developed but never reached production. COVID-19 disrupted the timeline - the client put the project on hold during the pandemic and didn't resume afterward. The technical work was complete; external circumstances prevented deployment.
This experience demonstrates that successful technical delivery doesn't always mean production deployment - sometimes business circumstances intervene despite solid engineering work.
The solution
Our Approach
We treated the existing application as a black box specification.
Reverse Engineering
- Behaviour observation: Documenting what the system did by using it
- Data structure inference: Understanding the underlying model from Access database inspection
- Workflow mapping: Tracing business processes through the existing interface
Modern Rebuild
Built the new system as a WPF desktop application:
- C#/.NET: Modern, maintainable codebase
- MongoDB: Replacing Microsoft Access for the data layer
- Performance improvements: Modern architecture delivering significant speed gains
Predictive Analytics
Added capability the original system lacked:
- Stock level monitoring: Continuous evaluation against sales trends
- Replenishment prediction: Forecasting when stock would need reordering
- Proactive planning: Turning reactive inventory management into forward-looking operations
Ready to achieve similar results?
Let's discuss how we can help your organisation achieve these results.
Book a strategy call