Hackathon. OrderFlow. Internal Order & Warehouse Management System

OrderFlow. Internal Order & Warehouse Management System

Project Description

OrderFlow is an internal management platform built for a small Ukrainian company that has been relying on a 30-year-old legacy system. The old system couldn’t be expanded anymore, so the company operated through countless workarounds and manual hacks.
This project removes those limitations while keeping compatibility with existing workflows.
Despite having no programming background, I built the system myself using Directus and MCP to design structured collections, automate flows, and create custom interfaces for managers and warehouse staff.


Challenge Entered

Directus MCP Hackathon


Team

Solo developer from Ukraine (non-programmer background)


Tech Stack

Core:

  • Directus (self-hosted in Docker)
  • MCP Server for Directus
  • Claude AI (used via Cursor and later Claude Code)

Custom Modules:

  • HTML + JavaScript parser for ERP order data
  • Vue.js interfaces for managers
  • Vue.js interfaces for warehouse staff

Starting Point

I deployed a clean Directus Docker instance.
At first, I let AI generate most of the structure, but I soon realized I didn’t understand the Directus interface deeply enough to modify or expand it properly.
So I restarted:

  • Wiped the environment and rebuilt it manually
  • Created collections by hand to understand each Directus field
  • Used MCP to review my work, point out mistakes, propose icons, validations, and structure improvements
    This process helped me discover better architectural choices than the AI-generated ones, for example, using the built-in status field instead of custom boolean flags. In our company, we prefer to think things through first rather than create unnecessary complexity that later becomes difficult to maintain.

Key Features

1. Manager Interface

  • Parses data from the ERP print format
  • Converts the old “copy-paste from legacy CMS” workflow into structured order processing
  • Built in one day with AI assistance

2. Warehouse Interface

  • Custom Vue module integrated directly inside Directus
  • No external hosting required
  • Built in a single day based on experience from the manager interface

3. Automated Flows

  • MCP executed full Flow testing cycles
  • Created test orders, validated logic, fixed issues, and retried automatically
  • Enabled quick renaming, deletion, and restructuring of Flows

4. Living Documentation

  • Two main files: MVP.md and PERMISSIONS.md
  • MCP maintained both automatically
  • Became the source of truth for all project logic

Why MCP Made the Project Possible

As a non-programmer, I couldn’t have delivered this system without MCP:

  • Guided learning - MCP reviewed my Directus configuration and explained mistakes
  • Flow debugging - essential for understanding how Flows truly work
  • Automated tests - MCP generated orders, checked the system, and debugged failures
  • Documentation sync- every change reflected instantly
  • Confidence - I was afraid the system wouldn’t work at all, but Directus + MCP removed that fear

Challenges Overcome

  • Language barrier: Directus UI remains localized for Ukrainian users while I work with English documentation
  • AI hallucinations: Connected official docs to Cursor; demanded explicit citations when models guessed
  • File overwrites: Learned version control after AI overwrote entire modules
  • Model limitations: Upgraded from basic Cursor model to Claude Code for reliable rollbacks

Current Status

The system is entering live testing with real employees this/next week.


Impact

This project demonstrates that:

  • A non-programmer can build real business infrastructure
  • Small companies can modernize without hiring full-time developers
  • Open-source tools + AI enable rapid, practical development
  • Legacy systems can be extended instead of replaced

“I was afraid I wouldn’t be able to build anything, but with MCP, the fear disappeared and I finally started closing tasks that were historically difficult for our company.”

4 Likes

Just a quick note to say thanks for submitting @Jinx6947! We’ll have winner’s announcements next week. Have a great weekend :sunflower:

1 Like

Hi everyone! :waving_hand: Happy holidays! I hope you all had a great time off.

I want to share a quick update. The last few weeks have been intense.

Here are the key updates:

1. Moving to “Grown-up Hardware” (VPS)
Moved away from local experiments and deployed on a proper VPS.
Now we have serious monitoring set up via Uptime Kuma and, most importantly, automated offsite backups via Duplicati to the cloud. I sleep much better now knowing the data is safe.

2. Architectural Pivot (Refactoring)
When I started, I built everything in a single orders table. It seemed simpler that way. But recently, I sat down with a colleague, looked at the structure with fresh eyes, and we realized: this is a dead end. Mixing client orders and warehouse tasks in one pile is a bad idea for scaling.

What we did:

  • Separated Entities: Now we have orders (client orders) and warehouse_orders (internal assembly orders). This gave us flexibility.

  • Unified Statuses: We aligned everything to a single logic (pendingin_progressreadycompleted) so we don’t get confused by different names for different processes.

  • Added Event Logging: To avoid cluttering the main tables, we moved the change history to a separate events table. We are using an approach that records the status pair (old_statusnew_status), which makes it easy to build transition analytics. Also implemented proper statuses for cancellation (cancelled) and rejection (rejected) to see the history of why an order didn’t go into production.

3. Documentation and Processes
As the project grows, we had to get the documentation in order. We wrote out a clear development flow (Dev → Prod) so we don’t break the live server with experiments.

Work continues, and right now we are finishing up the delivery fields integration. So the MVP will launch with the new structure. I am working on this project completely on my own.

Moving forward! :rocket:

1 Like

I wish to share a positive experience regarding the integration of AI tools with Directus. Recently, I refactored my database architecture by splitting a comprehensive table into two entities, which rendered over 15 complex Bookmarks inoperative.

Manually recreating each bookmark was inefficient, and attempting to rectify the issue via MCP failed due to write restrictions on system tables. Instead, I detailed the schema changes to Claude, which generated the precise SQL queries to update the directus_presets table directly.

Upon executing these queries, all bookmarks were successfully restored. The combination of Directus’s flexible architecture and AI assistance proved to be a powerful asset, significantly saving time on routine manual tasks. :vulcan_salute:

1 Like