Pranjal Sailwal

recovering from log

  1. seq 0000recovering from log

AetherScan

“How much can you trust a single air-quality reading?”

Air quality platform quantifying disagreement between 8 sensor networks

11

data sources, each with licence, rate limit and how provenance is kept

53

API route handlers

12

backend test files, each named test_*.py

Reel 1 of 7: Now showing

Scroll to watch. Click someone in the audience.

  • In the audience

Now showing

AetherScan

Air quality platform quantifying disagreement between 8 sensor networks

The case in short.

The problem
Air-quality networks disagree with each other even at sensors placed side by side, and nobody documents how much to trust each one. Most dashboards average the disagreement away.
Who it is for
Students and faculty in a university disaster management unit, who use it for coursework.
My part
Backend, on a four-person team.
4people on the team, about 1,050 developer-hours, Pranjal as backend lead

How it was done

  1. I built an async FastAPI backend that pulls from the documented data sources through HTTPX.
  2. I scored every reading for freshness, spatial relevance, sensor reliability and validity, and combined sources with a confidence that falls as they disagree.
  3. I refused to invent data: a missing value shows as unavailable, never as a filled-in guess.
  4. I wrote the data-quality method, the source registry and a limitations file, so the project says what it cannot do.

What came out

A deployed front end and a documented backend. The docs also list what it cannot do: the quantum module runs on a classical simulator.

What it rests on.

Every figure about this project, and how each one is known. The folder structure, languages and history on the right are read straight from GitHub, so they say what the code is, not what I wish it were.

11data sources, each with licence, rate limit and how provenance is kept
53API route handlers
12backend test files, each named test_*.py
0 speed-upthe quantum module runs on a classical simulator
10 to 20%gap between sensors placed side by side
4people on the team, about 1,050 developer-hours, Pranjal as backend lead
github.com / sailwalpranjal / AetherScan

58

commits

219

files

34

folders

53.7 MB

on disk

  • Python 43%
  • TypeScript 33%
  • TeX 24%
  • CSS 0.8%
  • JavaScript 0.0%
  • AetherScan/
  • frontend/93 files
    • src/
    • public/
    • .env.example
  • backend/92 files
    • data_sources/
    • layers/
    • tests/
  • docs/27 files
    • execution-flows/
    • API.md
    • ARCHITECTURE.md
  • .gitignore
  • presentation.tex
  • progress_report.tex
  • README.md
  • render.yaml
  • report.tex
  • research_paper.tex
Jan 2026 → Sep 2026.py ×79.tsx ×66.md ×16.ts ×14.puml ×12

NitroDB

An embedded LSM-tree storage engine, built from papers with no tutorial

If you want to talk about how this was built, write to me.

  1. seq 0001you arrived
  2. seq 0002write back