💻 Domain Name

post301.tech (registered with domain.com)

💡 Inspiration

Shipping is an off-putting part of online shopping, by the time you've shopped with 3 different retailers you've paid upwards of £15 just on shipping, I could've bought another T-shirt with that much, or gone out for lunch! Free shipping is often used as an incentive when you spend over a certain amount, but you're still spending more than you originally planned in the end... Well, what if there was a way to shop almost everywhere on the internet for up-to 24 hours while only paying a single low £4.99 shipping fee, well that's what Post301 aims to do.

I was tired of finding clothing that I loved at online stores and finding the hipping sometimes totalled more than what I was buying! Other times I would find expensive tech products that are already pushing the boat out a bit, and then they're adding £25 shipping on top, so I wanted to solve this never ending problem within the shipping industry as prices seem to endlessly increase.

👷‍♂️ What it does

Post301 is a postal redirection service cutting out the problem of sky-high shipping costs for online shoppers, allowing customers to place unlimited online orders with a variety of different retailers each day while only ever paying a small, simple flat fee for shipping.

This may be questionable as to how that works exactly but I have it all thought out. Post301 relies on many customers placing orders with retailers on the same day.

If 100 customers pay their £4.99 Post301 day pass and they all shop at an average of 3 of Post301's partners, each partner has an average postal charge of £3. With Post301 the customer pays no more than their flat rate day rate of £4.99, instead of the £8-10 they would've paid shopping with each individual retailer. All of the orders are then added to a tab which is all ordered at once, which means rather than £300 in shipping fees for one retailer between the 100 customers, the shipping only totals £3. approx. £0.03 per person.

The items are then shipped to a Post301 postal redirection facility, hence the name 'Post301' ;) where they are redirected individually with local postal services at an average cost of £3/customer included within their day rate.

If a customer shops with just 2 stores per day, they're already saving; bringing £6 down to £4.99, then £9 down to £4.99, then £12 down... you get the gist.

At the end of each day (11pm GMT) all orders are pulled from the 'orders' table in Supabase and sent to the respective retailers to to be shipped out to Post301 where all orders across all retailers are collected and bundled for each customer before being sent out to the respective customer.

📑 TL;DR

  • Post301 cuts shipping prices by mass ordering with other customers.
  • £4.99 flat fee gets you unlimited shipping for the day with all partner retailers!
  • At 11pm GMT orders are sent off to respective retailers from orders table which collects every order by retailer in JSON format.
  • Parcels are bundled and redirected to the end customer by the Post301 team.

❓ How I built it

I used NextJS, with Auth0 for login connected to Supabase as my database.

I used JWT to connect Auth0 accounts to the storage held in Supabase to authenticate each user and ensure that they can only access and edit their own data to keep other users and their data secure. This means that only if your Auth0 subID is the same as the one in the database table can you read that row.

I used React within NextJS to build the functionality of the forms and ordering. The shop maps a JSON array from a file to populate all available products (currently saved as a small range for the sake of time and testing) - each time a button is clicked it then runs a function to update the database tables to track that order, once in the customer's own row with just their data and once in the global orders table that tracks every order made on a per retailer basis.

💾 Technologies:

  • NextJS
  • Supabase
  • Git
  • React
  • Auth0

🚀 Use of Sponsor technology

🔗 Domain.com

I used Domain.com to register Post301.tech - the domain name that my project would be hosted on.

🤺 Auth0

I used Auth0 to provide authentication for my project - supporting simple login with minimal confusion during development. I linked Auth0 to Supabase using JWT access tokens to connect the Auth0 ID with a row in the Supabase table allowing for me to apply Row Level Security so that only if a user's ID matched the one in the row, could they access, or edit the data in that row.

Auth0 served as my login system and I used their NextJS NPM package to simply integrate it globally across the site.

⚡ Challenges I ran into

I ran into many challenges throughout this hackathon.

  • I had issues with Auth0 sessions expiring while I was idle, causing for the site to break, it took around an hour to work out what was happening but I solved it and it now works!

  • Row Level Security misconfigurations lead to difficulties accessing data within Supabase, however I was able to correct these issues and fix it.

  • Order buttons within the shop page were placing every product into the database, I was able to come to a conclusion on why this was happening and fix it to only behave as expected and order the single item that was ordered.

  • I ran into issues with creating and pushing to arrays in the database when they didn't already exist, but a bit of hacking later and it was all working and things were pushing into place as intended!

🌈 Accomplishments that I'm proud of

I am proud to have managed to complete this project from idea to finished product - I thought outside of the box and solved a real world issue on my own without the support of any teammates. I managed to take a break for time for myself even with the limited time too!

I successfully managed to integrate Auth0 a piece of technology I hadn't used before now and I am proud of that considering I had no prior experience or knowledge of how the product worked. To then be able to link Auth0 to Supabase, I'm very proud to have solved my own problems, fixed the bugs I met along the way and to have built something that works effectively and efficiently to integrate two great pieces of technology into my hack.

👨‍🎓 What I learned

I learned many things this weekend. I learned new things such as how to use Auth0 to support simple login within my web app, and also how to connect it with Supabase. I better familiarised myself with issues within the shipping and supply chain industry and managed to find an issue in it all and provide a solution, creating Post301.

Not only did I improve my skills in those areas, I also levelled-up my abilities in relation to React and NextJS, enabling myself to properly access and export server side rendered components with up-to-date information, as well as passing those props into the component to make them usable within the site.

📅 What's next for Post301

I aim to improve Post301 to include a full admin portal to track orders through the system, a functional payment system, an improved ordering workflow with a basket and spending tracker within the dashboard.

It would be amazing to one day have the opportunity to bring this product to life in the real world, partnering with retailers to offer a cheaper way to order all the things we love online!

Built With

Share this project:

Updates