Seller Dashboard

Akuba's seller dashboard is a fully custom page where sellers manage their storefront and products. Sellers have immediate access to their dashboards upon submitting their seller application form, in which they can track their status and will be notified of the approval decision through email.

Each step pairs a heading and description with a decorative 3D preview of the Equivox UI. Those previews are skipped in screen reader navigation and are not interactive for assistive technology—the text beside each preview is authoritative.

Profile Section

The dashboard's profile section is where sellers configure their storefront information and images, along with their contact methods. Again, the marketplace is a listing directory, so payments happen externally through contact methods.

The dashboard is fully custom with unsaved changes warnings, localized error handling, image compression/optimization, ghost loading, custom components, etc. Very few unecessary packages were used in this platform.

Product Builder

The dashboard's product section is a two-pane workspace, double sidebars baby! In all seriousness, this did seem to be the most efficient way of handling this. In case you're wondering, all dashboards and sections are indeed mobile responsive, it's just slightly more convoluted with tabs and the hamburger menu, but it's fairly intuitive.

It's a pretty standard builder that benefits from everything I said before: unsaved changes warnings, error handling, etc etc. You can make all your products without being approved yet. You and any admin can access your public pages (product/store), but they will only be available to users once you are approved. These verifications all happen on the server, there is no bypassing. In fact, nearly everything goes through the server in this platform. I had 6 weeks to build Akuba, I opted for verbose predictable defensive code at the cost of perhaps more optimal performant code.

Image Pipeline

One morning late into development, I opened Supabase and saw that I'd used all my egress for the Free Plan. This had never happened to me before, and I realized my images were horribly unoptimized. Some images were stored in Supabase at up to 5MB, which is insane.

So, I did a global rework of all the image handling for the entire platform, making sure all uploaded images are compressed and optimized within reason. I managed to bring file sizes down considerably, ranging in the low KB to a few hundred KB for most images.

Images in private buckets (which is almost everything) are only accessible via server-issued signed URLs, where the server can enforce auth, ownership, rate limiting and whatnot.