Independent build · Design operations

Enterprise Design Operations Workflow

A clear path from design-file upload to a traceable outcome—even when AI enrichment needs attention.

Workflow design · Low-code implementation · Controlled testing

Workflow at a glance
From upload to a clear outcomeFile intake · Processing · Recovery
Check eligibilityRules
Identify repeat eventsFile-version check
Add contextAI enrichment
Keep the next action clearOutcome record
My contributionWorkflow logic, implementation
and test documentation
Project contextIndependent design operations
build
ToolsMake · Google Drive · Data Store
OpenAI · Google Sheets · Slack

01 · The design question

Every file needs a clear next step.

I built EDOP to explore a practical design-operations question: how can a shared intake process check files, avoid repeated work and leave a useful record of what happened?

I treated this as an operational experience. A file may be ready to process, need a naming correction, arrive again, or reach an AI step that cannot complete. Each condition needs its own response.

Can someone looking at the record understand what completed, what needs attention and what to do next?

I owned the workflow logic, configured the Make scenario and checked its behaviour with controlled file submissions and error tests.

02 · Workflow architecture

Check first. Enrich second. Record the outcome.

Google Drive is the entry point. A file-version check runs before registration and validation. Eligible files are classified by rules, then passed to AI enrichment.

A simplified map of the implemented Make scenario. Select the visual to explore it at full size.

Drive: file intakeData Store: file-version stateSheets: processing reportSlack: rejection alerts

Built in Make

The complete EDOP scenario, showing the connected modules and routes in the implemented workflow.

Actual Make scenario. Open the image and select “Actual size” to inspect the modules and connections.

03 · Key decisions

Reliability starts with the rules around AI.

01

Make eligibility deterministic.

Filename and MIME-type checks decide whether a file can continue. Rule-based classification is stored before the AI call, keeping file eligibility separate from generated enrichment.

02

Check for repeat events early.

The Data Store checks the file-version identity before downstream processing. Placing this check early keeps repeat events away from registration and enrichment.

03

Give rejections an actionable reason.

I refined a combined rejection message into separate naming and file-type reasons. The next action becomes clearer: correct the filename or submit a supported file.

04

Use alerts for exceptions.

The rejected-file route moves the file to quarantine, updates its record and routes a Slack alert. Successful files are recorded in the processing report; Slack is reserved for rejections.

04 · Status & recovery

One status cannot explain the whole file.

I separated validation, classification, AI status and processing status. This preserves the work already completed when enrichment needs attention.

Record fieldQuestion it answersExample values
ValidationDid the file pass the intake rules?VALID / INVALID
ClassificationWhat did the rules identify?UI_DESIGN
AI statusWhat happened to enrichment?NOT_STARTED / COMPLETED / PENDING_RETRY
Processing statusWhat stage did the file reach?REJECTED / CLASSIFIED / AI_ENRICHED

Separating these fields makes eligibility, completed work and the next recovery action easier to distinguish. The recorded examples are grouped below under Tested paths.

05 · Tested paths

Follow a file through the workflow.

I checked the successful path alongside rejection, replay and enrichment exceptions. Select a scenario to see the recorded behaviour.

A valid file reaches enrichment.

Test inputA design file that meets the naming and file-type rules.

  1. Intake
  2. New file version
  3. Validation
  4. Classification
  5. AI + JSON
  6. Report

Observed result

The file was classified as UI_DESIGN by rules, enriched by AI and recorded in the processing report. Product and platform remained Unknown in this record.

Validation
VALID
AI status
COMPLETED
Processing status
AI_ENRICHED

Results from the EDOP Processing Report and test matrix, organised by scenario.

06 · What I took forward

Operational clarity is a design outcome.

This build expanded my design practice beyond screens into the rules, states and handoffs that support a product experience.

Put certainty before inference.

Use explicit rules for eligibility and preserve AI-generated enrichment as a separate layer.

Design the exception alongside the main path.

A specific rejection reason or recorded recovery state makes the next action easier to understand.

Prove behaviour at the branch that matters.

Replaying a file and injecting controlled errors exposed details that a successful run alone could not show.

Continue exploring

From workflow logic to product decisions.

See how I apply the same focus on clear states, accountable actions and recovery to multi-currency operations.