D3Один контракт, написаний на Zod
Схеми з packages/contracts перевіряють запити на сервері й відповіді в браузері, а типи виводяться з них.
Компроміс: зміна контракту потребує перезбірки пакета для обох застосунків.
D5Модульний моноліт на NestJS
Один деплой, по модулю на демо: межі є, мережевих переходів між ними немає.
Компроміс: модулі масштабуються разом; виділення сервісу згодом вимагатиме явного інтерфейсу.
D13Нативний WebSocket, не Socket.IO
Браузерний WebSocket не потребує клієнтської бібліотеки, а політика перепідключення живе в одному хуку.
Компроміс: немає вбудованих кімнат і fallback-транспортів; потік лише в один бік.
D14Workflow у процесі, стан у PostgreSQL
Перезавантаження чи рестарт не губить прогін, а оновлення з версією не дають виконати вузол двічі.
Компроміс: виконання в одному процесі; для розподілених воркерів знадобиться черга.
D17Графіки на canvas через uPlot
SVG через React перерендерювався б на кожну точку; canvas тримає частоту кадрів при 1 500 подіях за секунду.
Компроміс: canvas невидимий для скрінрідерів, тож графіки мають приховані таблиці або описи.
D18AI-пошук відтворює записані трасування
Мультимовна поведінка показана чесно без виклику моделі, а кроки-код виконуються наживо.
Компроміс: відвідувач не може ввести власний запит.