Kalpit Jain
Overview
This platform was envisioned to enable a restaurant for home delivery of food orders, without relying on any aggregator. It’s an end-to-end solution, i.e. customers can place their order online and the restaurant will receive/manage the orders on the same platform.
Problem Statement
The client, owner of a restaurant chain in New York City, was facing sustainability issues by solely relying on leading restaurant aggregators. First, the aggregators would take a significant chunk of their revenue per order as fees and charges. Second, there was limited support for large orders and orders scheduling.
Goals and Objectives
To develop an intuitive, end-to-end platform for facilitating online food ordering.
To ensure the system has all essential features in line with the leading restaurant aggregators.
To build a restaurant-facing companion web app for managing orders, multiple food menus, multiple delivery zones, discount coupons support, and payment processing.
To develop a modern web app using React to provide a better user-experience.
Tech Stack
Backend: Django (Python), Django REST Framework
Frontend: React, Next.js
Database: PostgreSQL
Cloud Services: Digital Ocean
Payment Processing: Square, PayPal
Others: Django Channels, Google Maps Platform, Docker, Git.
My Role
I wore multiple hats during the planning and development of this project. I was responsible for the development of this product from inception to launch. I designed the complete technical architecture, backend, frontend, and also handled communication with the client and designer.
Challenges & Solutions
Huge Undertaking and System Design
At the time, it was a huge undertaking for me. I was solely responsible for various technical decisions, system design, architecture, and direct communication with the client.
Solution: I took on all of the roles by following strict discipline and time-management. Asked for help from industry experts for the skills I was lacking and kept regular communication with the client.
Real-time Updates and Complex Product Attributes
A crucial aspect of ordering food online is getting the order updates instantly, without failure. Additionally, the functionality of product attributes (food customization options) is significantly more complex than a typical online product store.
Solution: I leveraged WebSocket technology to build a reliable real-time updates solution. It worked seamlessly and provided order updates to the restaurant without any human intervention. I also implemented a sophisticated custom product customization feature to support the nature of the business requirements.
Outcome & Impact
The restaurant was able to implement to platform in their workflow with minimal effort.
Increased revenue of the business significantly by eliminating the exorbitant charges paid to aggregator platforms for the orders serviced through this solution.
Provided state of the art user experience to customers, along with additional features such as placing large food orders.
Reflection
Working on this project deepened my understanding of system design and architecture. I also improved by communication skills significantly as I worked with the client directly to understand their requirements.
Screenshots