Company

Interning at Nimble

Interning at Nimble

The real and fun story of Fikri who interned with us for 7 months.
Nimbl3 is now Nimble

Nimbl3 is now Nimble

Today is a big day for us. Nimbl3 is now Nimble.
How We Grow and Learn

How We Grow and Learn

Continuous learning is our motto. We share how we foster an environment in which learning is encouraged and most importantly materialised.
My Internship at Nimble

My Internship at Nimble

Our multi-talented Natcha Pongsupanee shares her experience during her 7 months internship.
Working at Nimble

Working at Nimble

Behind-the-scenes view of what a typical week is like to work with us.

Product

Product Backlog Ownership — Why It Matters

Product Backlog Ownership — Why It Matters

Have you ever loathed a Product Owner for complaining about this one small change that you made in the backlog? Here is why they got frantic.
From Pivotal Tracker to Clubhouse

From Pivotal Tracker to Clubhouse

The reasons why we chose to move from Pivotal Tracker to Clubhouse for Agile product development.
Code Reviews: A Tale of Two Developers

Code Reviews: A Tale of Two Developers

Pocket handbook for reviewee and reviewers to get the most of code reviews.
Supercharged Product Planning

Supercharged Product Planning

We share our worflows for fast and efficient product planning

iOS

Modularizing iOS Applications with SwiftUI and Swift Package Manager - A Modern Approach

Modularizing iOS Applications with SwiftUI and Swift Package Manager - A Modern Approach

Learn how to break down your app into smaller, more manageable components and take advantage of the benefits of modularization using SwiftUI and the Swift Package Manager.
Adding Dynamic Custom Typing to your iOS Project

Adding Dynamic Custom Typing to your iOS Project

A simple guide to introducing Dynamic Typing for a custom font to your UIKit and SwiftUI project.
Have Fun at Home Screen with iOS Widget

Have Fun at Home Screen with iOS Widget

Step-by-step guide on how to create a Widget Extension for iOS/MacOS apps
A Better Architecture to Implement Forms in iOS Applications

A Better Architecture to Implement Forms in iOS Applications

How to implement a clean and maintainable Form Architecture with UITableView.
Creating Local Authentication SDK on CocoaPods

Creating Local Authentication SDK on CocoaPods

Step-by-step guide on how we created a biometric authentication SDK published on CocoaPods.
Abstract Model in Swift

Abstract Model in Swift

Using protocols as a base for models can help to better architect iOS applications.
Jenkins Pipeline for Mobile Testing

Jenkins Pipeline for Mobile Testing

Step-by-step guide on how to configure and execute a CI/CD pipeline on a dockerised Jenkins server.
Dockerised Jenkins for mobile testing

Dockerised Jenkins for mobile testing

Step-by-step guide on how to set up a Dockerised Jenkins Master-Slave-node architecture for mobile testing.
Mobile UI Testing with RSpec and Appium

Mobile UI Testing with RSpec and Appium

Mobile testing is a complex and sometimes overlooked area.

Android

Linting KMM Android Application with Danger

Linting KMM Android Application with Danger

A starter guide for adding the static code analyzer for a Kotlin Multiplatform Mobile Android application, with Danger.
Tips for working with Preview in Jetpack Compose

Tips for working with Preview in Jetpack Compose

How to avoid rendering errors by decoupling the screen contents and efficient use of PreviewParameterProvider and Multipreview annotations to preview multiple states of a Compose Screen.
Popular methods to enhance your Android application security

Popular methods to enhance your Android application security

Step-by-step walkthrough on some practical security techniques on Android.
It’s time to support Edge-to-Edge

It’s time to support Edge-to-Edge

Step-by-step guide on how to enable Edge-to-edge support and how to deal with API level compatibility on Android
Android Bangkok Conference 2020

Android Bangkok Conference 2020

The Android Conference is a great opportunity to learn from experts & fellow developers. Here are the detailed slides and code samples for our talk on Android x Protobuf.
RxJava DebounceIf Operator

RxJava DebounceIf Operator

Step-by-step walkthrough on implementing a custom RxJava operator debounceIf by leveraging Kotlin extension methods.
Jenkins Pipeline for Mobile Testing

Jenkins Pipeline for Mobile Testing

Step-by-step guide on how to configure and execute a CI/CD pipeline on a dockerised Jenkins server.
Dockerised Jenkins for mobile testing

Dockerised Jenkins for mobile testing

Step-by-step guide on how to set up a Dockerised Jenkins Master-Slave-node architecture for mobile testing.
Mobile UI Testing with RSpec and Appium

Mobile UI Testing with RSpec and Appium

Mobile testing is a complex and sometimes overlooked area.

Mobile

Linting KMM Android Application with Danger

Linting KMM Android Application with Danger

A starter guide for adding the static code analyzer for a Kotlin Multiplatform Mobile Android application, with Danger.
Modularizing iOS Applications with SwiftUI and Swift Package Manager - A Modern Approach

Modularizing iOS Applications with SwiftUI and Swift Package Manager - A Modern Approach

Learn how to break down your app into smaller, more manageable components and take advantage of the benefits of modularization using SwiftUI and the Swift Package Manager.
Tips for working with Preview in Jetpack Compose

Tips for working with Preview in Jetpack Compose

How to avoid rendering errors by decoupling the screen contents and efficient use of PreviewParameterProvider and Multipreview annotations to preview multiple states of a Compose Screen.
Adding Dynamic Custom Typing to your iOS Project

Adding Dynamic Custom Typing to your iOS Project

A simple guide to introducing Dynamic Typing for a custom font to your UIKit and SwiftUI project.
Popular methods to enhance your Android application security

Popular methods to enhance your Android application security

Step-by-step walkthrough on some practical security techniques on Android.
Have Fun at Home Screen with iOS Widget

Have Fun at Home Screen with iOS Widget

Step-by-step guide on how to create a Widget Extension for iOS/MacOS apps
A Better Architecture to Implement Forms in iOS Applications

A Better Architecture to Implement Forms in iOS Applications

How to implement a clean and maintainable Form Architecture with UITableView.
It’s time to support Edge-to-Edge

It’s time to support Edge-to-Edge

Step-by-step guide on how to enable Edge-to-edge support and how to deal with API level compatibility on Android
Creating Local Authentication SDK on CocoaPods

Creating Local Authentication SDK on CocoaPods

Step-by-step guide on how we created a biometric authentication SDK published on CocoaPods.
Android Bangkok Conference 2020

Android Bangkok Conference 2020

The Android Conference is a great opportunity to learn from experts & fellow developers. Here are the detailed slides and code samples for our talk on Android x Protobuf.
RxJava DebounceIf Operator

RxJava DebounceIf Operator

Step-by-step walkthrough on implementing a custom RxJava operator debounceIf by leveraging Kotlin extension methods.
Abstract Model in Swift

Abstract Model in Swift

Using protocols as a base for models can help to better architect iOS applications.
Jenkins Pipeline for Mobile Testing

Jenkins Pipeline for Mobile Testing

Step-by-step guide on how to configure and execute a CI/CD pipeline on a dockerised Jenkins server.
Dockerised Jenkins for mobile testing

Dockerised Jenkins for mobile testing

Step-by-step guide on how to set up a Dockerised Jenkins Master-Slave-node architecture for mobile testing.
Mobile UI Testing with RSpec and Appium

Mobile UI Testing with RSpec and Appium

Mobile testing is a complex and sometimes overlooked area.

Web

Phoenix 1.7: A Major Step for the Phoenix Framework

Phoenix 1.7: A Major Step for the Phoenix Framework

Discover the exciting features of Phoenix 1.7 that will change and improve your development experience.
Let's benchmark some Admin Toolkits!

Let's benchmark some Admin Toolkits!

Discover how we benchmarked some Typescript admin toolkits (including Strapi, Hasura, React-Admin, and Directus) to save time and be more productive!
Fast and stable test suite

Fast and stable test suite

Goodbye, slow, flaky test suites. Save development time and Continuous Integration (CI) costs while getting fast, reliable feedback in the development cycle.
Testing Rails JSON API with RSpec

Testing Rails JSON API with RSpec

A guide to testing RAILS JSON API with Rspec
Create pull requests for your GitHub Wiki

Create pull requests for your GitHub Wiki

Keep GitHub Wiki content changes reviewable, traceable, and centralized for better team collaboration with GitHub Actions, by following this step-by-step guide!
Generating Test Data in Phoenix application using ExMachina & Faker

Generating Test Data in Phoenix application using ExMachina & Faker

The purpose behind factories usage in testing and how to use ExMachina & Faker to setup test data in an Elixir Phoenix project.
Getting Started with RediSearch

Getting Started with RediSearch

Hands-On and Deep-Dive into RediSearch, a full-text search offering by Redis.
Hosting providers for Elixir and Phoenix applications

Hosting providers for Elixir and Phoenix applications

Learn all about the pros and cons of the major hosting providers to deploy Elixir and Phoenix applications. Let’s explore the best hosting solutions for Elixir.
The journey on choosing Elixir background job tooling

The journey on choosing Elixir background job tooling

Learn all about choosing the best tooling to implement background jobs in Elixir applications encompassing the built-in features like GenServer and third-party libraries.
Provision k3s on Google Cloud with Terraform and k3sup

Provision k3s on Google Cloud with Terraform and k3sup

Quickly provision 4-node production-ready Kubernetes cluster by k3s with help from Terraform and k3sup utility
Pretty URLs in Rails without a gem

Pretty URLs in Rails without a gem

Deep dive into 3 different ways in implementing pretty URLs in Rails application going from simple to advanced use cases.
Let's play design patterns: Form Objects

Let's play design patterns: Form Objects

Form Objects are a great addition to the toolbox provided by Rails. Follow our step-by-step guide to start building better applications!
Rails on Docker

Rails on Docker

How we use Docker for Ruby on Rails projects in development, test and production.