Нотатки · жовтень 2026
Магазин, що мав готовий вигляд: 28 проблем поза звичайним шляхом.
Магазин трикотажу зібрали в Claude Code за 17 повідомленнями звичайними словами — так, як власник описав би, чого хоче: каталог, оплата карткою або переказом, повернення, адмінка зі звітами, встановлення на телефон. Код власник не читав. Після останнього повідомлення магазин мав вигляд справжнього бренду й працював під час звичайного перегляду.
Магазин вигаданий, дані тестові; його зібрано для цієї перевірки. Кожна знахідка нижче — справжній прогін.
Що казав ШІ, який його збирав, і що було насправді
- Він написав «Orders can't be placed twice». Це справдилося. Але ключ, який це забезпечував і зберігався на пристрої 12 годин, після обриву зв'язку віддавав замовлення одного покупця наступному, хто замовляв з того самого пристрою.
- Він написав, що замовлення й адреси покупця видаляються з пристрою, коли той виходить з акаунта. Після виходу пристрій і далі відкривав замовлення покупця з ім'ям, вулицею, поштою й телефоном.
- Він написав, що дашборд, звіти й склад сходяться із замовленнями і що він перевірив кожне. Повернення «за останні 30 днів» на дашборді дали €5 619,79, а у звітах €5 483,80: обидві цифри правильні для свого проміжку, під однаковою назвою.
Чотири головні
- Будь-який новий акаунт читав замовлення гостей. Акаунт заводився за хвилину. З ним будь-яке замовлення, зроблене без акаунта, відкривалося за номером: ім'я, адреса, пошта, телефон, що купили. Номери йшли підряд, а без акаунта робили приблизно чотири замовлення з десяти.
- Чуже замовлення після обриву зв'язку. Наступний покупець на тому самому пристрої натискав «Оформити · €53,99» і бачив замовлення попереднього на €29,99 з його адресою.
- Повернення на будь-яку суму. Власник міг записати повернення €500 за замовленням на €29,99, і покупець отримував лист, що €500 уже в дорозі.
- Оплата скасованого замовлення. Власник скасував замовлення, поки покупець був на сторінці оплати карткою. Покупець заплатив €27,99; магазин оплату не записав і нічого не повернув.
Жодна з чотирьох не видна, поки ходиш магазином так, як задумано. Кожній потрібен один крок убік: номер, набраний в адресному рядку, зв'язок, що зник не в ту секунду, зайва цифра, дві людини одночасно.
Що витримало
Ціни й залишки задавала база, а не сторінка. Суми всіх 2 059 замовлень зійшлися до цента, звіти збіглися з незалежним перерахунком. Без акаунта дані покупців прочитати було неможливо. Підроблені повідомлення про оплату відхилялися.
Що я з цього виношу
«Готово» — це слово того, хто збирав, а він перевіряє шлях, який сам збудував. Проблеми живуть поруч із цим шляхом. Тому кожна знайдена проблема стає тестом, який спершу падає: на цьому магазині з 51 такого тесту на зданій версії падало 42, після виправлень — жодного. І кожне виправлення перевіряється знову перед наступним, бо частину того, що знайшлося пізніше, внесли самі виправлення.
Чотири речі, які можна спробувати на своєму застосунку за десять хвилин:
- Зареєструватися як новий користувач і відкрити чуже замовлення чи запис, змінивши номер в адресі.
- Обірвати зв'язок одразу після натискання кнопки, яка списує гроші, а потім замовити знову як інша людина з того самого пристрою.
- Скасувати замовлення, поки в іншій вкладці відкрита його сторінка оплати, а потім заплатити.
- Ввести завелику суму і суму у форматі країни ваших покупців (1.234,56).
Перед виходом магазину в мережу знайшлася ще одна: форма розсилки надсилала лист магазину на будь-яку адресу будь-яку кількість разів. Її виправлено, і виправлений магазин працює: відкрийте його самі з демо-входом зі сторінки кейсу.