Product MVPs

Building a Commerce, Verification, and Fulfillment Platform for Growthion

A CrysoLabs case study on building Growthion's supplement storefront, account registration, product-code verification, admin operations, Razorpay payment links, and DTDC fulfillment workflow.

CrysoLabs Team
· 8 min read
Share
Growthion sports nutrition storefront hero presenting the brand and supplement catalog

A modern supplement brand has to earn trust twice. First, the storefront has to communicate quality, product science, pricing, and brand energy clearly enough for customers to take action. Then, after the product is in a customer's hands, the business needs a way to prove authenticity, protect buyers from reused or counterfeit codes, and turn paid orders into fulfillment work.

CrysoLabs built the Growthion platform around that full journey. The public Growthion site presents a premium sports nutrition catalog, while the registration platform handles account creation, product-code verification, order intake, admin operations, Razorpay payment-link webhooks, and DTDC fulfillment flows.

Growthion sports nutrition storefront hero presenting the brand and supplement catalog

The Business Problem

Sports nutrition is a trust-heavy market. Customers compare ingredients, certifications, prices, flavors, and brand credibility before purchasing. After purchase, they still need confidence that the product pack is genuine. For the business, that trust layer must connect to real operational systems: user accounts, verification history, sales records, payment events, shipping data, and admin review tools.

The Growthion codebase reflects that split. One Next.js app focuses on the public brand and product experience. A second Next.js app powers the authenticated register and operations layer with MongoDB models for users, product codes, verification attempts, sales products, sale records, payment links, orders, fulfillments, and Razorpay webhook events.

A Storefront Built For Product Confidence

The public site is designed around a direct supplement buying journey: hero messaging, product cards, detail pages, ingredients, certifications, FAQ content, legal pages, and a route into the register/checkout platform. It uses strong product imagery, responsive sections, and dedicated product pages for Growthion Xplosive Pre-Workout, Pure Micronized Creatine, and the combo stack.

Growthion Xplosive Pre-Workout product page with pricing, flavor choices, and marketplace options

The storefront is not just a landing page. Its structure supports product education through ingredient sections, certification badges, product-specific claims, flavor options, pricing states, marketplace availability, terms, privacy, and refund policy pages. That is important for a regulated, health-adjacent category where customers need more than a "buy now" button.

Growthion micronized creatine product detail page with product imagery and purchase information

Registration As A Trust Gateway

The register platform starts with account creation. Customers can register with email/password or Google, accept terms, opt into marketing updates, verify their email, and then check the code from their product pack.

Growthion registration screen for account creation before product code verification

The email verification flow uses six-digit OTPs, a 10-minute expiry, a 60-second resend window, a five-attempt limit, HMAC hashing, and timing-safe comparison. That gives the product a cleaner trust boundary than a plain account form. A customer must own the email before the account becomes a reliable verification record.

Growthion login screen with email password authentication and Google sign-in

Product Code Verification

The product verification workflow is one of the most important pieces of the system. Codes are normalized by stripping non-alphanumeric characters, uppercasing, and enforcing an 8-12 character length. When a user submits a code, the server checks the ProductCode table and records every verification attempt.

The genuine path is careful: the code is claimed with an atomic update where isUsed must still be false. That protects against two requests claiming the same code at nearly the same time. Once claimed, the code stores the claiming user and timestamp, while a ProductVerification row preserves the customer-facing history.

Invalid, reused, already-claimed, and race-condition cases are handled separately. That lets the UI tell the difference between "this code does not exist," "you already claimed this code," and "this code was verified by another account." Those distinctions matter in a product-authenticity system because support teams need useful context, not a generic failure.

Admin Tools For Real Operations

The admin area goes beyond basic user management. It includes code inventory, CSV seeding, bulk product-code generation, product progress, scan monitoring, sales products, profit dashboards, cash transfers, receivables, accounts, and order management.

This matters because product verification creates operational questions:

  • How many codes exist for each product?
  • Which codes are unused, claimed, missing serial numbers, or tied to batches?
  • Which scans are failing?
  • Are sales being recorded as cash, account, or pending receivable?
  • Which paid orders need address repair or fulfillment retry?

The admin components and server actions are built around those questions. They provide pagination, filters, sorting, controlled page sizes, normalized input, role checks, and revalidation paths for the surfaces that change after admin actions.

Payment Links To Fulfillment

The register app also handles the bridge from payment to shipping. Razorpay payment-link webhooks are received at a server route that reads the raw body, verifies the Razorpay signature with HMAC, stores an idempotent webhook event, and then creates or updates a paid local order.

The order model captures customer contact, shipping address, payment identifiers, short URLs, raw webhook payload, order items, and fulfillment state. Product payment links map Razorpay short links to specific Growthion product variants, prices, quantities, package weights, and DTDC descriptions.

Once an order is marked paid, the backend attempts DTDC fulfillment. If the webhook does not include enough shipping information, the order is saved as paid with a MISSING_ADDRESS state. Admins can add the address later and retry DTDC from the order detail page. If DTDC fails, the failure is stored and remains retryable.

Security And Reliability Decisions

Several implementation details are worth calling out:

  • Credentials authentication uses bcrypt password checks, while Google sign-in creates or updates verified user records.
  • Email OTPs are HMAC hashed, expire after 10 minutes, and are compared with timing-safe equality.
  • Admin-only actions check the server session and admin access before touching inventory, orders, sales, or profit tools.
  • Razorpay webhook signatures are verified before order or fulfillment work begins.
  • Webhook events are stored with a unique event id, so duplicates can return success without creating duplicate shipments.
  • DTDC credentials stay server-only, and shipment payload construction is isolated in the DTDC service module.
  • Product code claiming uses an atomic update to prevent duplicate successful claims.

These are the choices that make the platform stronger than a thin marketing site. The software is designed to preserve trust around identity, authenticity, payment, and shipping.

Mobile Responsiveness

Both surfaces are responsive. The storefront keeps the brand and product catalog usable on narrow screens, while the register app keeps account creation and verification entry focused on the customer task.

Mobile view of the Growthion storefront hero and navigation

Mobile view of the Growthion registration experience

Why This Is A Strong CrysoLabs Portfolio Piece

Growthion is a good example of CrysoLabs building around the full business workflow. The visible storefront creates demand, but the hidden operational layer protects brand trust, records customer verification, receives payments, manages admin exceptions, and moves orders toward delivery.

The strongest engineering value is the way the project connects separate concerns into one product ecosystem:

  • Brand and product storytelling for customers.
  • Account creation with email verification.
  • Anti-counterfeit product-code validation.
  • Admin code inventory and scan monitoring.
  • Sales and profit operations.
  • Razorpay payment-link webhook processing.
  • DTDC shipment creation and retry handling.
  • Responsive experiences across storefront and registration surfaces.

For a brand like Growthion, that means the digital product can support more than conversion. It can support authenticity, support workflows, fulfillment visibility, and operational control as the business grows.

Final Thought

The best commerce systems do not stop at the product page. They connect the customer's decision, the product in their hand, the payment record, the support proof, and the shipment workflow. Growthion shows how CrysoLabs can build that kind of connected platform for a brand that needs trust at every step.

Need a commerce platform that connects storefront, verification, payments, and fulfillment? CrysoLabs designs and develops production-ready systems shaped around real business operations.

For projects like these, contact CrysoLabs: Contact us, visit crysolabs.com, email [email protected], or message us directly on WhatsApp.

CrysoLabs Team

The CrysoLabs editorial desk - shipping notes from the build floor.

Keep reading