It’s been a great time at CarNextDoor. It’s time to move on, but before we go, I’d like to note where my efforts have been in the last 20 months.
Product manager
At times I was holding a product manager role. These are the features and products I designed and built
- Ride Next Door
- Recipes
- Data analytics
- Key exchange
Recipes
Car Next Door has a lot of internal processes for dealing with customers. For example, onboarding a car onto the platform involves at least 4 people at different times. And that's one process for one car. There are hundreds of new cars to deal with every week. Everything was organised through a series of spreadsheets. However a process was error prone and was failing more and more as the company grew.
I was asked to provide the solution for it. I came up and developed an internal workflow system. It’s much simpler and easier to understand in comparison with traditional workflow systems. It’s flexible and powerful. The operations people found it useful and at the time of leaving it was the main tool for the car's internal processes.
Architecture
These are the areas of app architecture which I lead:
- Transitioned search from Solr to Postgres search
- Form objects
- Service objects
- Decorators
- API Serialisers
- Feature flags
API
At the time the mobile app was under active development. And I was in charge of implementing API to support a mobile app. There already was a failed attempt to implement api called v0. It had numerous issues. There was no clear structure or serialisers, everything was done on an ad-hoc basis. API functionality was inconsistent to web functionality and was running duplicated logic which wasn’t updated as the business grew.
My focus was to make a consistent and reliable API. While the API architecture itself didn’t take much time, it was much harder to refactor business logic. That required refactoring and moving code from controllers to services objects.
Analytics
After the API dev work I was focusing on transitioning the company to be more data driven. Before there were little to none insights on the customer’s behaviour and patterns. The first part was convincing how valuable it was and then executing on the promise. Mixpanel.com was chosen as a platform. All the relevant data was fed from the majority of services: emails, website, mobile app, backend, user surveys, A/B tests. That allowed us to better understand the customers and their full experience with the platform.
Slack Roulette
Slack Roulette is a slack chat bot that I wrote to improve cross department collaboration. Every week the bot matched pairs of people to catch up. It was loved across departments and connected people who would never have the opportunity to talk.
Other mentions
- Improved tests run time from 14 to 5 minutes and decreased the number of parallel groups
- Deprecated Solr in favour of Postgres search
- Deployments used to be once every few weeks by one person. I was pushing to have automated deploys but we got close. Manual deploys at least once a day and every developer can do it. Introduced release manager role.
- Implemented custom Rails form builder
- Wrote app: Thank you can generator
- Wrote app: Avatar generator
- Improvement of internal dev processes (PRs, tools, flow), introduced Asana
- Improvements to meetings in the company (company, retro, planning)
- Involved in hiring and mentoring
- Improvements to internal tooling (datatables)
- Project management of a pivot project