Sync engine and admin dashboard for a Ticimax storefront. Supplier stock arrives as an XML feed over a plain HTTPS request and is parsed into a flat product list, then written back to Ticimax through hand-rolled SOAP envelopes with a few hundred milliseconds between calls. The engine is CommonJS under lib/sync and the dashboard spawns it as a detached child process, which keeps it out of the Next.js bundle and its dependencies out of the build. Each run writes its progress to Supabase and the dashboard subscribes to postgres_changes, so a sync in flight is visible while it happens rather than after it finishes. Scheduling comes from Railway's scheduled jobs.
