Engineering notes
Long-form notes on shipping production systems
Long-form notes on React Native at scale, LLM/RAG architecture, on-device computer vision, and shipping production systems.
·
By Amit Chakraborty — Senior Software Engineer, Kolkata, India · Remote worldwide
88 articles
- Product management for engineers · 2. Discovery: talking to users without leading them — Product management for engineers · Chapter 2 of 10 · Product · new chapter every Wednesday... 2026-10-21
- Deep‑link navigation in Expo Router exceeding the performance budget — The situation You are a senior mobile engineer on a React Native team that ships a... 2026-10-21
- Unexpected behaviour of Expo Router deep links in production — The situation You are a mobile engineer on a two‑week sprint. Your team has added a new... 2026-10-21
- Go, from zero to a running service · 1. Why Go exists and what it optimises for — Go, from zero to a running service · Chapter 1 of 12 · Languages · new chapter every Tuesday... 2026-10-20
- Incrementally migrating a React Native app to Fabric without a release freeze — The situation You are a lead mobile engineer at a mid‑size SaaS company. The product ships... 2026-10-20
- Startup‑time regression: deciding if a Hermes rewrite is worth it — The situation You are a senior mobile engineer on a React‑Native team that just upgraded... 2026-10-20
- JavaScript from absolute zero · 1. What a program is, and running your first line today — JavaScript from absolute zero · Chapter 1 of 14 · Languages · new chapter every Tuesday morning By... 2026-10-20
- When a Fabric rewrite feels faster but you can’t prove it — The situation Say you are a React Native engineer on a mobile team that has just upgraded... 2026-10-20
- React, deeply · 1. Rendering and reconciliation: what React does on a state change — React, deeply · Chapter 1 of 12 · Web · new chapter every Monday night By the end of this chapter:... 2026-10-19
- Reconciling Dual Crypto and Fiat Payments in a Mobile App — The situation Say you are a lead mobile engineer on a fintech startup that just launched a... 2026-10-19
- Engineering Resilient Systems for a Magnitude 5.7 Earthquake in Pakistan — Observed 2026‑10‑17 – USGS event page The sudden release of strain that generated a 5.7‑magnitude... 2026-10-19
- Startup‑time regression after enabling Hermes in a React‑Native app — The situation Say you are a lead mobile engineer on a two‑month sprint for a... 2026-10-19
- React Native, from a blank machine to a shipped app · 1. What a React Native app actually is — React Native, from a blank machine to a shipped app · Chapter 1 of 12 · Mobile · new chapter every... 2026-10-19
- Measuring the impact of a React Native Skia rewrite before you commit — The situation You are a lead mobile engineer on a feature team that ships a complex... 2026-10-19
- Engineering practice: git, code, tests · 1. Git as a thinking tool — Engineering practice: git, code, tests · Chapter 1 of 12 · Craft · new chapter every Sunday... 2026-10-18
- Enforcing a concrete performance budget for Expo EAS builds and OTA updates — The situation Say you are a mobile engineer on a small React‑Native team that uses Expo... 2026-10-18
- The AI tools panel · 1. The landscape: what each tool is genuinely good at — The AI tools panel · Chapter 1 of 12 · AI Engineering · new chapter every Sunday afternoon By the... 2026-10-18
- Agent engineering: MCP, subagents and agentic systems · 1. What an agent is, minus the marketing — Agent engineering: MCP, subagents and agentic systems · Chapter 1 of 14 · AI Engineering · new... 2026-10-18
- Deep‑link crashes in Expo Router when the app hits real traffic — The situation You are a mobile lead on a React Native product that just shipped... 2026-10-18
- Unexpected UI glitches after enabling React Native Fabric — The situation Say you are the lead mobile engineer on a cross‑platform product that ships... 2026-10-18
- Migrating a React Native app to the new EAS build and OTA workflow without a release freeze — The situation You are the lead mobile engineer on a React Native app that ships to 150 000... 2026-10-17
- The blockchain bootcamp · 1. The vocabulary — The blockchain bootcamp · Chapter 1 of 18 · Blockchain · new chapter every Saturday evening By the... 2026-10-17
- The forward-deployed engineer bootcamp · 1. What a forward-deployed engineer is, and why the role exists now — The forward-deployed engineer bootcamp · Chapter 1 of 12 · Career · new chapter every Saturday... 2026-10-17
- Startup‑time budget for React Native apps using Hermes — The situation Say you are a lead mobile engineer at a two‑year‑old fintech startup. The... 2026-10-16
- Choosing the first ten architecture decisions as a founding engineer – which ones compound and which are cheap to reverse — The situation Say you are the sole engineering hire at a newly‑funded SaaS startup. The... 2026-10-16
- Enforcing a measurable performance ceiling for the Fabric renderer — The situation Say you are a lead engineer on a React Native team that has just upgraded a... 2026-10-16
- Production failures: the things that page you · 3. Retry storms — Production failures: the things that page you · Chapter 3 of 24 · Reliability · new chapter every... 2026-10-16
- Unexpected UI‑Thread Jank When Using Reanimated 4 Worklets — The situation You are a mobile engineer on a small React‑Native team (React Native 0.73,... 2026-10-16
- MLOps: models that survive production · 3. Features: stores, and the simpler thing that usually works — MLOps: models that survive production · Chapter 3 of 12 · AI Engineering · new chapter every... 2026-10-15
- Unexpected jank and memory spikes after adding React‑Native‑Skia to a production app — The situation Say you are a mobile engineer on a fast‑growing e‑commerce app that ships a... 2026-10-15
- Engineering the Response Infrastructure for a Magnitude 6.7 Mid‑Atlantic Ridge Earthquake — A magnitude 6.7 earthquake struck the central Mid‑Atlantic Ridge on 13 October 2026, as reported by... 2026-10-15
- Incrementally Migrating to Reanimated 4 Worklets without a Freeze Window — The situation Say you are a lead mobile engineer on a React‑Native product that ships a... 2026-10-15
- The DevOps bootcamp · 3. The shell: pipes, scripts and automating your own machine — The DevOps bootcamp · Chapter 3 of 14 · DevOps · new chapter every Thursday morning By the end of... 2026-10-15
- Migrating React Native Native Modules without a Release Freeze — The situation Say you are a lead mobile engineer on a React Native 0.71 project that ships... 2026-10-14
- FastAPI in production · 2. Pydantic as your API contract — FastAPI in production · Chapter 2 of 12 · Backend · new chapter every Wednesday night By the end of... 2026-10-14
- Reanimated 4 worklets: production‑only breakage and early detection — The situation Say you are a mobile engineer on a fast‑growing e‑commerce app that ships a... 2026-10-14
- Building Setu: A Local-First Sharing Experience for Android — Looking for Early Testers — I'm building Setu, an Android app focused on sharing with nearby devices, and I'm opening the Google... 2026-10-14
- # Building Setu: Exploring Local-First Sharing on Android — I'm building Setu, a local-first sharing experience for nearby Android devices. I'm opening its... 2026-10-14
- Product management for engineers · 1. What a product manager does all day — Product management for engineers · Chapter 1 of 10 · Product · new chapter every Wednesday... 2026-10-14
- Reanimated 4 worklets: enforcing a measurable performance budget — The situation You are the lead mobile engineer on a React Native product that ships to... 2026-10-14
- The Hermes Bytecode Trap: Why Your App is Fast in Development and Slow in Production — I was the first engineering hire at Synapsis Medical Technologies, responsible for taking our... 2026-10-10
- Defending the 16ms Frame: A Performance Budget for React Native Skia — I was the first engineering hire at Synapsis Medical Technologies, where I eventually scaled the team... 2026-10-09
- Measuring the ROI of TurboModules before you commit to the rewrite — I was leading the architecture for a clinical AI platform at Synapsis Medical Technologies, where we... 2026-10-09
- Production failures: the things that page you · 2. Thundering herd: when the cache expires all at once — Production failures: the things that page you · Chapter 2 of 24 · Reliability · new chapter every... 2026-10-09
- Why Your Lighthouse Score is Lying About Your Core Web Vitals Regression — I was monitoring the Vercel dashboard for a Next.js clinical AI platform I built at Synapsis Medical... 2026-10-09
- MLOps: models that survive production · 2. Data versioning — MLOps: models that survive production · Chapter 2 of 12 · AI Engineering · new chapter every... 2026-10-08
- Defending the 16ms Frame: A Performance Budget for React Native TurboModules — I was the first engineering hire at Synapsis Medical Technologies, where I owned the architecture for... 2026-10-08
- The hidden cost of TurboModules: Why Codegen is not a free lunch — I was leading the architecture for a clinical AI platform at Synapsis Medical Technologies, where we... 2026-10-08
- The DevOps bootcamp · 2. The Linux you actually need — The DevOps bootcamp · Chapter 2 of 14 · DevOps · new chapter every Thursday morning By the end of... 2026-10-08
- The Silent Deadlock: Debugging Fabric Renderer Stalls in Production — I was serving as the founding engineer at a HealthTech AI platform, Synapsis Medical Technologies,... 2026-10-08
- FastAPI in production · 1. FastAPI in one hour — FastAPI in production · Chapter 1 of 12 · Backend · new chapter every Wednesday night By the end of... 2026-10-07
- The Hidden Performance Ceiling of React Native Skia in Production — I was three weeks out from a major release for a clinical HealthTech platform when we hit a wall that... 2026-10-07
- The Hidden Failure Modes of React Native TurboModules and Codegen — I was leading the architecture for a clinical AI platform at Synapsis Medical Technologies, where we... 2026-10-07
- I Built My Portfolio With Lovable — And It Made Me Rethink What Web Development Costs — lovable.dev I’m a software... 2026-09-27
- Let’s Build Your First Electron App: The Magical Feed App! — Hey there, future tech wizards! 🧙♂️ Are you ready to dive into the world of coding and create your... 2026-09-14
- Say Goodbye to Git Woes: Become a Git Wizard Today! ♂️ — Git isn’t just a tool; it’s a superpower. Whether you’re a beginner or an experienced developer,... 2026-09-14
- Hermes Bytecode and the Cold-Start Budget: Engineering Time-to-Interactive as a Product Requirement — In the lifecycle of a mobile application, the most expensive milliseconds are the ones that... 2026-09-14
- Achieving 60fps on Budget Android Hardware: Offloading Image Decode and ML Preprocessing — https://amitchakraborty.dev/blog/60fps-on-a-100-dollar-android-phone In my eight years of... 2026-09-14
- Migrating to React Native Skia without a feature freeze — I was three weeks out from a major release at Synapsis Medical Technologies when our real-time ECG... 2026-09-11
- On-Device Computer Vision Under 16 Milliseconds — In the development of clinical AI and real-time health monitoring, the difference between a... 2026-09-11
- Production failures: the things that page you · 1. The three in the morning page — Production failures: the things that page you · Chapter 1 of 24 · Reliability · new chapter every... 2026-09-11
- The Cost of Silent Failures: Hardening the Contract Between React Native and NestJS — In my eight years of professional software engineering, the most expensive bugs I have encountered... 2026-09-11
- MLOps: models that survive production · 1. Why models fail in production and never in the notebook — MLOps: models that survive production · Chapter 1 of 12 · AI Engineering · new chapter every... 2026-09-10
- Idempotency as a Product Feature: Run Keys, Leases, and Scheduling — In distributed systems, we often treat idempotency as a defensive implementation detail—a way to... 2026-09-10
- Systems Engineering for High-Magnitude Seismic Events — The recent magnitude 6.3 earthquake in Alaska, as reported by the USGS, highlights the critical... 2026-09-10
- Architecture Over Algorithms: Scaling an Engineering Team from 0 to 21 — When I joined Synapsis Medical Technologies as the founding engineer, the roadmap was daunting: we... 2026-09-10
- A Token Budget is an Architectural Constraint — In the early stages of building a production AI system, developers often treat Large Language Model... 2026-09-10
- The DevOps bootcamp · 1. What DevOps is, once the marketing is removed — The DevOps bootcamp · Chapter 1 of 14 · DevOps · new chapter every Thursday morning By the end of... 2026-09-10
- From 2-Day Releases to 4-Hour Releases: The Hierarchy of Engineering Velocity — In the early stages of building a complex system, a 48-hour release cycle feels like a safety net.... 2026-09-08
- Next.js Streaming and the Latency Gap: Placing Suspense Where the Data Fails — In building high-stakes software, the most dangerous architectural decision is treating all data as... 2026-09-07
- PostGIS for People Who Thought They Needed a Search Cluster — The instinct to reach for a dedicated search cluster like Elasticsearch or Algolia when a product... 2026-09-07
- Deterministic Fallbacks for Every AI Path — In the pursuit of building high-stakes AI systems, the most dangerous architectural decision is to... 2026-09-07
- Why Retrieval Quality Beats Model Choice — When I architected the 0 to 1 stack at Synapsis Medical Technologies, the pressure to chase the... 2026-09-06
- Engineering RAG Pipelines That Survive a HIPAA Compliance Audit — When building Retrieval-Augmented Generation (RAG) systems for clinical environments, the technical... 2026-09-06
- Reanimated Worklets: The Rule That Keeps Gestures Smooth — In my eight years of professional software engineering, I have seen a recurring failure mode in React... 2026-09-05
- Achieving 60fps on Budget Android Hardware: Offloading Image Decode and ML Preprocessing — In my eight years of professional software engineering, I have found that the true test of an... 2026-09-05
- Hermes Bytecode and the Cold-Start Budget: Engineering Time-to-Interactive as a Product Requirement — In the lifecycle of a mobile application, the most expensive milliseconds are the ones that occur... 2026-09-05
- Scaling React Native Performance: When to Move Logic to C++ via JSI — In the lifecycle of a React Native application, you eventually hit a wall that no amount of... 2026-09-04
- What Bridgeless Mode Actually Changed in React Native — For nearly a decade, the architecture of React Native was defined by a single, asynchronous... 2026-08-31
- Let’s Build Your First Electron App: The Magical Feed App! — Hey there, future tech wizards! 🧙♂️ Are you ready to dive into the world of coding and create your very own app? With just some simple HTML, CSS, and JavaScript, you’ll have a cool feed app up and r 2024-11-22
- Blog Series: From TypeScript to Rust & Go — Day 3: Mastering Functions and Error Handling — ### Blog Series: From TypeScript to Rust & Go — Day 3: Mastering Functions and Error Handling 2024-11-22
- Blog Series: From TypeScript to Rust & Go — Day 2: Exploring Basic Syntax and Concepts — ### Blog Series: From TypeScript to Rust & Go — Day 2: Exploring Basic Syntax and Concepts 2024-11-20
- Blog Series Outline: From TypeScript to Rust & Go — A Beginner-Friendly Journey into Microservices… — ### Blog Series Outline: From TypeScript to Rust & Go — A Beginner-Friendly Journey into Microservices & Blockchain Development 2024-11-04
- Expo vs. Bare React Native: Which Should You Use and When? — React Native has become a popular choice for mobile app development, providing developers with a robust framework for building cross-platform applications. As you embark on your journey with React Nat 2024-10-25
- How to Install the Solidity Compiler on Mac, Linux, Red Hat, and OpenUSE: A Super Fun Guide! — Hey there, future blockchain superstar! 🌈 Are you ready to embark on an exciting journey into the world of smart contracts? 🏰💻 With Solidity, you can create magical things on the Ethereum blockchai 2024-10-23
- Bye-Bye Electron: Building a Feature-Rich To-Do Desktop App with Tauri and Next.js — Hey there, fellow developers! If you’re tired of bloated Electron apps that eat up your computer’s memory and resources, you’re in the right place! In this post, we’ll build a slick and lightweight To 2024-10-20
- Asset Validation Failed: Understanding and Resolving “Invalid Executable” Errors After Xcode 16.0 — ### Asset Validation Failed: Understanding and Resolving “Invalid Executable” Errors After Xcode 16.0 Update When Uploading to TestFlight 2024-10-13
- Understanding Type vs. Interface in TypeScript: A Guide for Junior Developers — As I mentor my junior developers on the importance of type safety, I’ve observed a persistent gap in their understanding of foundational concepts, particularly the distinction between **Type** and **I 2024-09-27