Hello World!

Journey from Google Sheets to a full-fledged Platform

In June 2022, Bharat and Shashank, both Amazon alumni, started Xhipment – a cross border logistics platform. The first order came in July 2022 and as the engineering team was yet to be hired, they started the business on Google Sheets and engaged an agency to integrate a frontend using HTML, CSS, and JS onto the Google Sheets. This obviously wasn’t scalable but helped in building a deep understanding of customer requirements and allowed quick iterations.

At that same time, I was exploring job opportunities, and a friend of mine shared my resume in a Founders’ WhatsApp group. It was through this group that I connected with Bharat.

Bharat and Shashank did the first round of interviews. We liked each other so Bharat got me to speak with one of his friend’s who was a senior developer at Amazon. Our professional vibes matched, and there was a positive connection. However, for various reasons, we collectively decided not to proceed with the opportunity at that time.

After 2-3 months, Bharat reached out to me, asking if I was still open to join Xhipment. I had another offer but was not keen on it as I wasn’t sure of that company’s culture. So I decided to onboard the Xhipment Ship and accepted the offer.

From day one, I started the transition from Google Sheets and the front end developed by the agency to an in-house codebase using the MEAN Stack. I chose MEAN as I know it well and could start development immediately. Srikrishna was the Product Manager who partnered with me on this transition. He wrote the requirements, came up with wireframes and I did the end to end development (both front and back end). We did a 10 day marathon and successfully migrated the entire functionality to a well-structured application built using the MEAN stack, complete with robust authentication mechanisms.

On December 11, 2022, we officially launched our new web application. As part of this transition, we also moved all our operations to AWS, including domain management. This was particularly important as earlier we used the Gmail SMTP which often led to emails being flagged as spam.

We also started expanding our team and hired two developers – Rishabh, a front-end developer with a passion for design who would also do UI/UX, and Sudhir a full stack developer. With Rishabh and Sudhir on board, we decided to move away from Angular and migrate to React. Our codebase at that time was much smaller and as both developers were proficient in React it would allow us to move faster vs learning Angular from scratch.

Xhipment operates with two distinct portals: the XAP Admin portal for internal processes across Customer Success, Operations, Finance etc. and the XCP Customer-facing portal, along with a dedicated landing website. The entire codebase is managed on GitHub.

We believe in an API-first approach - our front end and backend maintain separate codebases, communicating exclusively through APIs. We have two identical environments – one for testing and the other for production. The test environment is internal, where we fix bugs and conduct User Acceptance Testing (UAT). It is completely isolated from the production environment allowing us to test and iterate quickly.

For seamless deployment of our front end, including three production instances and three test instances, we leverage AWS Amplify. This deployment process is orchestrated through a robust CI/CD mechanism, simplifying the workflow. Pushing code to the respective Git branches triggers these deployments, streamlining our development and release cycles.

Our UI/UX design and wireframing is done on Figma. We have implemented a comprehensive review mechanism that involves the initial documentation of all requirements by the Product Manager. Subsequently, wireframes and prototypes are created and presented to all stakeholders before we start development. This ensures a collaborative and inclusive approach, allowing for feedback and validation from key stakeholders.

Our backend services are developed in Node.js and JavaScript, utilizing Express.js as the framework. For real-time communication, we incorporate socket.io into our architecture. The entire codebase is deployed on an AWS EC2 instance. Initially, we deployed it on a t2.micro instance, which was sufficient but as we grew, we migrated to a t2.medium instance.

We don’t use Docker or Kubernetes instances. This decision aligns with our philosophy of avoiding over-engineering, especially considering that we haven't encountered any significant technical challenges so far. Our approach centres around building solutions and enhancing scalability based on data analysis.

Our data warehouse uses an AWS RDS instance, which synchronizes data with our MongoDB instance at five-minute intervals. Prior to pushing data to the data warehouse, we implement a data masking process to safeguard confidential information. The data warehouse serves as a robust platform for data analytics, helping our business team make informed decisions.

In conclusion, Xhipment has undergone a transformative journey, evolving from its inception on Google Sheets to a fully-fledged cross-border logistics platform. The strategic shift to MEAN Stack, the collaborative efforts in product management, and the adept handling of UI/UX improvements showcase our commitment to innovation and efficiency.

Stay tuned for further updates!

Happy Xhipping!!