Catch bugs systematically: how to build a GitLab CI testing pipeline in 4 steps

Your first app is a hit the day it’s launched. But one week later, you realize that it has no retention. You discover that this is because whenever a user clicks the “send” button, their comments get posted twice.

The bug was so minor, but it killed your momentum. But that’s okay. For your second app, you and your partner check more carefully. You both click, click, click your app all day and night to prevent minor bugs like that from happening again.
Continue reading “Catch bugs systematically: how to build a GitLab CI testing pipeline in 4 steps”

A spreadsheet-based API for building MVPs.

What do you do if you have a site you want to update once in a while? It’s not a blog, so you don’t want WordPress. It’s also not worth building a customized backend. In developer-speak, we would think about a remote data hosting to store the data for semi-dynamic websites or applications.

So we made a free open source tool APITable for that, which converts tables to JSON API.
Continue reading “A spreadsheet-based API for building MVPs.”

An IoT Side Project: Chima-open-door

My company’s Internet of Things (IoT) side project began when we couldn’t reset the door lock that we inherited from a previous tenant. It was one of those minor details we learned about after moving in to our new last-minute office.

Normally, people just pay for a new one. But our team was too cheap to replace the lock and no one ever wanted to get the door bell. Plus, we’re engineers and we wanted to fiddle with some hardware.

Our goal was to open the door with a phone or wearable technology. We had several options for how to approach the problem. In theory, we could use an app, an integration into another platform, or anything that could send a signal to trigger the door lock.

So far in our door lock experiment, we’ve developed solutions for a Slack integration, native iOS and Android apps, the Apple Watch, and Pebble. I’ll focus on the architecture of the mobile apps. I admit the final product is a bit over-engineered, but we just love it!
Continue reading “An IoT Side Project: Chima-open-door”

How I built a Kubernetes cluster so my coworkers could deploy apps faster

How do you encourage your development team to build more projects without being bogged down with deployment? As a company that builds mobile and web products, it’s a priority that we create an environment where our team members focus on building rather than deploying.

But even if we have a deployment platform, we’ll still need someone to manage the administration. As engineers, anything we have to repeat, we want to automate.

What would be a secure way to give our developers access to our deployment platform?

  1. We want to allow our developers to build their own projects (perhaps personal) without needing to ask an administrator for permission or resources to deploy a new application for testing or experimenting
  2. Our developers can deploy their own application, update it, or remove it
  3. Lower barriers for trying out new things (so to speak)
    Continue reading “How I built a Kubernetes cluster so my coworkers could deploy apps faster”

Using Tensorflow and Support Vector Machine to Create an Image Classifications Engine

pixabay ai tensorflow post

In this post, we are documenting how we used Google’s TensorFlow to build this image recognition engine. We’ve used Inception to process the images and then train an SVM classifier to recognise the object. Our aim is to build a system that helps a user with a zip puller to find a matching puller in the database. This piece will also cover how the Inception network sees the input images and assess how well the extracted features can be classified.
Continue reading “Using Tensorflow and Support Vector Machine to Create an Image Classifications Engine”