Siddharth Gupta

I build tools for understanding the world in 3D.

EXPLORE WORK ↓ GITHUB ↗

Technologies

PYTHON
QGIS
PYQT
OPEN3D
GAUSSIAN SPLATTING
LIDAR & POINT CLOUDS
PHOTOGRAMMETRY
GIS
REMOTE SENSING
SCIKIT-LEARN
CLOUDCOMPARE
AGISOFT PHOTOSCAN
PIX4D MAPPER
BLENDER
CLAUDE API
LANGGRAPH · AI AGENTS
COMPUTER VISION

Selected Work

04 PROJECTS
FIG. 01
01/ 04

QuickPointForge

Gaussian Splatting → LiDAR-like Point Clouds

Simulates a LiDAR-style scan straight from Gaussian splat centres using spherical binning instead of ray casting, with Velodyne and Ouster sensor presets, a dual-viewport Open3D desktop app and export to PCD, PLY or NPY. GitHub ↗

PYTHONGAUSSIAN SPLATTINGPOINT CLOUDSOPEN3D
Results: integration of close-range photogrammetry and TLS datasets — far-range, near-range, TLS scan, integrated point cloud and point cloud density FIG. 03 — TERRESTRIAL SCAN
03/ 04

LiDAR & 3D Documentation

Capturing and understanding physical spaces

Terrestrial laser scanning and imaging used to record architectural heritage as measurable, navigable 3D point clouds.

M.Tech thesis, IIRS Dehradun (2020). A framework combining LiDAR with camera and drone imagery, using fractal analysis to reconstruct damaged areas. Related paper ↗

LIDARPHOTOGRAMMETRYPOINT CLOUDS3D
04/ 04

LiDAR Simulation

Exploring how physical environments become spatial data

A new version of Limulator, IIT Kanpur's synthetic LiDAR simulator: a configurable multi-channel sensor ray-casts through an octree-indexed 3D scene to produce the returns a real scanner would record. Later rebuilt as a Blender plugin, and used to generate training data for point-cloud classification.

PYTHONLIDARSIMULATION3D
FIG. 04 — SYNTHETIC SCAN, 16 CHANNELS

Lab

Experiments, ideas and things I'm currently exploring.

ENTRIES 01—15
ENTRY 01QGIS PLUGIN
QuickMapLink plugin iconQuickMapLink demo

QUICKMAPLINK

Right-click the map canvas to open that spot in Google Maps, Bing Maps, Apple Maps, OpenStreetMap, OpenTopoMap or Wikimedia.
13,440 DOWNLOADS · QGIS ↗ · GITHUB ↗

ENTRY 02QGIS PLUGIN
QuickMapCompare plugin iconQuickMapCompare demo

QUICKMAPCOMPARE

Builds a grid of side-by-side viewports in a dockable panel to compare QGIS layers, tile basemaps and web maps, live-synced to the main canvas.
5,123 DOWNLOADS · QGIS ↗ · GITHUB ↗

ENTRY 03QGIS PLUGIN
QuickMapGif plugin icon

QUICKMAPGIF

Captures a sequence of map canvas frames and exports them as an animated GIF, with no external dependencies.
2,096 DOWNLOADS · QGIS ↗ · GITHUB ↗

ENTRY 04QGIS PLUGIN
QuickMapCine plugin iconQuickMapCine demo: 3D terrain flythrough in QGIS

QUICKMAPCINE

Animates the QGIS 3D map view camera along parametric paths (helix, Lissajous, torus knot, trefoil knot) and exports the flythrough as a video.
1,376 DOWNLOADS · QGIS ↗ · GITHUB ↗

ENTRY 05WEB GAME
Unsplat it home screen with six Gaussian splat scenes

UNSPLAT IT

A browser puzzle game: a Gaussian splat scene is cut into angular chunks, and you rebuild it by placing each chunk on a top-view sphere and rotating it until the 3D view looks right. Six scenes, from a room to a LEGO Vespa, with a timer. Python chunking pipeline; TypeScript, Three.js and a Gaussian splat renderer in the browser.

ENTRY 06RESEARCH
View coverage of a naive capture (14%) versus a guided capture (75%)

PHONE COVERAGE GUIDE

Does view coverage predict 3D reconstruction quality? A metric scores how much of the sphere around an object a capture has seen, from COLMAP camera poses: on real captures a guided sweep scored 75% against 14% for a casual lap. A live mode streams video from an Android phone, tracks the camera with monocular visual odometry and tells you which side still needs shots.

ENTRY 07AI · MULTI-AGENT
RESEARCHCURRICULUMSCRIPTREVIEWRETRYSLIDESDIAGRAMSQUIZNARRATIONHUMAN CHECKQAEXPORT14 AGENTS · LANGGRAPH

COURSEFORGE

AI course-production platform: a LangGraph pipeline of 14 agents researches a topic, plans the curriculum, writes and technically reviews scripts, then generates slides, diagrams, quizzes, runnable demo code and narration, with human-in-the-loop checkpoints, QA and export. FastAPI, Celery, Qdrant and a Next.js studio, with Claude, Gemini, OpenRouter or Ollama as the model backend.
GITHUB ↗

ENTRY 08WEB
Pixly website homepage

PIXLY WEBSITE

Website and web app for Pixly, an event photo platform: guests join with a 6-character code and upload from their phones, hosts approve what goes live, and AI organizes the gallery by face.
GOPIXLY.COM ↗

ENTRY 09ANDROID
Pixly app icon

PIXLY ANDROID APP

Native Android app for Pixly guests and hosts, with a persistent upload queue that survives spotty venue Wi-Fi and full-resolution photo and video uploads.
GOPIXLY.COM ↗

ENTRY 10DESKTOP
Pixly Desktop sign-in screen

PIXLY DESKTOP

Host and photographer app for Windows and macOS: AI face recognition runs locally across the whole event library so guests can find every photo they appear in, plus shortlist and export workflows.
GOPIXLY.COM ↗

ENTRY 11ANDROID
Atelier Boutique Manager app icon

ATELIER BOUTIQUE MANAGER

Android app for running a boutique.
COM.ATELIER.BOUTIQUEMANAGER

ENTRY 12WEB
Hunarworld homepage

HUNARWORLD

Website for The Hunar Hub, a skill-based learning platform that connects kids with verified teachers for languages, music, arts and more, with career counselling, articles and a teacher onboarding flow. Built with Next.js.
HUNARWORLD.COM ↗

ENTRY 13AUTOMATION
TIMESHEETINV-2026-014$ 4,250.00PAIDSLACKSHEETSEMAILGENERATE → SEND → TRACK → RECONCILE

INVOICE AUTOMATION BOT

Python app that pulls hours from a timesheet system, generates PDF invoices from HTML templates, sends them over Slack, logs them in Google Sheets, and marks them paid by scanning email for payment confirmations. CLI and web UI.
GITHUB ↗

ENTRY 14WEB APP
ASANATRELLOLINEARTODAY · 7.5 HCLIENT ACLIENT ACLIENT BCLIENT CSLACKCRONOLOGIMPORT → LOG → REPORT → SYNC

DAILYREPORTER

Laravel web app for logging daily work across clients: import tasks by URL from Asana, Trello or Linear, track time entries and to-dos, generate daily, weekly, monthly and custom reports grouped by client (exported as Markdown or CSV), sync hours to Cronolog and post reports to Slack.
GITHUB ↗

ENTRY 15DESKTOP
TOTPGITHUB482 913COPYGMAIL107 266COPYAWS935 041COPY+ ADD ACCOUNT

TOTP

Desktop authenticator in Python that generates two-factor codes for multiple accounts, with a live countdown, one-click copy and auto-refresh every second.
GITHUB ↗

Writing / Teaching

JOURNAL OF THE INDIAN SOCIETY OF REMOTE SENSING · 2024 Role of simulated LiDAR data for training 3D deep learning models PAPER ↗ JOURNAL OF THE INDIAN SOCIETY OF REMOTE SENSING · 2023 Damage detection and virtual reconstruction of built heritage PAPER ↗ UDEMY COURSE · 254 STUDENTS · 4.1 ★ LiDAR fundamentals and applications COURSE ↗ LINKEDIN · SEP 2026 Can you make one LiDAR “see” like another? Cross-sensor point cloud translation ARTICLE ↗
Portrait of Siddharth Gupta

ABOUT

I work at the intersection of geospatial data, 3D representations and software. My work has taken me from GIS and remote sensing to terrestrial LiDAR, point-cloud processing, simulation and tools for working with spatial data.

7+ Years GEOSPATIAL + SOFTWARE
LiDAR / 3D RESEARCH + ENGINEERING
QGIS PLUGIN DEVELOPMENT