Quick setup overview
There are multiple repos
- Main backend
- Main frontend - the users and indiahikes.com view
- Back office front
I was on a break from my full time, for couple of months I travelled around and sorted some of the personal work, I was looking for some freelance gigs and came across IndiaHikes that they were looking to hire folks. I love outdoors and hike a lot, since it’s relatable I went ahead and reached out to them.
Started off as a Senior frontend engineer, they wanted be to focus on performance issues they were having, major costs that they were paying, I started off with that but in 2 months, I was pushing for more here, providing inputs on full stack systems and not just frontend, since from the experience I am a full-stack engineer, although it was not my full time and was not putting in many hours in a day. They then wanted me to lead the frontend team. Since then my major role was to cut down costs. I have been using all the past experienced and fixing loose ends, making new additions wherever necessary and automating many things.
From the start, I have lead major improvements and new additions into the base of the tech here at IndiaHikes.
- The biggest noticeable thing I have been major part of was cutting down expenses.
- Prismic is extensively used at IndiaHikes for the Main frontend and the whole content team of ~40 folks always update use it regulary on daily basis.
- Although pages are statically generated, the billing was growing exponentially.
- With an approach I spear headed, collaborated and got it out asap, we were able to reduce costs by ~74% on Prismic alone. We are now on the safest limit and even comfortable to stretch more. This was achieve by aggressive caching, which was extensively debated and discussed with colleagues before we proceeded. This is what I liked about the project more to be honest. The whole procedure of it, that we went through.
- Focusing more on security, making the base and the whole DevOps stable.
- Setting up preview deployments for backend, where monolithic bare metal setups, so that devs could have their own environment. The frontend was already using Vercel, so this was sorted on frontend team. This includes docker / Keyclock / Nginx / Mysql etc setup
- Analyzing logs and issues, setup Axiom for this and pushed for backend team to onboard as well. Now, we as a team use analytics and data logging to dig into better decisions.
- Performance reports and enhancements suggestions for junior teams to address.
- E2E test setup using Playwright for the frontend repos
- Automating deployments and changelog through GitHub actions
- Pushing towards more documentation culture, working in an async way.
On the fun side, during my North India hike trip (Story for another time), I even got to stay at one of IndiaHikes campuses in Manali and explore.
The team, the people, founders and lovely, great to talk to, experienced and are experts in their own fields. When I joined, I only had one motive, to have meaningful impact, rather than just contribute code to the clog or random things. I believe I have touched that part and been doing that since.