2025

Big Vision Games: Building a Full-Stack Retail Platform

A behind-the-scenes look at the development journey of Big Vision Games, a modern e-commerce platform for gamers, built with TypeScript, React, Tailwind CSS, and Supabase.

Big Vision Games: Building a Full-Stack Retail Platform

My Journey Building Big Vision Games

From an academic standpoint, this project aimed to emulate a real-world, client-driven software development process. I was assigned a detailed project brief by my university supervisor, who acted as ‘the client.’ Throughout the process, we collaborated closely to ensure the platform met the evolving needs and expectations of the client. This real-world, client-driven approach shaped every aspect of the project, from requirements gathering to final delivery.

The Brief

The brief was to build a full-stack e-commerce platform for a client. At the time of receiving the brief, the company lacked a digital management system; everything was done manually. The platform had to be able to handle a complex staff hierarchy with granular permissions, real-time loyalty points and inventory updates, and robust analytics and reporting for business intelligence.

The platform had to be secure, scalable, and easy to maintain.

First Steps

Leveraging the distant submission deadline, I chose to spend a significant amount of time focusing on the design and architecture of the platform before committing to the code. I wanted to create a platform that was not only functional, but also aesthetically pleasing and easy to use. I also wanted to ensure that the platform was scalable and easy to maintain.

I gained design inspiration from the following sources:

I began developing a prototype of the UI, packed with basic functionality. I presented the prototype to my supervisor to confirm whether the design was acceptable, and to clarify any requirements I may have missed. I was pleased to receive the go-ahead to proceed with the development.

The Stack

I chose React and TypeScript for the frontend, paired with Tailwind CSS for rapid, responsive design. Supabase handled authentication, database, and real-time updates, while Stripe powered secure payments. This stack let me move quickly, with type safety and a great developer experience.

Surprising My Supervisor

From the outset, I approached the project with a rapid, focused workrate. Within just a few weeks, I had delivered a working prototype that covered the core requirements of the brief. My progress surprised my lecturer, who had expected the project to take the full six months allotted. As a result, my supervisor decided to expand the assignment, challenging me to add advanced features, more complex business logic, and a broader set of user roles and workflows. This expansion pushed me to grow as a developer and deliver a platform far beyond the original scope.

Why Build BVG?

As a gamer and developer, I’ve always been fascinated by the intersection of technology and play. I noticed that many game stores—both online and brick-and-mortar—struggled with outdated interfaces, clunky checkout flows, and limited customer engagement. I wanted to build something better: a platform that not only made shopping for games fun and easy, but also empowered staff and business owners with the tools they needed to run operations smoothly.

Setting the Vision

From the start, I knew BVG needed to be more than just a storefront. It had to:

  • Offer a beautiful, responsive UI for customers
  • Support a complex staff hierarchy with granular permissions
  • Handle real-time loyalty points and inventory updates
  • Provide robust analytics and reporting for business intelligence
  • Be secure, scalable, and easy to maintain

Real-World Challenges: State, Data, and Order Management

As the project evolved, I encountered several real-world challenges that pushed me to grow as a developer:

State Management Inefficiencies

Early on, I relied heavily on local component state and simple context for managing data across the app. As the platform grew in complexity—with features like live loyalty points, inventory updates, and multi-role workflows—this approach quickly became inefficient. I had to refactor large portions of the codebase to better manage global state, reduce prop drilling, and ensure data consistency across different user roles and interfaces.

Database Restructuring

My initial database schema was designed for a simpler, demo-level implementation. However, as requirements expanded, I realised the need for a more robust, normalised structure to support features like product archiving, order history, and granular user permissions. This meant revisiting and restructuring tables, adding new relations, and migrating existing data—all while ensuring the app remained functional and data integrity was preserved.

Retroactive Order Status System

One of the most challenging aspects was implementing a comprehensive order status system to handle updates, cancellations, returns, and refunds. I initially assumed that a simple demo-state would suffice for the academic scope of the project. However, after requesting clarification from my supervisor, I learned that a full, production-like implementation was required. This meant retrofitting the system to support complex order lifecycles, building new UI components for status management, and ensuring that all business logic (like inventory restoration and points reversal) worked seamlessly. It was a significant rework, but ultimately made the platform much more robust and realistic.

Lessons Learned

  • Design for roles from day one: Mapping out user roles and permissions early saved countless headaches later.
  • Type safety pays off: TypeScript caught many subtle bugs, especially in points and order calculations.
  • Real-time is hard, but worth it: Live updates make the platform feel modern and responsive, but require careful state management.
  • Testing matters: Manual and automated tests for points, orders, and permissions caught edge cases I would have missed.

What’s Next?

BVG is already a powerful platform, but there’s always room to grow. Some future plans include:

  • Extracting shared logic into custom hooks
  • Adding more granular order status tracking
  • Improving bulk operations for warehouse staff
  • Enhancing analytics and reporting
  • Expanding automated test coverage

Final Thoughts

Building Big Vision Games has been an incredible journey—equal parts challenging and rewarding. I’ve learned a ton about full-stack development, system design, and the unique needs of retail operations. Most of all, I’m proud to have created a platform that brings a little more joy and efficiency to the world of gaming retail.

If you’re interested in learning more or want to collaborate, feel free to reach out!

Explore more projects