2026: My All-In Year on Convex
After years of searching for the perfect database solution, I finally found Convex - the database I always wanted. Here's why I'm going all-in.
Longer-form notes on building AI-first experiences, developer tooling, and product strategy.
After years of searching for the perfect database solution, I finally found Convex - the database I always wanted. Here's why I'm going all-in.
A custom video player for time-traveling through coding sessions with activity tracking.
Site should look good on mobile devices now.
Excited to start sharing my thoughts, ideas, and experiences with the world again.

Lambdas handlers can be invoked with many different, but always complex, event arguments.

From time to time you might need to expose your locally running service to the external world

From time to time I still see a for loop in JavaScript codebases. Linters are frequently angry about them.

Now, starting with version chimp@4.1.2 if you just want to use a scalar in a given module, but do not want to redefine it, use @predefined directive.

I go through the preparation of the official Apollo Platform Tutorial App for adding Chimp to it.

Managing dependencies between Lambdas and DynamoDB tables can get ugly.

We've just released a new version of the cypress-cucumber-preprocessor package.

We've noticed that resolver was frequently unused and left a significant amount of unnecessary code in projects

Introducing useComplexState hook, a small wrapper combining Redux Toolkit, useReducer with some extra syntax sugar to make things even simpler and more to the point.

How to work with dates and other non-deterministic variables.

If you work on independent packages (or maybe even open-source npm modules - in which case I salute you!), you probably use the link functionality.

Watch me go through the advantages and disadvantages of different ways of using hooks for dealing with state in React.

We are happy to announce that the example showing many advanced patterns related to GraphQL usage is updated to Chimp 3.0

A video about rapid prototyping with JavaScript

This article is based on my notes from adding chimp to an existing app

If you have been doing serious work with GraphQL over the last few years, you surely saw this error at one time or another

We've rewritten Chimp to use TypeScript and the fantastic CLI Framework called Oclif.

What do you do when you are in need to figure out a complex type?

Frequently when you work with an open-source repository you might accidentally commit your .idea folder to it.

An example of passing a class to a function in TypeScript

To do integration tests with your DynamoDB Toolbox setup, it's important to be able to run tests in isolations.

I'm playing around with DynamoDB Toolbox, and one thing that wasn't clear in my mind was how do I actually create a table using the definitions I made using Toolbox.

Deploying the whole stack whenever you want to check your changes is tiresome and boring.

Having multiple independent lambda functions is great, but it comes with a price of difficult monitoring.

Disappearing history entries were bugging me for a long time. I would try to look for a command that I KNEW I recently typed, but it was gone.

We wanted the TypeScript Lambda experience to be seamless - if a developer wants to create a new function, he should create a typescript file, add it to CDK and that's it.

DynamoDB is a fantastic database, but so far it misses a nice abstraction that would make you more confident that the code you write is correct.

With the new version chimp allows you to set up custom prefixes for your chimp apps.

Let's assume a structure of two files, first a file with a function that calls a separate function and performs some logic based on the information received

With this tiny plugin, you will be able to see ONLY RELEVANT console messages.

Using GraphQL as your aggregation layer for your microservices is great, but writing all the code for connecting to them is not.

Let's take a look at how using chimp can benefit your workflow when working on GraphQL Apollo Server.

One day you might decide your app became so large that it would be great to develop smaller chunks of it in isolation
![Adding Semantic Release to an old Babel Plugin [Live] (2/2)](/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F66d9c8ce74a4739309e271dd%2F66fffc28a512e58d01b45c0b_%2520.webp&w=3840&q=75)
In the second part of the live coding with babel-plugin-ignore-html-and-css-imports package, I'm adding the Semantic Release through Github Actions to it.
![Working with Legacy code. Feature for IBM in an old Babel Plugin [Live] (1/2)](/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F66d9c8ce74a4739309e271dd%2F66ff8867c2140e7fdeeaca9f_jeshoots-com-VdOO4_HFTWM-unsplash.webp&w=3840&q=75)
In this episode, I'm adding some tests to an old babel-plugin-ignore-html-and-css-imports package.

Remove all untracked/ignored files and directories excluding .idea and .vscode folders, list things to remove, and ask for confirmation first.

Taking this opportunity, I'm excited to introduce a package that I hope will make it much easier to test your precious services — federation-testing-tool
A custom video player for time-traveling through coding sessions with activity tracking.
Site should look good on mobile devices now.
Excited to start sharing my thoughts, ideas, and experiences with the world again.

Lambdas handlers can be invoked with many different, but always complex, event arguments.

From time to time you might need to expose your locally running service to the external world

Now, starting with version chimp@4.1.2 if you just want to use a scalar in a given module, but do not want to redefine it, use @predefined directive.

I go through the preparation of the official Apollo Platform Tutorial App for adding Chimp to it.

Managing dependencies between Lambdas and DynamoDB tables can get ugly.

We've just released a new version of the cypress-cucumber-preprocessor package.

We've noticed that resolver was frequently unused and left a significant amount of unnecessary code in projects

How to work with dates and other non-deterministic variables.

If you work on independent packages (or maybe even open-source npm modules - in which case I salute you!), you probably use the link functionality.

Watch me go through the advantages and disadvantages of different ways of using hooks for dealing with state in React.

We are happy to announce that the example showing many advanced patterns related to GraphQL usage is updated to Chimp 3.0

A video about rapid prototyping with JavaScript

If you have been doing serious work with GraphQL over the last few years, you surely saw this error at one time or another

We've rewritten Chimp to use TypeScript and the fantastic CLI Framework called Oclif.

What do you do when you are in need to figure out a complex type?

Frequently when you work with an open-source repository you might accidentally commit your .idea folder to it.

An example of passing a class to a function in TypeScript

I'm playing around with DynamoDB Toolbox, and one thing that wasn't clear in my mind was how do I actually create a table using the definitions I made using Toolbox.

Deploying the whole stack whenever you want to check your changes is tiresome and boring.

Having multiple independent lambda functions is great, but it comes with a price of difficult monitoring.

Disappearing history entries were bugging me for a long time. I would try to look for a command that I KNEW I recently typed, but it was gone.

We wanted the TypeScript Lambda experience to be seamless - if a developer wants to create a new function, he should create a typescript file, add it to CDK and that's it.

With the new version chimp allows you to set up custom prefixes for your chimp apps.

Let's assume a structure of two files, first a file with a function that calls a separate function and performs some logic based on the information received

With this tiny plugin, you will be able to see ONLY RELEVANT console messages.

Using GraphQL as your aggregation layer for your microservices is great, but writing all the code for connecting to them is not.

Let's take a look at how using chimp can benefit your workflow when working on GraphQL Apollo Server.
![Adding Semantic Release to an old Babel Plugin [Live] (2/2)](/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F66d9c8ce74a4739309e271dd%2F66fffc28a512e58d01b45c0b_%2520.webp&w=3840&q=75)
In the second part of the live coding with babel-plugin-ignore-html-and-css-imports package, I'm adding the Semantic Release through Github Actions to it.
![Working with Legacy code. Feature for IBM in an old Babel Plugin [Live] (1/2)](/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F66d9c8ce74a4739309e271dd%2F66ff8867c2140e7fdeeaca9f_jeshoots-com-VdOO4_HFTWM-unsplash.webp&w=3840&q=75)
In this episode, I'm adding some tests to an old babel-plugin-ignore-html-and-css-imports package.

Remove all untracked/ignored files and directories excluding .idea and .vscode folders, list things to remove, and ask for confirmation first.