Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 2.87 KB

File metadata and controls

79 lines (53 loc) · 2.87 KB

AI_NOTES.md

How I used AI during this challenge

I used ChatGPT (GPT-5) as my main AI coding assistant throughout this task.

I first uploaded the entire PDF challenge document and explicitly asked the model to treat it as a strict specification. I instructed it to:

  • follow the JSON payload schema exactly,
  • respect all functional constraints,
  • write production-style Python code,
  • and highlight trade-offs where the timebox made full implementation unrealistic.

Instead of asking for “quick solutions”, I gave step-by-step instructions to build a clean project structure using Python + GraphQL, integrate with the Shopify Admin API, and provide a dry-run connector that matches the everstox specification.


Where AI helped the most

AI was especially helpful for:

  • Designing a clean project structure (client, rules, transform, CLI, tests)
  • Drafting the Shopify GraphQL query with pagination
  • Suggesting how to handle throttling and cost limits
  • Generating initial unit test skeletons
  • Helping write a clear README and Makefile for local + Docker execution

Where I had to intervene manually

Several parts required careful manual reasoning:

  • Partial fulfillment logic
    I validated Shopify’s schema and switched from a non-existent field to
    fulfillableQuantity, which correctly represents remaining shippable units.

  • Tag priority parsing
    AI suggested regexes, but I refined them and added keyword fallbacks
    (urgent, high, etc.) and clamped values to the required range (1–99).

  • Whitelist / Blacklist behavior
    I explicitly defined precedence, case-insensitive substring matching,
    and documented the rule in the README.

  • Environment + tooling
    I configured virtual environments, Docker, Makefile targets, and fixed multiple path and test-discovery issues manually.


Trade-offs due to the timebox

To stay within the 60–90 minute limit, I made these trade-offs:

  • Implemented a CLI instead of a web UI for visual feedback
  • Simplified tax and shipping calculations and documented assumptions
  • Focused tests on the most error-prone logic (rules, throttling, fulfillment)
  • Used placeholders for optional everstox fields not derivable from Shopify

How I verified correctness

  • Compared every required step with the PDF specification
  • Ran live queries against the Shopify test store
  • Validated payloads against the provided JSON schema
  • Added unit tests for business rules
  • Ran everything locally and inside Docker

Overall experience

AI significantly accelerated development, but correctness still depended on careful manual validation. I treated the AI as a pair-programmer, not a source of truth, and reviewed every generated section against the specification.

This approach allowed me to deliver a production-style, testable solution within the given timebox.