Cognito in Flutter

Introduction When we started working on a new Flutter application, we made a decision to minimize or completely avoid the use of AWS Amplify. We’ve come to the agreement on using AWS Cognito to manage User Authentication since it provides a lot of things for us out of the box.…

Continue ReadingCognito in Flutter

How to validate your startup value proposition without building

Photo by Leon on Unsplash The first thing you should understand is - if this problem exists for people. Validating the problem is often called customer discovery. Product validation is an essential first step for building any new product or business. It shows if the market really needs your product.…

Continue ReadingHow to validate your startup value proposition without building

Estonian ID card authentication using Nginx and CORS

Authentication in web apps using an Estonian ID card with Nginx is pretty straightforward (although quite unstable). Initial setup Simple ID card authentication boils down to: Enable One-Way TLS on your main domain (e.g. app.example.com)Enable Two-Way TLS on a secondary domain (e.g. id.example.com) using the ID card certificate chain.Redirect user…

Continue ReadingEstonian ID card authentication using Nginx and CORS

Assigning static IP address for Google App Engine

Why? GAE(Google App Engine) is a great choice for developers who want to build and deploy applications in a minute. Thanks to a fully managed serverless platform, you are free from the painful server configuration for deployment as well as automatic scaling. But there is a problem that comes with…

Continue ReadingAssigning static IP address for Google App Engine

Using Emscripten/WebAssembly in web workers and interacting with native C/C++ code concurrently

What problem are we trying to solve? JavaScript runs in a single thread per web-page in the browser. This limitation prevents CPU intensive work on client side (encoding/decoding, complex calculations, etc...). Let's see how WASM and WebWorkers help pull through these problems by porting native C/C++ libraries to the web…

Continue ReadingUsing Emscripten/WebAssembly in web workers and interacting with native C/C++ code concurrently

Frontend testing focused on behavior rather than implementation

Most of our projects use codecov.io to check code coverage and improve review process. But high code coverage value itself is not telling anything about quality of the code and tests, so we always try to improve the way we test our products.  You can read about our mutation testing…

Continue ReadingFrontend testing focused on behavior rather than implementation

Reducing boilerplate with Redux Starter Kit

Every time we start a new project we do a retrospective and look back at our previous projects and try to evaluate which technical choices were good and where we might have gone wrong. Usually we are pretty happy with our Kotlin + Spring Boot + Postgres based backend, but at least I personally have constantly…

Continue ReadingReducing boilerplate with Redux Starter Kit