Underdog.io logo

This guest post was written by Team Kinnek: (Johann, Jie, Paul, Karthik, Ruth, Rui, and Andrew)


How do you build a router for the B2B economy? A system that acts like a function mapping disaggregated demand from millions of small businesses to hyper local suppliers fitting their exact purchasing needs?

That’s our mission at Kinnek: we’re building the first online marketplace to connect small and medium-sized businesses (SMBs) looking to purchase equipment and/or supplies with tailored quotes from multiple suppliers. For our suppliers, we’re providing the first ever on-demand stream of customers ready to purchase on top of a set of tools to streamline and maintain lifelong business relationships with Kinnek buyers.

The current offline purchasing process needs a reboot. It’s bogged down by paper invoicing, trade directories and endless back-and-forth phone calls. Kinnek’s cloud-based platform connects buyers to suppliers selling at their desired price-point in a fraction of the time and effort. With 4.7 million SMBs buying $2.2 Trillion worth of equipment and supplies in the US alone… we have a huge sandbox to play in. Thankfully we’ve gathered a great team of people ready to address this massive inefficiency in the economy.

As an engineering-focused startup (both of our founders are developers and even our first business development hire studied Computer Science) we were quick to develop infrastructure to begin addressing this problem. However with a complex set of challenges to address, there will never be a shortage of exciting new products, features and systems for Kinnek to build. With a flat hierarchy that empowers everyone to be a problem-solver and strong emphasis on collaboration, we’re bringing a passion for technology to b2b purchasing.


Data and the Future of Kinnek

What really gets us up in the morning (or keeps us up at night) is the seemingly boundless potential of what Kinnek’s data can do for our users. Kinnek is the first marketplace of its kind, so we are getting an unprecedented look into how small businesses interact. Figuring out how we leverage that transactional and behavioral data to help buyers make a purchase (or help suppliers win new business) is an exciting challenge that involves engineers at every point in our stack, along with data science, marketing, design and product teams.

The “core” functions of our marketplace have worked well for a while: a prospective buyer can submit a request for quotes, a supplier can respond with a quote, the buyer and supplier can negotiate and/or close the deal. Recently, we have been focusing on enhancing core functions with features that deliver data-driven insights. We are providing innovative glimpses into the world of purchasing, b2b transactions and customer connections. For example, we recently built an interactive widget that allows buyers to explore how small changes in their requests can impact the range of quote prices they receive, providing transparency into a marketplace that was previously opaque. We’ve also provided data-driven filters on the supplier-side interface that sift through any given number of potential customers to target those ready to buy, saving suppliers countless hours a week in follow-ups.

Deploying features like these requires close collaboration between our backend engineers and data scientists to figure out efficient ways of performing and storing often resource-intensive calculations. At the same time, our frontend engineers and product team work closely to seamlessly fold new features into the Kinnek user experience. This a small team, so each member of Kinnek has a tangible impact on the process. Read on to find out more about our architecture and tech stack.


Programming Languages

At Kinnek we love to roll up our sleeves and get our hands data-dirty to provide valuable insights for the team and our users. In that respect, building our backend in Python was a no-brainer. With the versatility of Python we can build powerful analytical tools using packages like SciPy and NumPy then seamlessly integrate them into web APIs without having to switch languages, which allows us to rapidly test, deploy, and iterate on new ideas for how to put our data to work for our users.

The vast majority of our users are small business owners, purchasing managers, or salespeople – generally people at a desktop or laptop for a large portion of their day – so our frontend is primarily a browser-based experience built in HTML, CSS/SASS and JavaScript with an emphasis on responsive design. While we want to keep our growing number of mobile users happy without needing to allocate separate resources to building a native mobile app, nothing is out of the picture in the long run.


Web Frameworks

We chose Django as our main backend framework. We found it was worth the extra learning curve over simpler, more lightweight Python-based frameworks like Flask because of all the tools and goodies that come straight out of the box like the ORM layer and admin interface that you can configure with a couple lines of code. On the frontend we use Angular, sass and gulp.


We use MySQL for permanent storage because our data is highly relational and MySQL is fast, reliable and well-supported. We’ve also become big fans of Redis, which we use for just about everything other than permanent storage, from temporarily caching denormalized data for quick lookups to acting as a broker for our distributed task queueing system. We maintain a separate Elasticsearch cluster to handle the heavier search queries from our users.

DevOps Tools

We manage code deployments and configure new environments and AWS cloud resources using our own custom (mostly Fabric-based) devops system, deliciously named Dabbawala. We keep close tabs on app and infrastructure health with both New Relic and Datadog.

Kinnek is actively looking for experienced and talented engineers hungry to build something truly great. Find out more here.

Get your resume in front of top startups in 60 seconds →

Sign up for Ruff Notes

Every week we send out a newsletter called Ruff Notes with our personal thoughts on something interesting we’ve read, as well as product updates and news from our community.