# Pranshu Raj - blog on backend systems, performance and sidequests

Deep dives into backend systems, databases, failure modes, performance and a whole lot of sidequests.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Building an AI Agent for LinkedIn Scraping & Candidate Sourcing

DevFeed: [Building an AI Agent for LinkedIn Scraping & Candidate Sourcing](<https://devfeed.tech/articles/building-an-ai-agent-for-linkedin-scraping-candidate-sourcing-39409.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/linkedin-scraping-full/>)

Author: Pranshu Raj

Published: 2026-07-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Python](<https://devfeed.tech/topics/python.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [async](<https://devfeed.tech/tags/async.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [github](<https://devfeed.tech/tags/github.md>), [llms](<https://devfeed.tech/tags/llms.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [python](<https://devfeed.tech/tags/python.md>), [recruiting](<https://devfeed.tech/tags/recruiting.md>), [scraping](<https://devfeed.tech/tags/scraping.md>)

### AI overview

A developer describes building an AI-powered LinkedIn candidate-sourcing agent for a hackathon. The Python and FastAPI application combines LinkedIn and GitHub profile discovery, six-factor candidate scoring, and Llama-powered personalized outreach, using external services for search and LinkedIn data retrieval.

### Source excerpt

How I built an AI agent that scrapes LinkedIn, scores candidates, and generates personalized outreach, a full recruiting sourcing pipeline in Python and FastAPI.

## Diagnosing a 28,232-Connection SSE Limit in a Go Leaderboard

DevFeed: [Diagnosing a 28,232-Connection SSE Limit in a Go Leaderboard](<https://devfeed.tech/articles/breaking-the-28k-sse-connection-limit-and-scaling-toward-1m-39412.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/scaling-sse-1m-connections/>)

Author: Pranshu Raj

Published: 2026-07-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Server-sent events (SSE)](<https://devfeed.tech/topics/server-sent-events-sse.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>)

Tags: [docker-compose](<https://devfeed.tech/tags/docker-compose.md>), [go](<https://devfeed.tech/tags/go.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [redis](<https://devfeed.tech/tags/redis.md>), [sse](<https://devfeed.tech/tags/sse.md>)

### AI overview

A tutorial on testing and diagnosing the SSE connection limit of a Go leaderboard service. It describes the service architecture, Docker Compose deployment, and monitoring with Prometheus and Grafana.

### Source excerpt

Why my Go leaderboard's capped at exactly 28,232 SSE connections, how Docker networking got me to 150k, and the path toward millions.

## Broadcasting to 28K SSE Clients (and learning about Go channels)

DevFeed: [Broadcasting to 28K SSE Clients (and learning about Go channels)](<https://devfeed.tech/articles/broadcasting-to-28k-sse-clients-and-learning-about-go-channels-39405.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/implementing-correct-fanout/>)

Author: Pranshu Raj

Published: 2026-07-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Server-sent events (SSE)](<https://devfeed.tech/topics/server-sent-events-sse.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [backpressure](<https://devfeed.tech/topics/backpressure.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [backpressure](<https://devfeed.tech/tags/backpressure.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [go](<https://devfeed.tech/tags/go.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [observability](<https://devfeed.tech/tags/observability.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [redis](<https://devfeed.tech/tags/redis.md>), [sse](<https://devfeed.tech/tags/sse.md>)

### AI overview

The article describes building a real-time leaderboard in Go that reached 28,232 concurrent SSE connections before exposing a broken broadcast design. It explains the fix using centralized polling, deduplication, fan-out, backpressure handling, and observability with Prometheus and Grafana.

### Source excerpt

A post on progressively getting my server to 28k SSE connections, finding a bug in my implementation of fan out using Go channels and the resulting mental model update.

## Backpressure in Distributed Systems

DevFeed: [Backpressure in Distributed Systems](<https://devfeed.tech/articles/backpressure-in-distributed-systems-39399.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/backpressure/>)

Author: Pranshu Raj

Published: 2026-07-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [backpressure](<https://devfeed.tech/topics/backpressure.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [real-time](<https://devfeed.tech/topics/real-time.md>)

Tags: [backpressure](<https://devfeed.tech/tags/backpressure.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [go](<https://devfeed.tech/tags/go.md>), [latency](<https://devfeed.tech/tags/latency.md>), [memory](<https://devfeed.tech/tags/memory.md>), [messages](<https://devfeed.tech/tags/messages.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This tutorial explains backpressure in distributed systems, including how it occurs when message producers outpace consumers and the resulting risks such as memory exhaustion, dropped messages, lower throughput, network waste, increased latency, and blocked producers. It introduces producer, messaging-system, and consumer roles and relates the topic to a real-time leaderboard project.

### Source excerpt

Understanding what it is, how to deal with it, where it's used and how I handled it in the real time leaderboard.

## Building transactional voice agents at Nector

DevFeed: [Building transactional voice agents at Nector](<https://devfeed.tech/articles/building-transactional-voice-agents-at-nector-39410.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/nector-voice-agents/>)

Author: Pranshu Raj

Published: 2026-03-07T13:39:58Z

Content type: article

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Multi-tenancy](<https://devfeed.tech/topics/multi-tenancy.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [database-design](<https://devfeed.tech/tags/database-design.md>), [json-rpc](<https://devfeed.tech/tags/json-rpc.md>), [latency](<https://devfeed.tech/tags/latency.md>), [latency-optimization](<https://devfeed.tech/tags/latency-optimization.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [multi-tenancy](<https://devfeed.tech/tags/multi-tenancy.md>), [observability](<https://devfeed.tech/tags/observability.md>), [pii](<https://devfeed.tech/tags/pii.md>), [production](<https://devfeed.tech/tags/production.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [voice](<https://devfeed.tech/tags/voice.md>)

### AI overview

An engineer describes building customer-facing transactional voice agents for ecommerce at Nector. The article covers a REST-to-JSON-RPC MCP proxy that improved observability, PII control, context reduction, latency, and correctness, plus experiments that reduced one agent's p90 latency from more than 8 seconds to 2 seconds.

### Source excerpt

Building production ready voice agents, latency optimization, multi tenancy, MCP proxies - six months of building customer facing voice agents

## How I Use AI Tools for Code Search, Review, Low-Stakes Work, and Learning

DevFeed: [How I Use AI Tools for Code Search, Review, Low-Stakes Work, and Learning](<https://devfeed.tech/articles/how-i-use-ai-39404.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/how-i-use-ai/>)

Author: Pranshu Raj

Published: 2026-01-27T19:14:20Z

Content type: opinion

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [GitHub Copilot code review](<https://devfeed.tech/topics/github-copilot-code-review.md>), [prompting](<https://devfeed.tech/topics/prompting.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-tools](<https://devfeed.tech/tags/ai-tools.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [ide](<https://devfeed.tech/tags/ide.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

The author describes using AI tools in daily development work for searching unfamiliar code, code review, low-stakes tasks such as Dockerfiles and CI, and pair programming for learning. They avoid using AI for architecture decisions, complex or sensitive logic, and product questions.

### Source excerpt

What AI use has improved for me, what I avoid doing and things that have worked best for me so far.

## Building a scalable real time leaderboard

DevFeed: [Building a scalable real time leaderboard](<https://devfeed.tech/articles/building-a-scalable-real-time-leaderboard-39408.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/leaderboard/>)

Author: Pranshu Raj

Published: 2025-11-14T17:12:32Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [real-time](<https://devfeed.tech/topics/real-time.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [Server-sent events (SSE)](<https://devfeed.tech/topics/server-sent-events-sse.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [go](<https://devfeed.tech/tags/go.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [latency](<https://devfeed.tech/tags/latency.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [redis](<https://devfeed.tech/tags/redis.md>)

### AI overview

A developer describes building a real-time tournament leaderboard with Go, Redis Sorted Sets, and Server-Sent Events. The article covers its architecture, concurrency and latency requirements, live client updates, and experiments with Prometheus and Grafana observability.

### Source excerpt

Describing my journey of building the leaderboard, what I learnt, what issues I faced, and some design decisions (which will be elaborated on later).

## Optimizing Docker Image Builds for Size and Build Time

DevFeed: [Optimizing Docker Image Builds for Size and Build Time](<https://devfeed.tech/articles/how-i-shrunk-my-docker-image-size-by-48x-and-cut-build-time-in-half-39411.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/optimizing-docker-builds/>)

Author: Pranshu Raj

Published: 2025-07-31T17:25:43Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Docker Image](<https://devfeed.tech/topics/docker-image.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [alpine](<https://devfeed.tech/tags/alpine.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [build-performance](<https://devfeed.tech/tags/build-performance.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-image](<https://devfeed.tech/tags/docker-image.md>), [docker-image-size](<https://devfeed.tech/tags/docker-image-size.md>), [go](<https://devfeed.tech/tags/go.md>), [how-to](<https://devfeed.tech/tags/how-to.md>)

### AI overview

This tutorial describes optimizing a Go backend Docker image using Alpine base images and multi-stage builds. The reported changes reduced image size from 1.29 GB to 27.1 MB and build time from 43.8 seconds to 23.6 seconds.

### Source excerpt

How to optimize (and benchmark) docker image builds for build time and image size.

## Scaling Server Sent Events - Intro to SSE and scaling guide

DevFeed: [Scaling Server Sent Events - Intro to SSE and scaling guide](<https://devfeed.tech/articles/scaling-server-sent-events-intro-to-sse-and-scaling-guide-39403.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/exploring-sse/>)

Author: Pranshu Raj

Published: 2025-06-29T07:01:27Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Server-sent events (SSE)](<https://devfeed.tech/topics/server-sent-events-sse.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [guide](<https://devfeed.tech/tags/guide.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [sse](<https://devfeed.tech/tags/sse.md>)

### AI overview

A tutorial on Server-Sent Events (SSE), covering its HTTP-based server-to-client update model, event-stream format, browser EventSource support, and considerations for horizontal scaling and state handling.

### Source excerpt

Understanding SSE and it's use cases, advantages over other realtime protocols, how to deploy it at scale.

## Building a Python Package to Turn Unstructured Data into Financial Insights

DevFeed: [Building a Python Package to Turn Unstructured Data into Financial Insights](<https://devfeed.tech/articles/building-a-python-package-to-turn-unstructured-data-into-financial-insights-39400.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/building-concall-parser/>)

Author: Pranshu Raj

Published: 2025-06-23T08:50:45Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [pdf](<https://devfeed.tech/topics/pdf.md>), [data](<https://devfeed.tech/topics/data.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [pdf](<https://devfeed.tech/tags/pdf.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [python](<https://devfeed.tech/tags/python.md>), [structured](<https://devfeed.tech/tags/structured.md>)

### AI overview

This article explains how the authors built a Python package to extract structured information from messy earnings-call PDF transcripts. It covers PDF text extraction, cleaning and segmentation, speaker identification, categorization into sections such as management remarks and Q&A, and structured output.

### Source excerpt

How we built concall-parser to extract structured insights from messy earnings call transcripts, dealing with PDFs, text processing, and speaker identification challenges.

## Designing a minimal, local-first version of lichess.

DevFeed: [Designing a minimal, local-first version of lichess.](<https://devfeed.tech/articles/designing-a-minimal-local-first-version-of-lichess-39402.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/designing-tinychess/>)

Author: Pranshu Raj

Published: 2025-05-10T15:22:00Z

Content type: article

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Local-First](<https://devfeed.tech/topics/local-first.md>), [Go](<https://devfeed.tech/topics/go.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [rate-limiting](<https://devfeed.tech/topics/rate-limiting.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [go](<https://devfeed.tech/tags/go.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [latency](<https://devfeed.tech/tags/latency.md>), [local-first](<https://devfeed.tech/tags/local-first.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [rate-limiting](<https://devfeed.tech/tags/rate-limiting.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

The author outlines a plan for tinychess, a smaller local-first version of Lichess intended as a learning project. The planned system includes real-time gameplay, game validation and persistence, matchmaking, spectators, leaderboards, rate limiting, and scoring, using Go, WebSockets, JavaScript, and SQLite or a flat file.

### Source excerpt

How I'm planning to build tinychess, and what I've learnt so far while preparing to build it.

## A quick introduction to data modeling in real world applications

DevFeed: [A quick introduction to data modeling in real world applications](<https://devfeed.tech/articles/a-quick-introduction-to-data-modeling-in-real-world-applications-39401.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/data-modeling/>)

Author: Pranshu Raj

Published: 2025-04-13T15:22:00Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [data-modeling](<https://devfeed.tech/topics/data-modeling.md>), [data-architecture](<https://devfeed.tech/topics/data-architecture.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>)

Tags: [data-modeling](<https://devfeed.tech/tags/data-modeling.md>), [data-modelling](<https://devfeed.tech/tags/data-modelling.md>), [database](<https://devfeed.tech/tags/database.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [relationships](<https://devfeed.tech/tags/relationships.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

An introductory tutorial on data modeling: identifying relevant entities, attributes, relationships, application requirements, and workload before designing a schema. It contrasts relational tables with document-database collections using Postgres and MongoDB as examples.

### Source excerpt

What data modeling is, why it's so useful, how can we do it effectively to get the best results for our use case.