Engineering Blog

Insights on software, AI & cloud

Practical insights from our experience building custom software, implementing AI and private LLM solutions, and managing cloud infrastructure for businesses in Indonesia.

74 articlesPage 3

Software engineers drawing system architecture boxes and arrows on a whiteboardSoftware Development

10 min read

Monolith vs Microservices: Which Architecture Fits Your Team?

What a monolith and microservices really cost to run, why a modular monolith is the right default for most companies, the signs that you actually need to split, and how to extract a service safely when the time comes.

Read article
Laptop showing server code next to a terminal window on a deskBackend Development

9 min read

Go vs Node.js for Backend Services: An Honest Comparison

How Go and Node.js really differ for backend work: memory and throughput, goroutines versus the event loop, Go types versus TypeScript, hiring in Indonesia, deployment size, and how to decide which one a service should use.

Read article
Android phone lying next to a laptop with code on the screenMobile Development

10 min read

Kotlin Coroutines and Flow on Android: A Practical Guide

How to use coroutines and Flow in an Android app without leaks or ANRs: suspend functions, dispatchers, viewModelScope, cancellation, StateFlow and SharedFlow, lifecycle-aware collection, error handling, and testing with runTest.

Read article
Several Android and iOS phones lined up on a desk for app testingMobile Development

10 min read

Why Your Flutter App Feels Slow on Real Phones and How to Fix It

A practical guide to Flutter performance: measuring in profile mode on a low-end Android phone, reading the DevTools frame chart, Impeller, cutting rebuilds, long lists, image memory, moving work to isolates, startup time, and app size.

Read article
Developer reviewing Solidity code on a laptop next to a notebookBlockchain

9 min read

Solidity Gas Optimization: Where the Cost Really Comes From

A practical guide to cutting gas costs in Solidity: how storage reads and writes are priced, packing variables, constant and immutable, calldata, caching in loops, custom errors, events, unchecked math, measuring with Foundry, and when to leave the code alone.

Read article
Two developers comparing code on side by side monitorsBlockchain

9 min read

Hardhat vs Foundry: Which One Should Your Team Use?

A practical comparison of Hardhat and Foundry for Solidity development: writing tests in TypeScript or Solidity, speed, fuzz and invariant testing, mainnet forking, deployment with Ignition or forge script, plugins, Hardhat 3, and running both in one repo.

Read article
Hands sorting printed forms and receipts next to a calculatorAI Development

10 min read

Automating Document Data Entry With AI: Invoices, Receipts, and Forms

How AI reads invoices, receipts, ID cards, and forms and turns them into structured data, how OCR and large language models fit together, why validation and human review still matter, how to measure accuracy, and what to watch for with personal data.

Read article
Aerial view of a busy container port with cranes and stacked shipping containersCloud & DevOps

9 min read

Deploying Applications to Kubernetes With Helm: A Practical Guide

What Helm charts are, how values and templates work, how to structure a chart for several environments, upgrade and rollback safely, keep secrets out of Git, test charts in CI, and decide between Helm and Kustomize.

Read article
Person using a smartphone next to a laptop on a deskMobile Development

9 min read

Flutter State Management: Provider, Riverpod, or Bloc?

What state management solves in Flutter, when setState is enough, how Provider, Riverpod, and Bloc differ in practice, how to pick one for your team, and the structure that keeps a Flutter app maintainable whichever library you choose.

Read article
Terminal output from installing Android SDK packagesMobile Development

9 min read

Jetpack Compose vs XML Views: How to Migrate an Android App

Why Android teams are moving from XML layouts to Jetpack Compose, what changes in the way you think about UI, how to migrate an existing app screen by screen, and the state, performance, and testing habits that make Compose work well.

Read article
Let’s talk

Looking for a software development partner?

Tell us about your project, what you need to build, and the challenges you are facing. We can discuss the technical approach, scope, timeline, and estimated cost.

Start a conversation