Shray Shrotriya

I built the business, then I wrote the software it runs on.

Quaza Inc.

Quaza Inc. is my commerce company, profitable in its first half. I own it, I run it, and I built everything it runs on: the store, the iOS app, the backend, and the machine that works while I sleep.

  • Commerce
  • iOS app
  • AI & automation
  • Design

The flagship

Quaza Collect

One company, every surface. A storefront, a native app, a market tracker and a news desk — every one of them built by hand, all of them reading one backend, with three moons standing for the surfaces in orbit around the store.

The store

quazacollect.com

The theme is hand-written down to every section, so any surface can change. A pushed branch is live in seconds.

47.7% gross margin, costed line by line

The Quaza Collect homepage inside the laptop frame: the planet-marked wordmark, a set-release hero and a row of carried brands.

The app

Native iOS, written alone

I learned Swift by shipping this. First commit to the App Store in ten days, Apple review included.

385 / 402 orders · 15+ countries

The Quaza Collect iOS app home screen in an iPhone frame: a featured set hero, category chips and new arrivals.

The moons

Quaza Track · Quaza News

Live market indexes updated daily, and articles written by a pipeline that ends at a draft on purpose.

90x reduction on the hot database path

The Quaza Track ticker strip: set indexes with daily percentage changes.
A Quaza Track set index chart: a year of daily closes drawn as a single line.
Case file · Quaza Collect The store, the app, the pipeline — live

The studio · in its own voice

The Six Stones

My design practice, and the site built to carry it: a hand-written WebGL globe, mission telemetry, no library, no template.

The Six Stones homepage: a globe of hexagonal dots, orbit lines, and the serif headline "We launch brands into global orbit."

Leaving · the machine

Runs unattended

Behind the shop runs a machine I assembled: agents under written rules, a gate that decides what ships.

12 scheduled jobs · 10,887 tool calls in 9 days

The wall-mounted operations console: live commerce figures, machine gauges, agent activity and market instruments.
Case file · The Six Stones The studio's own site, and the globe it launched

The store

ATR Sports

A racquet-sports retailer, Canadian since 2008. I designed and built their storefront from scratch on Shopify and ran the online side alone, part-time.

The ATR Sports storefront: the wordmark over a racquet-sports navigation — racquets, shoes, apparel, balls, bags, strings and a stringing service — above a row of carried brands.

The turnaround

A new store, and traffic pointed at it

A brand-new Shopify build to the platform's own best practices, with Google Ads running into it.

515% online · 82% company-wide

The ATR Sports catalogue: 2,603 products behind filters for gender, activity, product type, brand, price and shoe size, with review counts on each card.
Case file · ATR Sports The turnaround, and the month it took to get a yes
Quaza Collect · Case file
Quaza Collect

The file on the flagship: the store, the app, the one backend they share, and the machine behind them — with the working parts rebuilt further down, live.

Built quazacollect.com App Store

Also on eBay Instagram

The store

quazacollect.com

Every section of the theme is written Liquid rather than a configured preset, so any surface can change without waiting on anyone. A pushed branch is the deploy, and a review pass runs against the diff before it goes.

The Quaza Collect homepage: the planet-marked wordmark over the full navigation, a set-release hero, and a row of carried brands.
Own theme, every sectionSet release, live
The app

Native iOS, written alone

SwiftUI with the Observation framework and Swift Concurrency, learned by shipping it. Four releases in the first twenty-four days, and every screen wears the store's own design language.

first commit ten days live on the App Store Apple review included
The Quaza Collect iOS app home screen in an iPhone frame: a featured set hero, category chips and new arrivals.
One truth

The app and the site cannot disagree

Both clients read one Cloudflare Worker in front of a D1 database. A price in the app is the price on the site because there is exactly one place a number can come from — a constraint set before either client existed, which is why neither has ever needed reconciling.

The app's price-history screen: a sealed product's market price in Canadian dollars, its all-time change, and a full price chart with range, seven-day change and set rank beneath it. one backend · one price
Quaza Track on the website: its own sub-navigation over the Quaza Index charted across three months, a panel of set indexes beside it, and product index cards below.
QUAZA TRACK · live market indexes, updated daily
Quaza News: the store's editorial index with category filters and a featured set guide.
QUAZA NEWS · written by the pipeline below
The machine

Runs unattended

Agents work under written rules against a gate that decides what ships, with a local model serving retrieval over the store's own writing. Twelve scheduled jobs fire on their own schedule, and one wall console is where the state of all of it is read at a glance.

The wall-mounted operations console: commerce tiles, machine gauges, a neural map of the estate and market instruments on a dark full-screen display. The commerce figures shown are sample data.
Agent fleet, liveMarket terrain
The news pipeline

Writes the store's blog, and stops at a draft

Set guides and market analysis, researched and written end to end. It stops one step short of publishing, so a person approves every post that goes out.

The rendered article

Quaza News

Example Set: a quiet month for sealed

Sealed held, singles drifted, and the reprint question stayed open.

illustrative post · 3 min read

Where prices sit

Sealed boxes of Example Set ended the month close to where they began. Singles from the set drifted a few points lower, led by the alternate arts.

None of this is real. The set, the cards and the figures are invented for this page.

What moved

The chase card of the set gained on thin volume, which is the kind of move that fades. Mid-tier holos sat flat, and listed supply held steady all month.

The reprint question

A reprint would reset most of the numbers above, and rumours of one arrive on schedule. Until an announcement lands, every figure here stays what it is: an illustration.

Sharecopy linkpost

Related posts

Illustrative article, not a real post.

The pipeline

  1. researchqueued
  2. buildqueued
  3. verify.pyqueued
  4. regressions.pyqueued
  5. fileCreate (images)queued
  6. draft via Admin GraphQLqueued

6 stages, run in order. Nothing here talks to Shopify: the run is a recreation.

The article is illustrative: the set, the cards and the figures are invented for this page. The run animates the real pipeline's order without talking to Shopify.

Quaza News is a TCG news blog on the Quaza Collect storefront, produced by a pipeline rather than typed into an admin: 18,246 lines of Python, a shared component library, and 73,195 words of prose across 30 built articles, tracked as 15,362 lines of article HTML. Publishing goes through the Shopify Admin GraphQL API, images first, article second, always as a Draft.

What the company is made of

The storefront
Shopify · written Liquid, JS, CSS
Every section of the theme, and the market and news surfaces beside the shelf.
The iOS app
Swift · SwiftUI, Observation, Swift Concurrency
Browse, cart and price history, reading the same catalogue the website sells from.
The backend
Cloudflare Worker · D1
The single source both clients read. Its hot endpoint is precomputed, which is what keeps two front ends inside one free tier.
The machine
Python · agent fleet, scheduled jobs, a local model
Restocks, pricing checks and the news pipeline, running under written rules against a gate, read from one console.
The operation
Costing · shipping economics · fulfilment ops
Sets the margin every figure above is measured against. The half of the company that is not code.

Every row is running in the company today.

Gross margin on the store
47.7%
Cost of goods costed line by line, 97% invoice-verified
Orders fulfilled, built alone, part-time, while employed full-time
385 / 402
Into more than 15 countries
Agent tool calls across 9 days on hardware I run
10,887
325 transcripts · 12 scheduled jobs, running while logged out
Reduction on the hot database path
90x
35,000 rows per call, precomputed to 1
The Six Stones · Case file
The Six Stones

The file on the studio: how the globe is drawn by hand, what the telemetry in the corners actually reads, and a metaphor held through every line — none of it leaking into the warmer work below.

thesixstones.com

The Six Stones homepage: a rendered globe of hexagonal dots with orbit lines and city markers, the serif headline "We launch brands into global orbit." and mission-control telemetry in the corners.

The hero is live: a hand-written WebGL globe, orbit stable.

What the studio site is made of

The globe
WebGL · written by hand, no library
The hero: a hexagonal-dot earth carrying orbit lines and city markers, holding a stable orbit for as long as the tab is open.
The voice
Serif type · one held metaphor
Launch language carried through every line, kept deliberately unlike the commerce work it sits beside on this page.
ATR Sports · Case file
ATR Sports

Before Quaza there was ATR: a racquet-sports retailer, Canadian since 2008. The file on the rebuild: the store from scratch, the online side run alone while employed full-time, and the month it took to get a yes.

atrsports.com

Online sales growth in the first year
515%
Flat for three years · I rebuilt the store
Total company sales growth, same year
82%
The online store was the part that moved
The ATR Sports storefront: the wordmark over a full racquet-sports navigation — racquets, shoes, apparel, balls, bags, strings, court equipment and a stringing service — above a carried-brand row.
THE STOREFRONT · racquets, court, stringing service
The ATR Sports catalogue: 2,603 products behind filters for gender, activity, product type, brand, price and shoe size, with customer review counts on each card.
THE CATALOGUE · 2,603 products, filtered six ways
How the case was made The month it took to get a yes, and the arithmetic that produced it. READ
Shray Shrotriya seated on a stool holding a microphone in one hand and a sheet of paper in the other, mid-sentence, in a wood-panelled room. Members of the audience are blurred in the foreground.
Speaking to a room. Toronto.

I recommended moving the store onto a much more expensive platform, and the resistance was not technical: it was cost, and underneath the cost it was timing. The owner did not disagree that the platform was better. They did not know when it would be worth paying for.

So I showed them the month. Above a certain volume the transaction-fee saving offsets the subscription, which turns whether-to-upgrade into which month the crossover falls in. The recommendation arrived from someone who had already done the work, and they went live the following month.

Everything else on this page is something I made. This is the other half of the job: getting a decision made by somebody whose money it was.

What the turnaround took

The rebuild
Shopify · theme, catalogue, checkout
Built from scratch and then run alone: 2,603 listings behind six filters, and the in-store stringing service sold online as a product — alongside a full-time job.
The case
Unit economics · a crossover model
Transaction-fee saving set against subscription cost, which turned an argument about whether to upgrade into a date on which the upgrade pays for itself.
Experience

Every build on this page happened alongside a full-time job. Two co-op terms in marketing and inside sales sit between the retail years and ATR, and the degree ran under all of it.

  1. Quaza Inc. Founder
    built alongside the day job

    The commerce company this page opens with: store, app, backend and the machine, all mine.

  2. ATR Sports Ecommerce Manager, then Digital Marketing Manager
    three and a half years, current

    The only person on anything digital: the store, advertising, marketplaces, shipping. The turnaround above happened here.

  3. Geek Squad In-Store Service Agent
    one year

    Diagnosis under time pressure with the customer watching: intake, fix, handback.

  4. Best Buy Computing Solutions Advisor
    a year and a half

    First Canadian job, started within two months of arriving. Translating spec sheets into what a buyer actually needs.

Education Honours Bachelor of Commerce in Digital Business Management, Humber College, Toronto. Four years, with e-commerce, web development, databases and analytics as graded coursework, all of it now in production somewhere above.

Also built

The Reach Community Church website, showing a warm photographic hero with service times and a welcome message.
Built at no charge

reachcommunitychurch.ca

A site for a church I attend, warm where the rest of my work runs cool, because the audience is a congregation and the design brief follows the reader.

Open the site
Skills

Commerce

Shopify theme & Liquid Admin GraphQL & Flow pricing & shipping economics catalogue & fulfilment ops

Engineering

TypeScript Swift & SwiftUI React Astro Node Python WebGL & canvas automated browser test harnesses

AI & automation

agent fleets on schedules MCP tool integrations retrieval & local models headless browser automation voice interfaces

Design

brand systems motion & interaction hand-drawn SVG illustration typography marketing surfaces

Nothing here is aspirational: every line is in production on this page, or in the company it describes.