Thought Box

Thought Box

Running on the Edge: What, why and how cover image

Running on the Edge: What, why and how

Alternatives for running On-device AI on Android

Putting the Genie in the bottle cover image

Putting the Genie in the bottle

How the AI Edge SDK let's you run Gemini locally.

Gemini on Android, The story so far cover image

Gemini on Android, The story so far

How LLMs went from hype to a core Android OS component in less than a year.

Kotlin DEVEX is not great, but Amper could fix it. cover image

Kotlin DEVEX is not great, but Amper could fix it.

A call to embrace the CLI for Kotlin development.

Sketch, refine, rinse and repeat cover image

Sketch, refine, rinse and repeat

Building an AI Audio Guide - Part 3

Planning and documenting a side project cover image

Planning and documenting a side project

Building an AI Audio Guide - Part 2

From idea to code cover image

From idea to code

Building an AI Audio Guide - Part 1

Grounding Beliefs cover image

Grounding Beliefs

How to automate architecture docs

From macro to micro cover image

From macro to micro

There’s this interesting idiom in English: to miss the forest for the trees. From the Merriam-Webster dictionary: to not understand or…

Nesting React Components in Native UI cover image

Nesting React Components in Native UI

React Native has support for creating Native UI components which are implemented using the native ui frameworks, and exposed as react-native…

Kotlin Multiplatform under the surface cover image

Kotlin Multiplatform under the surface

The mobile development community always had many alternatives for creating cross-platform apps. Since the days of webview-based solutions we…

A Continuous Integration approach for Kotlin projects cover image

A Continuous Integration approach for Kotlin projects

Continuous integration Continuous integration is one of the words that you often hear nowadays. I remember not really getting it when I…

Publishing an obfuscated kotlin library cover image

Publishing an obfuscated kotlin library

Being an android developer, I’ve heard about code obfuscation pretty early in my career. Since it’s preconfigured in android’s gradle plugin…

Continuous Kotlin Static Analysis cover image

Continuous Kotlin Static Analysis

What is it anyway? Static analysis is a way to find errors and other issues in a source code without actually executing it (hence, static…

The First Way cover image

The First Way

Automating the Value Stream to Solve "It Works on My Machine" Issues and Improve Code Quality.

A primer cover image

A primer

Get ready to level up your understanding of DevOps! This guide covers the basics of DevOps, including its definition, the concept of a value stream, and the three ways to approach DevOps practices.

Type safe scripts cover image

Type safe scripts

Ever had a hard time trying to make sense of a bash script? What if you could replace that with kotlin?

A Twitter-Telegram bot in Kotlin cover image

A Twitter-Telegram bot in Kotlin

How to use kotlin to build a bot to send Twitter videos to you via Telegram.

Setting up MockServer cover image

Setting up MockServer

Using MockServer to test in isolation.