Profile
Ashes Born @sadofriod
Independent engineer building GraphRAG systems in TypeScript
Independent engineer · GraphRAG, TypeScript, retrieval infrastructure
Proof of work
GraphRAG internals
How graphrag-ts is actually built — design, retrieval, global map-reduce, incremental updates.
- GraphRAG PostgreSQL + TypeScript 实现设计
- GraphRAG 检索实现说明
- GraphRAG Global Map-Reduce 查询实现
- GraphRAG 增量构建实现:差异检测、更新与清理
Writing
By theme
Indexing pipeline, community detection, retrieval, global map-reduce, incremental builds.
The frontend infrastructure work underneath: micro-frontends, E2E selection, rendering engines, grouped lists.
One long retrospective, one resume, and the occasional experiment that did not fit anywhere else.
Photography
Frames
The other half of how I look at things — places, light and the shapes in between. Originals live in R2, previews are generated at the edge.
Now
Right now
Shipping graphrag-ts: incremental build, Leiden community detection, hybrid retrieval with evidence grounding, MCP server.
Resume
Hire me
Projects
Things I maintain
All writing
Posts (29)
Frontend and Agent Engineer Resume | TypeScript, React, GraphRAG
Resume for a frontend and AI agent engineer featuring experience building JD low-code platforms, optimizing Compass micro-frontends and Salesforce rule engines, developing a Yellow Web3 trading platform, and creating a TypeScript GraphRAG project.
Four years of remote work after leaving big tech: I think I am not built for remote
After leaving big tech I worked remotely for four years across a US-listed company and a Web3 team. Between unemployment and re-employment, this is a re-examination of what kind of work and professional contact I actually need.
GraphRAG Global Map-Reduce Query Implementation
A code-level walkthrough of Global Map-Reduce in graphrag-ts: loading community summaries and descendant-leaf claims, approximate token batching, bounded concurrent Map calls, retries, JSON validation, and usefulness-ranked Reduce packing.
GraphRAG Incremental Build in TypeScript: Diffing, Updates, and Pruning
A source-based walkthrough of incremental GraphRAG builds in graphrag-ts: title and SHA-256 diffing, Markdown section-parent matching, update ordering, explicit deletion semantics, and edge-weight accumulation.
GraphRAG Hybrid Retrieval and Evidence Grounding in TypeScript
A source-based guide to local and global GraphRAG retrieval in graphrag-ts, covering entity and topology recall, hybrid vector and keyword evidence, RRF community ranking, LLM filtering, and token-budgeted global Map-Reduce with retries.
GraphRAG TypeScript Indexing Pipeline and Incremental Updates
A source-based walkthrough of graphrag-ts indexing: adaptive chunking, structured LLM extraction and fallback, weighted edge aggregation, recursive Leiden communities, summary persistence, and content-hash-based incremental updates.
GraphRAG Global Search Map-Reduce Explained
A detailed guide to Microsoft GraphRAG global search Map-Reduce, explaining how hierarchical community summaries are shuffled and split by token budget, mapped into scored intermediate answers, ranked, and reduced into a corpus-level response.
Understanding the Community Concept in GraphRAG
An intuitive and in-depth conceptual guide to the "Community" in Microsoft GraphRAG, explaining graph community detection via Leiden algorithm, hierarchical community trees (root/intermediate/leaf), query-focused community summarization, and candidate answer aggregation with TypeScript examples.
GraphRAG Retrieval Implementation Guide
A complete implementation guide for the GraphRAG query and retrieval phase, detailing query intent parsing, multi-channel entity retrieval with Reciprocal Rank Fusion (RRF), neighbor expansion, multi-dimensional community scoring, LLM filtering, and final global answer synthesis.
GraphRAG Multi-Document Input Processing Architecture and Directory Structure
An in-depth architecture guide on Microsoft GraphRAG multi-document input processing and indexing pipeline, covering multi-format ingestion (TXT/CSV/JSON/Parquet), cross-document chunking, entity resolution deduplication, standard project directory structure, and incremental update workflows.
GraphRAG PostgreSQL + TypeScript Implementation Design
A comprehensive engineering guide on implementing Microsoft GraphRAG with PostgreSQL and TypeScript, covering relation edge weight calculations, community detection pipelines, hierarchical community summarization, and complete PostgreSQL DDL schemas with TypeScript pseudo-code.
Controlling the Loading Component Functionally in React Native
# What you need to know before reading - What React Context is - How to write a custom Hook # Wh...
React "Dynamic" Form Design (Part 1)
# React "Dynamic" Form Design (Part 1) In this part I'll define what a dynamic form is, what prob...
Running Reality on AWS with Cloudflare in front
# Running Reality on AWS with Cloudflare in front ## Overview This document explains how to set u...
Migrating a CRA App to a Micro Frontend (Part 1): Architecture and Setup
How to migrate a create-react-app React project into a micro frontend architecture: analysing what to extract, rebuilding the repo as a pnpm monorepo, ejecting CRA, extending webpack build scope and module resolution across packages, pinning a single React instance with peer dependencies, sharing context across projects, resolving tsconfig path aliases, and running type checks over the whole workspace.
Hello, World!
# Hello, World! This is my first blog post using **Next.js**. ## Features of This Blog - Static...
Some Experience with Functional Programming in JS Development
Functional programming, functional programming in JS
Running only the E2E tests your commit actually affects
An incremental E2E runner for large frontends: pick the base commit from the branch, diff it against HEAD, keep the specs the change can touch, and stream the Cypress output so CI does not time out.
Local hot reload for a React project inside a monorepo
<img src="/images/monorepo-react-banner.jpeg" /> ## Prerequisites What you need to know before ...
Storing KVM Virtual Machine Disks on a NAS (Proxmox / libvirt)
<img src="/images/kvm-log.png"> ## Prerequisites The concepts and software you should know before...
High performance grouped list design
## Overall goal 1. nested relationships exist in the grouping and there is no theoretical upper li...
Recording web pages to video at a specified time through a server
## Why is there such a need? I recently work in the field of front-end data visualization, and the...
Hexo SEO optimization
## Before you read ### What you need to know + Basic Hexo commands + The HTML `<meta>` tag ## M...
Hexo table of contents and RSS
## Before you read ### What you need to know + Managing project dependencies with npm/yarn + Basi...
Hexo + LaTeX math rendering
## Before you read ### What you need to know + Basic Hexo commands + Working with the shell + U...
Problems I have run into as an engineer: a running list
A long note to myself on why engineering and management keep colliding: executives who never "get" programmers, PMP project managers hired to interface with the weirdos, secrecy as office politics, arbitrary deadlines, pay slips that kill morale, and why extraordinary engineers end up starting their own companies.
Drawing Smooth Cubic Bezier Curves
How to draw a smooth Bezier curve with cubic segments — choosing between quadratic and cubic curves, computing the two control points from the midpoint and slope of the start-to-end line, and drawing it on canvas.