How Kapiche’s Engineering Team is building the world’s best natural language processing engine.
Welcome to our Meet the Team series! Below, Caleb Hattingh (Head of Engineering), Ashwini Balnaves (Software Engineer) and Dana Mison (Software Engineer) reflect on what they have managed to achieve in a small team and the upcoming technical challenges on as we scale.
For those who aren’t familiar, what is Kapiche?
Kapiche is a new customer insights product for connecting the dots between what customers say and the key business metrics which decision makers care about (such as revenue, retention, LTV etc).
Many organisations collect large volumes of customer/user feedback, however current solutions for uncovering actionable insights are slow and prone to human bias. Hand coding is the process of manually sorting qualitative data and making sense of it. The downside to a manual approach is it can take some insights professionals up to 2 months to comprehensively make sense of a single data set. The other approach is to random sample or skim through feedback to pull out common themes. This is, however, prone to human bias. Enter Kapiche.
Using Natural Language Processing (NLP) to analyze and understand customer feedback at scale, Kapiche provides an extremely economical solution to uncover deep and meaningful insights in customer data — fast. Imagine a world where insights can be uncovered in 2 mins rather than 2 months. This is a world where customers/users are surveyed more frequently and decision making velocity and impact is improved across the entire organization.
Tell us about your backgrounds?
Ashwini: I started studying engineering and chose electrical as my major, though I found myself adding more and more software-related courses since I enjoyed them so much. I ended up graduating with computer engineering as my second major but it wasn’t until I got an internship at a later stage startup, doing purely software engineering that I discovered how much I really loved it. For me, it’s a way to combine being really creative and almost artistic with the engineering mindset. During that time, I got to take part in a Startup Catalyst Youth Mission (in 2017), a 10-day immersive mission to Silicon Valley for tech savy youths and I decided I needed to get back into the startup life.
Dana: I first learnt to program BASIC on a TRS-80 CC2 in like 1985, which I promptly forgot all about for years! Most of my working life has been in technology as a technical writer or software support and I only really started programming professionally a few years ago. Since then, I have grown to have a preference for the frontend development. I was at the end of a contract, and a friend mentioned that Kapiche were hiring. We had coffee, and my initial reaction was “these people just seem really nice” and throughout the interview process, this reinforced my impression…. And they seemed to have liked me too as almost a year later I’m still here. 😉
Caleb: I have been programming for over 20 years, specialising in Python. I have a Masters degree in Chemical Engineering and consequently have written a great deal of scientific software within chemical engineering, such as dynamic chemical reactor modelling, but also in other domains like hospitality software (CRM & Financial), GPS tracking, and software-defined networking. This year I had a book published, ‘Using Asyncio in Python’ with the aim to help others how to learn how to use it. Years ago I had tried to use the very-new Python library “asyncio” and discovered it was very poorly documented which made learning it very difficult, so I am glad to be able to pass that knowledge on.
What are some of the technical problems we’re solving right now?
Caleb: The work required to improve our performance on large data sets as we scale is currently top of our list. That involves architectural changes that need to be made at the same time as supporting existing customers, all whilst maintaining the current system. It’s a delicate balance!
The biggest problem we are solving right now is one of scale. We’re finding that we’re dealing with a scale of data that we have not had before.
Dana: I would say that making very large datasets performant in the frontend and moving the frontend towards a more push style architecture is something that I am currently solving.
Ashwini: The biggest focus for me right now is to reduce the barriers to using parts of the product for our customers. I am working on decreasing time to value for them. I’m throwing lots of stuff at the wall, including developing integrations with survey providers, adding targetted and guided onboarding journeys for different user roles, experimenting with data cleaning in product, and of course improving our performance for the increasingly large data sets we are needing to support.
What tools and technology does the team use?
Ashwini: We run our backend on Kubernetes and Docker. The text analytics engine is set up in a way where we can deploy in the same geographic area as our customer’s location. We’re also building up our test coverage and CI/CD system (which I find super exciting!). We also use a lot of the usual communication tools like Google Docs, Zoom and Slack (We are slack heavy!)
Dana: PyCharm is the go-to for most of the team, but I still swear by VSCode. A terminal open with docker-compose in one tab & webpack dev-server in another and whichever git client currently has my favour (GitKraken ATM). GitHub is where we keep our code & do code reviews and clubhouse.io is our issue tracker.
How do you collaborate on the Engineering team?
Caleb: Our primary means of collaboration right now is the daily stand-up. We organise ourselves in fortnightly sprints a la scrum, but I reckon we are closer to Kanban than Scrum in terms of organising our work. With a small team and paying customers, we have to change priorities frequently depending on what is needed at the time.
Ashwini: We all have shared ownership of the tech stack so there’s lots of freedom to do work in an area that you’re interested in without stepping on each other’s toes. Collaboration outside of our immediate team sees us have to manage different stakeholders in a small company so we are in constant contact with everybody else in the business.
Dana: Right now, there is a lot of Slack & Zoom with us working remotely for a good portion of the week. Because we’re a small team, I’m not confined to just working on one aspect of the product and we regularly review each others code.
What’s the team culture like?
Dana: I love that they are always open to new ideas or a better way which gives you a huge sense of ownership. That mix brings a broader range of ideas to the table and I’ve learned how to think beyond my own viewpoint.
After almost a year here, I feel like our team is patient, curious & always learning.
Caleb: As Dana mentioned, there’s a real diversity here in terms of how people think. Everyone knows their opinions matter and I have tried to foster a working environment where everyone feels safe to ask or answer a question. Further than that I’m really proud of the team, we have done an incredible amount of work for a small team, and I have every expectation of that continuing as we scale the business.
We’re definitely a group of people that care deeply about what we’re building here
Ashwini: Everyone in the company has high expectations of themselves (not just in the Engineering team) and I feel like that permeates into the overall Kapiche culture. We’re definitely a group of people that care deeply about what we’re building here. Caleb is a great mentor — He has an art of pushing people out of their comfort zone, whilst holding out the safety net, which often leads to you achieving more than you thought you could.
What’s challenging about working at Kapiche?
Ashwini: Kapiche is a hardworking place, the whole team has a high bar and is driven by the opportunity we see and can solve. There’s a lot of cross-functional interaction too — we work with designers, product, Customer Success, Sales so if your the type of person who isn’t comfortable with that you might find that challenging.
Caleb: There are definitely growing pains and you need to be okay with the fact that priorities shift. And of course, getting to this phase comes hand in hand with some technical debt, which we have to work on alongside new features our customers need.
Dana: It can seem overwhelming at times, there is a lot to do; definitely no time to be bored!
Why is now a good time to join the team?
Ashwini: The stage that Kapiche is at is super attractive because you get to be involved in a large scope of work. I recently jumped on a customer call with Tami from our Customer Success Team and hearing direct customer feedback that people haven’t seen what we’re doing before is not only exciting but rewarding for me personally.
We have a good understanding of the direction we are going, and game plan. We don’t have everything worked out but we’re in a really good place.
Caleb: Working on a scaling platform is one of the high-value career goals of a software engineer. And as Ashwini mentioned, we are in a good place and seeing the momentum. With the intensity of the work we have right now, for people who are driven, they will enjoy that. Further to that, there is an opportunity for all current (and future) team members is to be part of the foundations of Kapiche, and not just in Engineering, but the overall company culture as well.
Dana: We’re a small team that is set to grow and we do have a lot of flexibility in terms of when and where you do your work. There is a lot of opportunities to jump in and take ownership of things that you care about and be a part of defining where we go. Also Caleb runs a D&D game that Ashwini, myself, our partners & a few friends play in. Awesome place to work AND a regular tabletop group!
🙋♂️Want to with Kapiche’s Engineering Team?… Check out our open roles and apply today.
🏆 Interested to learn more about Kapiche for your organization? Watch the demo video.