Systems coming online

Load000%

Engineering blog

Practical notes on AI, LLMs and data engineering. RSS

2026-10-30 / 4 min read

Document parsing for RAG: PDFs, tables and scans

How to parse documents for RAG: extracting clean text from PDFs, keeping tables intact, running OCR on scans, preserving structure and checking quality.

ragdocument-parsingllm

2026-10-29 / 3 min read

Text-to-SQL with LLMs: making it reliable

How to make text-to-SQL with LLMs reliable: giving the model the right schema, safe read-only execution, validation, few-shot examples and evaluation.

llmsqlanalytics

2026-10-28 / 3 min read

Rate limiting and retries for LLM APIs

How to handle LLM API rate limits: request and token limits, exponential backoff with jitter, client-side throttling, queues, fallbacks and timeouts.

llmreliabilityapi

2026-10-27 / 3 min read

Observability for LLM applications: tracing, cost and quality

How to monitor LLM applications in production: tracing each request, tracking tokens and cost, measuring latency, and evaluating answer quality over time.

llmobservabilitymlops

2026-10-26 / 3 min read

Idempotent consumers: handling duplicate events safely

How to build idempotent consumers in event-driven systems: why duplicates happen, idempotency keys, processed-event tables, upserts and the outbox pattern.

event-drivenkafkadata-engineering

2026-10-25 / 3 min read

Hybrid search for RAG: combining keyword and vector search

Why hybrid search improves RAG: combining BM25 keyword search with vector search, merging results with reciprocal rank fusion, and adding a reranker.

ragsearchvector-search

2026-10-24 / 3 min read

Building an AI copilot inside a CRM

How to build an AI copilot inside a CRM: useful features, grounding on CRM data, permission-aware retrieval, tool actions, review steps and measuring value.

ai-copilotcrmllm

2026-10-23 / 3 min read

Real-time dashboards with Trino and Apache Iceberg

How to build near real-time dashboards on Trino and Apache Iceberg: streaming ingestion, commit intervals, table layout, compaction and fast queries.

trinoicebergdata-engineering

2026-10-22 / 3 min read

Semantic caching to cut LLM costs and latency

How semantic caching cuts LLM costs and latency: embedding-based lookups, similarity thresholds, cache keys, invalidation and when caching is unsafe.

llmcachingcost-optimization

2026-10-21 / 3 min read

Guardrails for LLM applications: a practical guide

How to add guardrails to LLM applications: input checks, output validation, tool permissions, grounding and monitoring that keep AI features safe and reliable.

llmguardrailsai-safety

2026-10-20 / 4 min read

AI agents vs chatbots: what is the difference

AI agents vs chatbots explained: how they differ in goals, tools, memory and control, and how to decide which one your product actually needs.

ai-agentsllmchatbots

2026-10-19 / 4 min read

Data quality checks in streaming pipelines

How to add data quality checks to streaming pipelines: schema, validity, freshness, volume and duplicates, plus dead-letter queues and alerts that matter.

data-qualitystreamingdata-engineering

2026-10-18 / 4 min read

Schema evolution in Apache Iceberg: change tables safely

How Apache Iceberg handles schema evolution with column IDs: adding, renaming, dropping and widening columns without rewriting data or breaking readers.

iceberglakehousedata-engineering

2026-10-17 / 4 min read

Change data capture (CDC) explained for data engineers

What change data capture is, how log-based CDC works, how it compares to batch extracts, and the pitfalls to plan for when streaming database changes.

data-engineeringcdcstreaming

2026-10-16 / 4 min read

Embedding models: how to choose one for search and RAG

How to choose an embedding model for semantic search and RAG: quality on your data, dimensions, context length, language, cost, latency and hosting.

embeddingsragvector-search

2026-10-15 / 4 min read

RAG evaluation: how to measure answer quality

How to evaluate a RAG system: build a test set, measure retrieval and answer quality separately, use LLM judges carefully and track it in CI.

ragllmevaluation

2026-10-14 / 4 min read

Multi-tenant SaaS architecture patterns explained

Multi-tenant SaaS patterns compared: shared schema, schema per tenant and database per tenant, plus isolation, security, scaling and noisy neighbours.

saasarchitecturedatabases

2026-10-13 / 4 min read

Speech-to-text latency in voice bots: where time goes

Why voice bots feel slow and how to cut speech-to-text latency with streaming ASR, better endpointing, partial results and a tighter voice pipeline.

voice-aispeech-to-textlatency

2026-10-12 / 5 min read

LLM function calling explained: how tool use works

How LLM function calling works: tool schemas, the request loop, argument validation, errors and security, with a practical example in Python.

llmfunction-callingai-agents

2026-10-11 / 4 min read

Lakehouse vs data warehouse: differences and when to use each

Lakehouse vs data warehouse compared: storage, table formats, cost, performance, governance and how to choose the right one for your data platform.

data-engineeringlakehouseiceberg

2026-10-10 / 4 min read

Chunking strategies for RAG: how to split your documents

How to chunk documents for RAG: fixed-size, recursive, structure-aware and semantic splitting, chunk size, overlap and metadata that matter.

ragllmvector-search

2026-10-09 / 5 min read

Prompt engineering for structured JSON output

How to make an LLM return valid JSON using a schema, a response format, validation, and a retry when the shape is wrong.

llmprompt-engineeringjson

2026-10-08 / 3 min read

Apache Flink stateful stream processing basics

How Flink keeps state in a streaming job, including keyed state, checkpoints, watermarks, and what fails in production.

data-engineeringflinkstreaming

2026-10-07 / 3 min read

Kafka vs Redpanda for real-time pipelines

How Kafka and Redpanda differ for streaming pipelines, covering the API, operations, storage, and when each one fits.

data-engineeringkafkastreaming

2026-10-06 / 3 min read

Vector Database Comparison: pgvector vs Pinecone

A practical comparison of pgvector and Pinecone for AI and data engineers, focusing on architecture, performance, and use cases.

vector-databasesai-engineeringpostgresql

2026-10-05 / 1 min read

How a voice AI agent works: Twilio, speech, LLM and CRM

The building blocks of a real-time voice AI agent, from telephony and speech-to-text to the LLM, text-to-speech and CRM updates.

AIVoice AILLM

2026-10-04 / 1 min read

Apache Iceberg time travel: query your data as it was

How Iceberg snapshots let you query past versions of a table with Trino, debug bad loads and roll back safely.

Data EngineeringIcebergTrino

2026-10-03 / 1 min read

What is RAG? A practical guide for developers

Retrieval-Augmented Generation explained: how it works, when to use it, and the mistakes that make RAG systems give bad answers.

AILLMRAG