All work

Nafis Saffron

An online store for Iranian saffron.

The Nafis Saffron storefront

Nafis Saffron sells negin, sargol and pushal saffron online. The store works in Persian and English, with prices in more than one currency. Behind it is an admin system we built around the way the company works, with its own inventory management, staff permissions and CRM.

What we did
DesignBuildRun
Built with
Next.jsFastAPIPostgreSQLRedis
How it runs
Runs on our servers in Iran. Our monitoring checks the storefront, the admin panel and the API around the clock and alerts us on Telegram and by email.

The idea

Nafis Saffron needed more than a page of products. The company wanted one system for the whole business: a store its customers could use in Persian or English, with prices in more than one currency, and an admin panel where the team could run stock, orders, staff and customers in one place.

The admin turned out to be the larger part of the job. We designed it around the way the Nafis team works, and some of its features exist only because their work called for them.

What it does

In the store

  • Customers can shop in Persian or English.
  • Prices are shown in more than one currency.

In the admin

  • A dashboard designed around how the team works, with features made for their use cases.
  • Advanced inventory management that keeps stock counts right as orders come in.
  • A permission hierarchy, so each admin sees and changes only what their role allows.
  • A CRM of its own, for customer records and follow-up.

The journey

Nafis Saffron was our first project as a team. We designed the store and the admin, built both along with the API behind them, and we still run all of it. Much of what we know about building a store that lasts, we learned here.

It showed us where the work in an online store really is. The storefront is the part people see, but most of the effort goes into what sits behind it: stock that stays correct as orders come in, two languages and more than one currency running through every product and price, staff who each need the right level of access, and a customer list the team can work with. We learned to give the admin the same care as the store, and we have done that on every project since.

It also taught us that going live is when a different part of the job begins. A store has to keep working long after launch, so we kept running it. When something breaks, the people who answer are the people who built it.

Have something to build or host?

info@pashmak.net