Suppliary: Supplier Management System

K-Tech Trading Group

One organized, permission-controlled home for all of a company's suppliers, where each organization defines its own supplier fields and the whole app rebuilds itself to match, with scan-to-import OCR, Excel export and Gmail/Outlook emailing.

NextJSReactJSTypeScriptTailwind CSSshadcn/uiZod

Overview

Suppliary gives a business one organized home for all its suppliers. Instead of scattering supplier details across spreadsheets, inboxes and people's memories, a company keeps every supplier (their contacts, documents and key details) in a single, searchable, permission-controlled system. Its own tagline sums it up: "Centralize and Streamline Your Supplier Operations."

The Challenge

The clever part (and the hard part) is that no two organizations agree on what a "supplier" record even looks like. A food distributor tracks completely different things than a hardware importer.

  • Rather than force everyone into a fixed form, each organization must define its own custom fields, and the whole app (entry forms, table columns, search filters) has to rebuild itself to match, with no developer or code change.
  • Multi-tenant: many separate companies on one system, each only ever seeing its own data.
  • A real chain of command: a business owner, an operations manager and a data-entry clerk each need different controls in the same tool.
  • Getting suppliers into the system fast, from the paper (business cards and documents) they actually arrive on.

How I Solved It

Suppliary is a modern Next.js + React app in TypeScript (Tailwind + accessible Radix UI), talking to a separate backend over a clean API, with React Query keeping data fast and fresh and Zod-validated forms keeping input clean. The heart of it is a dynamic custom-field engine: an admin defines the fields that matter, and everything downstream (forms, columns, filters) updates instantly. Four levels of access (Super Admin runs the platform; Admin runs one company; Manager works the data day-to-day; Employee views only) are enforced on both the menu and every route, so each person sees exactly the controls their job needs.

Onboarding is handled by in-browser OCR: upload photos of business cards or supplier documents and the app reads the text off the images, turns them into supplier records, flags anything missing before you save, and lets you fix and retry failed rows. The full supplier list exports to a formatted .xlsx with all custom fields, and you can select suppliers and email them straight through Gmail or Outlook, with multiple recipients automatically BCC'd, no copy-pasting addresses.

Key Features

  • Dynamic custom fields with drag-and-drop ordering: the app reshapes itself to match, no code needed.
  • Scan-to-import (OCR): turn photos of business cards/documents into supplier records, with missing-field flags and retry.
  • Excel export of the full supplier list, including every custom field.
  • Email your suppliers via Gmail/Outlook with automatic multi-recipient BCC.
  • Analytics dashboard: team/supplier/field stats plus role-distribution and field-usage charts.
  • Multi-tenant with role-based access enforced per menu and per route; secure email/password auth with a full reset flow.

Results & Impact

Suppliary replaces the "spreadsheet + inbox" status quo with a system that actually knows the state of every supplier relationship, saving time and avoiding the mistakes that come from scattered data. Because each company molds it with custom fields, the software fits the organization instead of forcing the organization to fit it. It's a genuinely enterprise-scale front end: full-CRUD modules (Suppliers, Custom Fields, Organizations, Users, Analytics, Profile) with role-based access, dynamic custom fields, and a rich library of reusable components and custom data hooks, plus a public marketing site.

More Projects