DabyChos Studio · David Abraham Aguilar · October 10–12, 2026
Build log: the Embed Migration Kit, one weekend
This is the work log of the weekend I spent building the Embed Migration Kit for a Shopify development store. Every time below was measured from the session logs, and every commit and test was checked against the repositories. The "traditional estimate" is my judgment of what a senior developer who already knows the system would need. It is an estimate, not a measurement, and the basis is written next to each one.
In numbers
What was built, and how long it took
| Result | Measured time | Traditional estimate | Basis of the estimate |
|---|---|---|---|
| Shopify Partner account and development store | 4 min (plus about 1 h of mine) | 1.5 h | Guided step by step |
| The kit: installed app, end to end, live | 1 h 42 min | 40 h | Shopify app with a theme extension, storefront beacon, queue, 9 tests, own deployment |
| Prices by country | 53 min | 14 h | Detection, plan, batch migration to Markets price lists, audit, tested on the store |
| What merchants ask for (from public reviews) | 3 min | 4 h | 7 frictions from 1,873 public reviews, chart data |
| Portfolio page and How I Ship v2 | 7 min, plus time inside the rows above | 12 h | Page with real screenshots, method page with measured numbers |
| Total | ≈ 2 h 50 min | ≈ 70 h |
1 · The kit moves a store to the new setup, and it runs live
What was underneath:
- Shopify already refuses to create new script tags. This was tested live on API versions 2026-10, 2026-01 and 2025-10.
- The old code lives inside the theme. The kit finds it with file and line: 6 markers in the published theme and 0 in the clean copy.
What was done:
- An app with four stages: Measure, Activate, Verify and Remove.
- A beacon through the app proxy confirms that the embed really runs on the storefront.
- A queue with backoff, expiring tokens, JSON and CSV reports, compliance webhooks and a theme backup.
- Tested end to end on the development store. The merchant's click switched the embed on, and the status became «Active».
- A non-root container image, deployed behind the proxy on its own subdomain and verified with Playwright.
Tests: 9/9 at this point. Time: 1 h 42 min, traditional estimate 40 h.



2 · The kit fixes prices by country
What was underneath: with one variant per country, Markets converts the price again. A «Mexico» variant priced 15,999 showed 299,006 MXN.
What was done:
- The kit detects one-variant-per-country setups, builds a plan and migrates to Markets price lists in batches of at most 250.
- The audit uses contextual pricing.
- On the store, Mexico went from 16,558 MXN converted to 15,999 MXN fixed, with a 1/1 audit. Running it again changes nothing.
Tests: 12/12 (9 original plus 3 for prices). Time: 53 min, traditional estimate 14 h.

How the time was measured
Each request has a measured turn in the session log, and those turns are added up. The agents' time is added too, even when they ran in parallel. Pauses longer than 10 minutes and the automatic 30-minute status checks are left out. My own time is not in these numbers except where it says so.
What this page leaves out
The weekend also included research and interview preparation that is not part of the kit, so it is not on this page.