Free shipping over $50 · −10% on your first order with code · If you star the theme, I’ll be happy ♡

NOCTA logo

We roast when the city sleeps.

NOCTA started with a five-kilo roaster in a rented garage and a habit of working after midnight — the only time the phone stops ringing and you can hear the first crack properly. The habit stuck; the garage grew into a roastery.

We buy from farms we can name, roast in small batches, and seal every bag the same day. When a lot runs out, the coffee changes with the season — that is the point.

The roastery counter at night

2019

first batch roasted

5 kg

roaster we still use

38

farms we buy from

0

bags older than a week

The honest part

This roastery is a demo. The theme is real.

The garage, the night shifts, the 38 farms — all invented to show astro-njx-dark-lux, a free dark-luxury ecommerce theme for Astro, working at full speed. Fork it, swap the catalog, and you have a store of your own. An extended Pro version is on the way.

Get it on GitHub

How the integration works

  • Astro 5 renders everything statically. A Node.js build fetches the catalog once and ships pure HTML — no client framework, fast by default.
  • Two data providers, one switch. COMMERCE_PROVIDER=mock uses the bundled JSON catalog; shopify pulls real products over the Shopify Storefront API (GraphQL).
  • Checkout stays on Shopify. The cart lives in localStorage; at checkout the theme creates a Shopify cart and hands off to their hosted, PCI-compliant checkout.
  • Hosted on Cloudflare Pages. Static output deploys in seconds and runs comfortably on the free tier.

Questions about a roast?

Write to us — the person who roasted it will probably answer.

Contact the roastery