Streaming JSON from OpenAI API
OpenAI APIs can take up to 10 seconds to respond. It's too long for a user to wait. So instead we should stream results to a user. It's easy with text, but dealing with JSON is not straightforward. This blog posts explains how to work around it.
8 October 2023
Change Jest mock per test
Changing implementation of Jest mocks per test can be confusing. This blog post will present a simple solution for that. You’ll see how each test can get its own mock for both constant values and functions. The solution doesn’t rely on using `require()`.
20 February 2021
Managing technical debt
Often engineering teams struggle with technical debt. They are busy with building features and fixing bugs, but that’s not going well due to a huge amount of technical debt. However, they hardly get any time to fix any of the debt. In this article I’m going to share my experience on how to manage technical debt and get it fixed.
30 January 2021
On being effective tech lead
Tech Lead / Lead Developer / (Whatever it is called in your company) is a very interesting role that combines technical work and leadership. I’ve been in that role at a few different companies and I’d like to share my thoughts on what you can do to be effective in that role. Equally, this article may also help you to decide if you want to try the role.
16 January 2021
Track a Virus: Open Source COVID-19 Dashboard
We live in desperate times. And more than ever we need to make decisions based on hard data and collaborate with each other. So in the spirit of that, I've released an open source [COVID-19 Dashboard](
11 April 2020
Move from Redux to MobX - reduce boilerplate
MobX is a statement management library. Unlike Redux it doesn't require a lot of boilerplate code. In this post we'll talk how you can benefit from using MobX vs Redux.
2 April 2020
Shallow rendering & React Hooks. And why shallow rendering is good
Now you can use shallow rendering for testing React components with hooks. And a few words on why shallow rendering is good.
5 March 2020
Gradual move to TypeScript. Running JavaScript and TypeScript side-by-side
TypeScript has a lot of advantages. However, it's not often that you are starting a brand new project. More often though you are working on an existing codebase and simply don't have luxury of rewriting everything from scratch. After all, we need to deliver new features and fix annoying bugs. But we shouldn't despair - it's possible to gradually move your projects to TypeScript - one module at a time - and run TypeScript and JavaScript side-by-side.
2 November 2019
Product Management in the Open - Testing MVP of B2C Product? You Need a Lot of Users
You have an idea for a B2C product, for a mobile app even. But you're worried about bugs & bad reviews on app store. So, you only release it for a very limited audience. That's probably wrong...
30 October 2018
Product Management in the Open - Value Hypothesis and KPIs
This post talks about setting a value hypothesis and related KPIs. It’s part of the ‘Product Management in the Open’ series. The goal of the series is describe the process of product managing a mobile app - Best in Town / Best in Edinburgh. This post describes my thinking back in the beginning of 2017. Not everything I did at that time was correct and I also try to reflect on some of the mistakes here.
16 October 2018

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way. My personal thoughts tend to change, hence the articles in this blog might not provide an accurate reflection of my present standpoint.

© Mike Borozdin