~/blog

Writing.

$ ls -la ./posts | wc -l15 posts, new writing soon

Evals first: what I learned teaching my agent RAG

Sep 5, 2026·13 min readaiengineeringRAG

Hand-building retrieval for a production support agent — golden sets before code, baselines before fixes, and the measurements that kept proving my assumptions wrong.

Designing an agentic support system

Sep 3, 2026·6 min readaiarchitecture

How we built an agentic support system for a regulated pharmacy operation — and the trust architecture that makes it safe to run.

Six years at Crowdcast

May 4, 2026·6 min readcareerretrospective

A retrospective on six years at a live video startup: COVID hypergrowth, a full platform rewrite, the AI shift, and moving on.

Fullstack types with Postgres, Hasura GraphQL and Typescript

Jan 22, 2023·12 min readTypescriptGraphQLHasuraPostgresgraphql-codegen

How using types helped us to accelerate developer productivity

Typescript: Bang operator considered harmful

Dec 3, 2020·3 min readtypescript

Oh no, a runtime error

Authentication in Next.js apps

Nov 21, 2020·8 min readnext.js

Concepts for isomorphic authentication

JWT Authorization for serverless APIs on AWS Lambda

Mar 11, 2020·13 min readserverlessLambda

How to protect your serverless API routes

Accessing Authorization headers in Apollo GraphQL client

Jan 24, 2020·5 min readapollo

Afterware is the new middleware

Upload images to AWS S3 with React and Apollo GraphQL

Jan 10, 2020·5 min readReactAWS

Simple file uploads with react-dropzone

Serverless GraphQL with Apollo on AWS Lambda

Dec 10, 2019·10 min readApolloServerlessLambda

Run your Apollo as a Lambda

Traits of good developers

Nov 2, 2019·9 min readHiringSoft SkillsOpinion

My personal observation

Running Cypress on an Amazon Linux AMI with Docker and Jenkins

Aug 20, 2019·4 min readjenkinsdocker

Get cypress working together with AWS Linux on your CI

Building a fullscreen overlay with React 16s portal

Feb 12, 2018·4 min readReact

React 16 is here and it has portals

Getting started with crosswalk for Ionic Framework

Jan 23, 2015·6 min readAngular

How to use the drop in replacement for the Android webview

Improving scroll performance for lists in Ionic Framework

Jan 12, 2015·7 min readangular

Prevent your users from a laggy scrolling experience