May 2026 — Present
BitQit Pvt Ltd
Associate Software Developer·Sparq — Shopify search & merchandising
- Filters Delivered the collection filters feature end to end across two services — a first-class Filter resource in the NestJS / TypeORM / PostgreSQL API (per-collection filter entities, colour-group palettes, layout settings, facet sync and a diagnostic facets endpoint, with the schema migrations and unique constraints behind them) and the Nuxt dashboard UI merchants configure it from, including a live storefront preview and theme config export.
- Tokens Implemented the migration from permanent to Shopify's expiring offline access tokens across the NestJS backend and the legacy Koa merchant portal — 1-hour access tokens refreshed automatically with 90-day refresh tokens, a cron job that rotates them before they lapse, Slack alerts for failed rotations, and an operator-driven admin endpoint for migrating existing stores, which replaced a migration cron after code review.
POST /admin/oauth/access_token expiring: 1 { "access_token": "shpat_••••••••", // never expires: valid until the app is uninstalled "expires_in": 3600, // 1 hour "refresh_token": "shprt_••••••••", "refresh_token_expires_in": 7776000 // 90 days} (stored once, never rotated) (refreshed on demand · rotated at day 60 · Slack alert at day 70)
- Queues Built bullmq-groups, an in-house replacement for BullMQ Pro's paid groups feature — per-shop job concurrency on Redis using Lua scripts, with a reconciler that recovers slots after worker crashes. It has since been released as open source on npm (code ↗).
- Analytics Built the merchant analytics dashboard — searches, zero-result queries, click-through and conversion — from the Nuxt UI through to the analytics APIs behind it, and extended the reporting window from 7 to 90 days.
-
Scopes
Investigated the blast radius of Shopify's deprecation of
ORDER_STATUSandALLScriptTag scopes across live merchant stores, wrote read-only Node/PostgreSQL tooling to identify every affected client, validated the plan against a local mock Shopify API, and handed the team a runnable migration path.