Code.

Tell us what your business needs to do online. We design it, build it and keep it running: websites, stores, apps, and the automation and AI assistants behind them.

TRIAL25% off your first order → ◎ move the lens over the page · scroll ↓
Nord StudioWorkServicesAboutGet a quote

Spaces that feel like home.

Architecture and interiors for people who notice the details.

See our work →
120+projects delivered
0.9spage load
98Lighthouse score
<Nav links={links} cta="Get a quote" />
<section class="hero">
  <h1>{page.title}</h1>
  <p>{page.intro}</p>
  <Button href="/work" />
</section>

.hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
}
<Image
  src={page.cover}
  alt={page.coverAlt}
  sizes="(min-width: 760px) 45vw, 100vw"
  priority
/>
{stats.map(s =>
  <Stat {...s} />)}
export const
  revalidate = 3600;
<script
  type="ld+json">
KansoShopNewSaleCart · 3
Clay mug $24
Linen cushion $68
Amber scent $42
Cloud runner $96
Total $134Checkout →
<Nav cart={cart.count} />
const products = await db.product.findMany({
  where: { inStock: true },
  orderBy: { createdAt: "desc" },
});

{products.map(p => (
  <ProductCard
    key={p.id}
    {...p}
    onAdd={() => cart.add(p.id)}
  />
))}
await stripe.checkout.sessions.create({ line_items: cart.items, mode: "payment" });
Acme OpsOverviewOrdersInvoicesCustomersStockReports
Overview live
Revenue482,310
Orders today1,284
Overdue invoices12
ORDERTOTAL
<Sidebar
  items={nav}
  active="overview"
/>
<Header title="Overview" live />
<Kpi label="Revenue"
  value={t.revenue} />
<Kpi label="Orders"
  value={t.orders} />
<Kpi label="Overdue"
  value={t.overdue} />
const { data } = useQuery(
  ["revenue", range],
  () => api.get("/revenue/daily"),
  { refetchInterval: 1000 }
);

<RevenueChart points={data} />
SELECT id, customer, total
FROM orders
WHERE company_id = $1
ORDER BY created_at DESC
LIMIT 4;
Good eveningToday's habits
3 / 5
Read 20 pages
Walk 6,000 steps
No sugar
Sleep by 11
Call home
TodayStatsFriendsMe

One codebase. Both stores.

A habit tracker that feels native on iPhone and Android, works offline and reminds you at the right moment.

  • App Store iOS
  • Google Play Android
  • Push notifications on
  • Offline first synced
export default function Today() {
  const { habits, done } = useHabits();

  return (
    <SafeAreaView>
      <Ring
        progress={done / habits.length}
      />
      <FlatList
        data={habits}
        renderItem={({ item }) =>
          <HabitRow {...item} />}
      />
    </SafeAreaView>
  );
}
// one codebase, two stores
$ eas build --platform all
$ eas submit --platform ios
$ eas submit --platform android

await Notifications.scheduleNotificationAsync({
  content: { title: "Sleep by 11" },
  trigger: { hour: 22, minute: 30, repeats: true },
});

await db.habits.sync();  // offline first
x-ray
  • App Store
  • Google Play
  • Push notifications
  • Offline first
Nord StudioWork · Services · About
Spaces that feel like home.
120+projects
0.9spage load
98Lighthouse
© Nord Studio · Instagram · Contact
export default async function Page() {
  const items = await getItems();

  return (
    <Layout>
      <Nav />
      <Hero title={page.title} />
      <Grid items={items} />
      <Footer />
    </Layout>
  );
}
GET/api/products?limit=20200 · 18ms
POST/api/auth/login200 · 31ms
POST/api/cart201 · 12ms
POST/api/checkout201 · 42ms
POST/api/contact200 · 14ms
usersidnameemail
ordersiduser_id →totalstatus
productsidtitleprice
edge · cdn
app × 3
worker
postgres
cache
backups
uptime 99.98% · LCP 0.9s
01 / 07 — INTERFACE

Customers leave a site that looks old.

We design every page around your customer, not around a template: clear, fast, and as sharp on a phone as on a big monitor. In Arabic and English when you need both.

  • Next.js
  • React
  • Responsive
  • Arabic + English (RTL)
02 / 07 — MOBILE

Your customers live on their phones.

We put your product there: iPhone and Android from one codebase, on the App Store and Google Play, with notifications and offline mode when it needs them.

  • React Native
  • Expo
  • Push
  • Offline
03 / 07 — COMPONENTS

A new page shouldn’t cost like the first one.

We build your site from a shared set of parts. The next page ships in days, and everything keeps looking like one brand.

  • Design system
  • Reusable UI
  • Accessible
04 / 07 — CODE

Never be locked in to your developer.

You own the code and the docs. It is typed, tested and reviewed, so the next developer, ours or yours, can pick it up and keep going.

  • TypeScript
  • Tests
  • CI on every push
05 / 07 — API

Stop copying data between systems.

Logins, payments, bookings and forms talk to each other. The same connection powers your website, your app and your partners.

  • REST
  • Auth
  • Payments
  • Webhooks
06 / 07 — DATABASE

Know your customers and your orders.

Products, customers, orders and content in one place, structured so pages load instantly and nothing gets lost. Backed up every night.

  • PostgreSQL
  • CMS
  • Daily backups
07 / 07 — SERVER

Slow or down means lost sales.

We host it close to your visitors, tune it for speed and for Google, and watch it around the clock.

  • Vercel
  • CDN
  • SEO
  • Monitoring
AI + AUTOMATION 01 / 03 — ASSISTANT

Answering the same questions all day?

An assistant trained on your business answers customers on your site and on WhatsApp, day and night, and hands over to a person when it should.

  • Website chat
  • WhatsApp
  • Arabic + English
AI + AUTOMATION 02 / 03 — LEADS

A message nobody answered is a customer lost.

Every new message gets a reply in seconds. The name, the number and what they need are saved, and you get a ping with the summary.

  • Instant reply
  • CRM
  • Notifications
AI + AUTOMATION 03 / 03 — BACK OFFICE

Your team shouldn’t copy and paste for a living.

Invoices, reminders, reports and moving data between systems run on their own. Your people get the hours back.

  • Invoices
  • Reminders
  • Reports
  • Integrations
PRICES

Pick what you need.

Starting prices for everything we build. Need something that is not on the list? Ask, and you get a quote.

  • 5 options
  • Starting prices
  • 25% off your first order
WORK 01 / 03 — WEBSITE

F6 Media

A scroll-driven film site for a real-estate video editing studio: one continuous camera move through the studio, with the packages playing on the screen inside the scene.

  • HTML / CSS / JS
  • Canvas frame sequence
  • Vercel
View live ↗
WORK 02 / 03 — WEB APP

Mizan

A platform for managing compliance with the Essential Cybersecurity Controls (ECC-2:2024). Invitation-only accounts, Arabic and English, light and dark.

  • Next.js
  • Arabic + English
  • Invite-only accounts
View live ↗
WORK 03 / 03 — MOBILE APP

Loop

A habit tracker built with React Native and Expo. Tap its icon on the phone to launch it, then use it: tick habits, add your own, check your stats. Everything is saved on your device, so it works offline. Use the mouse like a finger: drag to scroll, and swipe the bar at the bottom up to go home.

  • React Native
  • Expo
  • iOS + Android + web
  • Offline storage
Open the app ↗
TRACK RECORD

Shipped, live and looked after.

Everything above is running right now. Open it, use it, then picture yours next to it.

NEXT

Seven layers. One product. Yours is next.

A website, a store, a web app or a mobile app: tell us what you need. We'll design it, build it, ship it and keep it running.

Available for new projects

Let’s talk.

A 30-minute call. No slides and no pressure: tell us what you need, and we’ll tell you how we’d build it, how long it takes and what it costs.

● 00:00 · x-ray of a web product