GitHub

Every public repository, in one place.

A live index of my scientific software and research: 31 curated exoplanet target reports, detection-method implementations, interactive astrophysics labs, larger platforms, and the academic work around them. Repository names, descriptions, counts, links, and recent activity refresh directly from GitHub whenever this page opens.

Loading the latest public GitHub data…

85
Public repositories
71
Repositories with live sites
31
Individual exoplanet targets analyzed
30
Interactive labs and platforms
46
Repos built on real public data

Live from GitHub

Latest commits

View full activity

Fetching recent public commits…

Full catalog

Every repository, searchable

Filter by type, instrument, or evidence status. The curated research records are enriched with every current public repository returned by GitHub.

85 repositories
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

55 Cancri e: Converting Season-Split Spitzer Occultation Depths into Dayside Temperatures

Do season-split Spitzer/IRAC occultation-depth measurements of lava world 55 Cancri e, independently inverted into dayside brightness temperatures via the Planck function, reproduce the season-to-season variability significance Demory et al. (2016) report?

  • Spitzer/IRAC
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

GJ 1214 b: Inverting JWST MIRI Phase-Curve Photometry into Day/Night Brightness Temperatures

Does inverting real JWST MIRI phase-curve flux ratios of the flat-spectrum mini-Neptune GJ 1214 b into per-bin day and night brightness temperatures quantify genuine evidence for atmospheric heat redistribution, compared with Kempton et al. (2023)'s own published values?

  • JWST/MIRI
Repository social preview image.
Public-data reanalysis

GJ 3470 b: Sulfur Photochemistry on a Warm Neptune

A low-mass warm Neptune whose JWST spectrum reveals disequilibrium sulfur chemistry, paired with a reproducible TESS transit fit and a source-graded molecular evidence review.

  • TESS
Repository social preview image.
Public-data reanalysis

GJ 9827 d: A Dense Super-Earth at the Atmosphere Boundary

Does a timing-aware TESS transit pipeline detect and characterize the transit of GJ 9827 d, a nearby planet near the boundary between rocky worlds and volatile-rich sub-Neptunes?

  • TESS
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

HAT-P-11 b: An Independent In-Transit vs. Out-of-Transit Check on CARMENES Helium 10830 Å Data

Does this repo's own descriptive in-transit vs. out-of-transit flux statistic on Allart et al. (2018) CARMENES helium 10830 Å transit data support the published atmospheric-escape detection for the warm Neptune HAT-P-11 b, without conflating the two as the same measurement?

  • CARMENES
Repository social preview image.
Public-data reanalysis

HAT-P-26 b: Transit Structure of a Warm Neptune

What does reproducible TESS transit fitting and noise diagnostics reveal about the transit geometry of the low-density warm Neptune HAT-P-26 b, kept separate from its published atmosphere literature?

  • TESS
Repository social preview image.
Public-data reanalysis

HAT-P-32 b: An Inflated Giant behind a Hazy Limb

Does a timing-adjusted TESS transit fit with conservative correlated-noise scaling cleanly measure the transit of the inflated, haze/cloud-shaped hot Jupiter HAT-P-32 b around its active F-type host?

  • TESS
Repository social preview image.
Null / mixed result

HD 106315 b: Mixed TESS Evidence for a Warm Super-Earth

Does timing-adjusted TESS transit fitting give consistent support for HD 106315 b across the available sectors, or does it produce mixed evidence that resists overconfident combination?

  • TESS
Repository social preview image.
Public-data reanalysis

HD 149026 b: Carbon Dioxide over a Giant Heavy-Element Core

A compact Saturn-mass planet with an unusually large heavy-element inventory, joining a TESS transit analysis to the published JWST CO2 and H2O interpretation.

  • TESS
  • JWST/NIRCam
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

HD 189733 b: A Two-Window Band-Contrast Check on the JWST NIRCam Transmission Spectrum

Does a simple two-window band-contrast statistic run on the real JWST NIRCam transmission spectrum of HD 189733 b show significant structure consistent with, but not a substitute for, Fu et al. (2024)'s full-retrieval molecular detection significances?

  • JWST/NIRCam
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

HD 209458 b: A Four-Pipeline JWST MIRI Test for Magnesium Silicate Clouds

Using a 2026 JWST MIRI transmission spectrum, does the spread between four correlated data-reduction-tree leaves (testing for magnesium silicate clouds) exceed the photon-noise error on any single leaf's spectrum?

  • JWST MIRI
  • HST STIS
Repository social preview image.
Public-data reanalysis

HD 97658 b: A Nearby Warm Super-Earth in Transit

Does a timing-adjusted TESS transit fit compactly and reproducibly measure the transit of HD 97658 b around its bright, nearby K-dwarf host?

  • TESS
AI-generated artist's interpretation, not a direct image or observation.
Null / mixed result

K2-18 b: Testing the Contested CO2 Signal in a Combined, Offset-Corrected JWST Spectrum

Using a combined, offset-corrected JWST NIRISS SOSS + NIRSpec G395H + MIRI LRS spectrum, does the CO2 absorption band show a statistically significant excess over the nearby continuum, following up on the 2023 CO2/DMS claims and the ongoing debate over combining data from different JWST instruments?

  • JWST NIRISS SOSS
  • JWST NIRSpec G395H
  • JWST MIRI LRS
Repository social preview image.
Null / mixed result

Kepler-51 b: Stress-Testing a Super-Puff with TESS

Does a single-sector TESS light curve support a transit detection for the ultra-low-density super-puff Kepler-51 b, used here as a transparent null-result stress test?

  • TESS
AI-generated artist's interpretation, not a direct image or observation.
Null / mixed result

LHS 475 b: Chi-Squared Testing of a JWST NIRSpec Spectrum Against Candidate Atmosphere Models

Does the published JWST NIRSpec/G395H transmission spectrum of LHS 475 b statistically favor or rule out a flat (featureless) line, or specific candidate atmosphere models (pure methane, 1x-solar hydrogen-rich, clear Venus-like CO2, pure CO2)?

  • JWST NIRSpec/G395H
Repository social preview image.
Public-data reanalysis

LTT 9779 b: A Reflective Survivor in the Hot-Neptune Desert

A rare ultra-hot Neptune surviving where such planets are scarce, analyzed through TESS photometry and placed in the context of its unusually reflective dayside.

  • TESS
Repository social preview image.
Public-data reanalysis

TOI-270 d: A Temperate Sub-Neptune in a Compact System

The outer transiting world in a compact M-dwarf system, examined here through its TESS timing, transit support, and the limits of what broadband photometry can say about atmosphere.

  • TESS
Repository social preview image.
Null / mixed result

TOI-836 b: What a Flat JWST Spectrum Can Rule Out

Does timing-adjusted TESS photometry confirm the TOI-836 b transit, and does the public JWST NIRSpec/G395H spectrum show resolved molecular features or instead statistically constrain what kind of atmosphere the planet cannot have?

  • TESS
  • JWST/NIRSpec
AI-generated artist's interpretation, not a direct image or observation.
Null / mixed result

TRAPPIST-1 e: A Flatness Test of the Decontaminated JWST NIRSpec/PRISM Spectrum

Is the decontaminated, stellar-contamination-corrected JWST NIRSpec/PRISM transmission spectrum (four combined transits) of TRAPPIST-1 e consistent with a flat, featureless spectrum, and how does that compare with the atmosphere constraints Espinoza et al. (2025) publish from their own retrieval?

  • JWST NIRSpec/PRISM
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

WASP-107 b: A JWST NIRISS SOSS Transmission Spectrum of a Puffy Warm Neptune

What does a reduced JWST NIRISS SOSS transmission spectrum of the puffy, low-density warm Neptune WASP-107 b show, and how does it relate to separately reported SO2 and depleted-methane detections from other JWST instruments?

  • JWST NIRISS SOSS
  • JWST MIRI
  • JWST NIRSpec
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

WASP-121 b: Day-Night Brightness Temperature Contrast from JWST Phase-Resolved Emission Spectroscopy

What is the day-night brightness-temperature contrast of the ultra-hot Jupiter WASP-121 b, extracted from JWST NIRSpec/G395H phase-resolved emission spectroscopy with each point's own posterior uncertainty propagated?

  • JWST NIRSpec/G395H
  • JWST NIRISS/SOSS
Repository social preview image.
Public-data reanalysis

WASP-127 b: An Extreme Super-Puff Giant

An extraordinarily low-density giant with an extended atmosphere, used here to test how a timing-aware transit fit behaves for a very puffy planet.

  • TESS
Repository social preview image.
Public-data reanalysis

WASP-12 b: A Doomed Hot Jupiter with a Decaying Orbit

A severely irradiated giant spiralling toward its star, framed as a careful TESS timing analysis where ephemeris drift is itself part of the science.

  • TESS
Repository social preview image.
Public-data reanalysis

WASP-17 b: Water Emission from an Inflated Hot Jupiter

An exceptionally inflated giant planet examined through a corrected TESS transit and three independent reductions of its JWST/NIRISS dayside emission spectrum.

  • TESS
  • JWST/NIRISS
Repository social preview image.
Public-data reanalysis

WASP-18 b: An Ultra-Hot Jupiter in Water Emission

A massive, intensely irradiated giant on a 0.94-day orbit, combining a TESS transit fit with four reductions of a JWST dayside spectrum shaped by water emission.

  • TESS
  • JWST/NIRISS
Repository social preview image.
Public-data reanalysis

WASP-19 b: One Day in the Life of a Hot Jupiter

A hot Jupiter completing an orbit in under a day, analyzed with timing freedom and explicit noise inflation in a regime where irradiation and stellar variability matter.

  • TESS
Repository social preview image.
Public-data reanalysis

WASP-39 b: Carbon Dioxide in a Puffy Hot Saturn

A low-density hot Saturn whose atmosphere became the first clear JWST exoplanet carbon-dioxide benchmark, paired here with a timing-adjusted TESS transit fit and a public NIRSpec spectrum.

  • TESS
  • JWST/NIRSpec
Repository social preview image.
Public-data reanalysis

WASP-43 b: Mapping a Hot Jupiter from Day to Night

A tidally locked giant used as a weather laboratory: the report joins a corrected TESS transit to a phase-resolved JWST/MIRI spectrum and its day-night thermal contrast.

  • TESS
  • JWST/MIRI
Repository social preview image.
Public-data reanalysis

WASP-69 b: A Warm Saturn with an Escaping Atmosphere

A low-density warm giant orbiting an active K star, presented as a transit-timing and correlated-noise case study with the broader context of atmospheric escape.

  • TESS
Repository social preview image.
Public-data reanalysis

WASP-80 b: Methane across a Cool Giant's Atmosphere

Does a reproducible TESS transit fit for the comparatively cool warm Jupiter WASP-80 b hold up, and what does a source-graded review of the published JWST evidence say about its methane and water content?

  • TESS
  • JWST
AI-generated artist's interpretation, not a direct image or observation.
Public-data reanalysis

WASP-96 b: JWST's First Published Exoplanet Spectrum and a Terminator Asymmetry Check

What do JWST's first published exoplanet transmission spectrum (NIRISS SOSS) and a later NIRSpec G395H morning/evening limb dataset show about WASP-96 b's water-vapor signature and possible terminator asymmetry?

  • JWST NIRISS SOSS
  • JWST NIRSpec G395H
AI-generated artist's interpretation, not a direct image or observation.
Validated on synthetic signal

Angular Differential Imaging: A From-Scratch ADI Pipeline Recovering a Companion Buried in Speckle Noise

Can a from-scratch Angular Differential Imaging (ADI) reduction pipeline recover a companion injected into a simulated speckle-limited imaging sequence, and what does a small-sample-corrected contrast curve say about the achievable detection limit?

  • Keck
  • Gemini North
AI-generated artist's interpretation, not a direct image or observation.
Validated on synthetic signal

Point-Lens Microlensing: Blind Detection and Mass-Ratio Recovery of a Simulated Planetary Perturbation

Can a from-scratch point-source point-lens (PSPL) model plus planetary-perturbation scaling relations blindly detect and characterize a simulated planetary microlensing perturbation, without the detection or characterization steps ever referencing the injected signal's true parameters?

  • OGLE
  • MOA
  • KMTNet
AI-generated artist's interpretation, not a direct image or observation.
Validated on synthetic signal

Keplerian Radial-Velocity Orbit Fitting: A From-Scratch Implementation Validated by Injection-Recovery

Can a from-scratch Keplerian RV model (with a Newton-Raphson Kepler-equation solver), fitted via a Lomb-Scargle periodogram and nonlinear least squares, recover a known orbit injected into a simulated dataset with HARPS-class noise and realistic irregular sampling?

  • HARPS
  • ESPRESSO
  • Keck/HIRES
AI-generated artist's interpretation, not a direct image or observation.
Validated on synthetic signal

Box Least Squares Transit Detection: A From-Scratch Implementation Validated by Injection-Recovery

Can a from-scratch Box Least Squares (BLS) period search — blind over trial period, phase, and duration — recover a known synthetic transit signal injected into a simulated Kepler-noise-level light curve?

  • Kepler
  • TESS
Figure generated by this repository's own analysis or simulation.
Research benchmark

HST CCD Cosmic-Ray Rejection Benchmark

A controlled benchmark with injected ground truth on real HST ACS/WFC cutouts, not a replacement for Astro-SCRAPPY, deepCR, Cosmic-CoNN, or HST's own pipeline. Across every swept sigclip value from 3.0 to 10.0, cosmic-ray detection recall stayed perfect (1.00), but precision, PSF-core false-masking, and aperture-flux bias were all far worse on real data than on a clean synthetic demonstration field at every matched sigclip value. Detection sensitivity is not the bottleneck on real data; the real cost is false-masking of genuine sources and biased photometry, driven by real-image effects the synthetic benchmark alone does not capture.

  • Python
  • pytest
  • DAOStarFinder
Figure generated by this repository's own analysis or simulation.
Research benchmark

Euclid NISP Spectral-Contamination Reliability Audit

An external audit of a released Euclid NISP contamination indicator, not a decontamination, extraction, or redshift pipeline. On a real Euclid Q1 tile, the spe_error_flag contamination indicator turned out to be constant across the entire real catalogue, making the planned clean/flagged group comparison degenerate for this tile. This is reported as a genuine finding about the real catalogue's flag, not a pipeline failure: the synthetic injection-recovery gate and a permuted-label negative control both passed independently, confirming the pipeline itself works.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

Euclid Q1 VIS PSF and Astrometry Audit

A small external reproducibility audit, not a weak-lensing PSF solution or replacement for the official VIS pipeline. Point-source FWHM and ellipticity measured on real Euclid Q1 VIS cutouts are consistent with the image quality reported in the verified VIS processing paper, an independent literature cross-check rather than a self-consistency check. The Gaia affine-alignment step found zero matches on real data; diagnosis showed this reflects the specific fields not being matched to Milky Way stars in the reference catalogue used, not broken matching code, since the same code is validated with a known exact match on synthetic data.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

JWST WASP-39 b Transmission-Spectrum Evidence Ladder

A transparent model-comparison bridge over the paper's own published nested best-fit models, not a full atmospheric retrieval or replacement for TauREx/petitRADTRANS. Using the real, published WASP-39 b transmission spectrum, a weighted chi-square/AIC/BIC evidence ladder strongly prefers the model including CO over the full spectrum, consistent with the original paper's own CO detection. A leave-one-wavelength-segment-out check finds two of three independent segments individually favour the CO model; the one that does not is consistent with the known physical location of the CO feature rather than a contradiction of the full-spectrum result.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

Gaia Wide-Binary Astrometric Consistency Audit

A compact uncertainty-calibration audit, not a new binary catalogue, orbit fit, or gravity test. On real wide double-white-dwarf pairs, a substantial fraction were flagged inconsistent, and the empirical Gaia uncertainty scale factor varied widely across magnitude and separation bins. This is presented as a genuine finding, not a fabricated one: large scale factors in the closest pairs are plausibly driven by real orbital motion that the pipeline assumes to be zero, rather than purely reflecting a Gaia uncertainty-calibration defect, and this distinction is documented explicitly rather than overclaimed.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

Fermi GBM T90 Reproducibility Lab

A transparent reproducibility lab, not an official GBM duration or spectral-analysis pipeline. On real Fermi GBM data from two well-known triggers, this pipeline's T90 estimates diverge substantially from the official Fermi GBM Burst Catalog in both directions, for verified, documented reasons rather than fabricated agreement: background drift causes a large overestimate for one burst, and a fixed analysis window shorter than the true burst duration causes a large underestimate for the other. The synthetic injection-recovery gate passed independently, confirming the pipeline mechanics work, so the real-data divergence is reported as a genuine finding about the limits of simplified T90 estimation rather than a bug.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

HST ACS/WFC Two-Axis CTE Trail Audit

An independent archive-product verification, not a replacement for CALACS or a new PCTETAB. Across real HST FLT/FLC exposure pairs, candidate charge-transfer trail sources were detected and fit-quality/physical-plausibility checked, with rejected sources recorded rather than silently dropped, yielding a median trail-charge suppression fraction. Charge- and transfer-distance-binned results are reported but every bin falls below the project's own minimum-sample-size threshold and is flagged as underpowered rather than overclaimed.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

HST WFC3/IR Up-the-Ramp Linearity Audit

An archive-level verification, not a replacement for calwf3 or a new calibration reference file. Fitting real WFC3/IR up-the-ramp pixel data shows residuals from an early-read linear fit growing strongly negative with accumulated fluence, a clear, monotonic nonlinearity signal qualitatively consistent with the verified literature, and confirmed in the same direction by an independent early-vs-late read rate comparison. One genuine, reported real-data limitation: the TR readout quadrant produced zero successful measurements in this specific sample, documented rather than hidden or worked around.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

JWST/NIRSpec Micro-Shutter Throughput Loss Sandbox

An instrument-physics QA sandbox built on verified official NIRSpec instrument parameters and a Monte Carlo forward model, not a replacement for the JWST pipeline or official path-loss corrections, and not a fit to real observed spectra. A production 20,000-trial Monte Carlo run gives a mean geometric slit throughput with a substantial fraction of trials drawing a closed shutter and contributing zero throughput. The model was validated against an independently-derived closed-form expression and against a known injected PSF width, both recovered to high precision.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

SDSS Night-Sky Residual Quality Audit

A released-product QA audit, not a new SDSS sky-subtraction or raw reduction pipeline. On real SDSS DR17 spectra, two known night-sky windows show a bootstrap-confirmed excess in residual structure relative to matched local control windows, while three other control windows examined show no comparable excess. This is presented as a genuine detected effect in a specific, small, deterministic real sample, not a survey-scale claim.

  • Python
  • pytest
  • React
Figure generated by this repository's own analysis or simulation.
Research benchmark

TESS Scattered-Light Quality-Flag Audit

A focused audit layer over existing TESS quality flags, not a replacement for Lightkurve, SPOC, QLP or MAST. Across real TESS Sector 40 SPOC light-curve files, the Straylight2 scattered-light quality flag was never set in this sample, directly confirmed by inspecting the raw QUALITY column values rather than assumed. This is reported as a genuine null result for this specific small deterministic sample, not a claim that no TESS target ever shows scattered-light contamination, and the synthetic injection-recovery gate independently confirmed the pipeline can detect elevated scatter when it is actually present.

  • Python
  • pytest
  • React
Interactive lab

Adaptive Optics Wavefront Lab

Boots into real released ESO CIAO adaptive-optics telemetry (Shack-Hartmann wavefront-sensor gradients, subaperture intensities, and high-order deformable-mirror commands from the AOT Zenodo data release) rendered as WebGL heatmaps with playback of Strehl, slope RMS, command RMS, and mean flux. An optional Simulation Mode, off by default, lets you generate Zernike (Noll-index) wavefront aberrations and tune proportional/integral controller gains to see how residual RMS, Strehl ratio, and the point-spread function respond.

  • JavaScript
  • WebGL
  • GLSL
Repository social preview image.
Interactive lab

CosmicLens Lab

Lets you build and view gravitational-lens systems in real time, adjusting source and lens parameters across point-mass, SIS, SIE-like, NFW, Sersic-inspired, composite, and external-shear models, and switch between lensed-image, magnification-map, time-delay/Fermat-surface, parity-map, and source-plane render modes. Ships with preset scenes (Einstein rings, quad lenses, cluster arcs, subhalo anomalies), deterministic animation with FrameGrid/PNG/JSON export, and a Python validation package that cross-checks the TypeScript lensing physics against analytic solutions.

  • TypeScript
  • WebGL2
  • WebGPU
Interactive lab

Gravitational Wave Chirp Lab

Loads the official GWOSC GW150914 calibrated strain file (H1 or L1), band-passes and windows it, and renders a live spectrogram entirely inside a Web Worker so the UI stays responsive. A leading-order post-Newtonian inspiral model can be switched on as a comparison overlay, explicitly never presented as measured data; if the real strain data can't be loaded, the console reports an error rather than substituting simulated data.

  • JavaScript
  • Web Worker
  • Python
Interactive lab

Hydrogen 21cm Line Lab

Opens with real observational products rather than a simulated galaxy: the HI4PI all-sky H I map and Leiden/Argentine/Bonn (LAB) survey spectral profiles at 73 Galactic longitudes, shown as an H I sky panel, a spectrum panel, and a longitude-velocity panel. A Peak Interpretation panel automatically detects velocity components in the real LAB spectra and converts each into an implied Galactocentric radius via the flat-rotation-curve relation, and an optional Simulation Overlay compares the observed spectrum against an adjustable forward model (path length, velocity dispersion, rotation curve, solar radius and circular speed).

  • JavaScript
  • Canvas
  • Web Workers
Interactive lab

Interferometry Baseline Lab

Streams the official EHT Collaboration 2019-D01-01 calibrated Stokes-I visibility data of M87 from the April 2017 campaign (all four released observation days, both released frequency bands), converts the released polar visibilities into complex components, and grids them to produce a u-v coverage display, visibility-amplitude track, dirty beam, and dirty image via 2D IFFT. An optional Model Reference overlay adds a separate asymmetric annular brightness-ring model for visual comparison without altering the observed dirty image, and results can be exported as CSV.

  • JavaScript
  • Web Workers
  • Canvas
Interactive lab

Jana's RV Doppler Observatory

A frontend-plus-optional-backend console for radial-velocity exoplanet work: search a bundled 2,000-target NASA Exoplanet Archive snapshot, upload real RV time series, run a period scan and first-pass Keplerian grid fit via a dedicated browser worker, and check BIS/FWHM/S-index/H-alpha activity indicators. An optional FastAPI backend adds live archive metadata beyond the static snapshot.

  • JavaScript
  • Web Worker
  • Python
Interactive lab

Pulsar Timing Lab

Displays published NANOGrav 11-year timing residual samples and DMX (dispersion-measure variation) values for selected millisecond pulsars as the primary, unmodified plots, then layers a deliberately separate simulation overlay adding rotational phase, cold-plasma dispersion delay, red/white timing noise, and optional frequency-step glitches, without re-fitting or subtracting a model from the real NANOGrav data.

  • JavaScript
  • Python
  • NANOGrav 11-year data release
AI-generated artist's interpretation, not a direct image or observation.
Interactive lab

Quantum Tunneling in Spacetime

Runs a real split-operator Schrodinger solver live in the browser (no build step) covering 1D barrier penetration, the tunneling-time controversy, relativistic Klein tunneling, false-vacuum decay, and Hawking radiation as tunneling, with a companion Python suite that reproduces and validates the numerics. Includes reference notes on WKB theory, the Hartman effect and attoclock measurements, the Klein paradox, and instanton-based vacuum decay.

  • JavaScript
  • Python
  • split-operator method
Interactive lab

Asteroseismology Mode Lab

An interactive browser lab that builds a synthetic p-mode comb (asymptotic relation nu(n,l) ~= Delta_nu(n + l/2 + eps) - l(l+1)D0) from adjustable large separation, nu_max, linewidth and inclination sliders, rendered alongside real published reference anchors. It computes live mass and radius proxies from the Kjeldsen & Bedding (1995) scaling relations (M/Msun ~ (nu_max/nu_max,sun)^3 (Delta_nu/Delta_nu,sun)^-4 (Teff/Teff,sun)^1.5) and classifies the star's evolutionary state from the resulting radius.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Figure generated by this repository's own analysis or simulation.
Interactive lab

Blackbody Radiation Visualiser

Lets you explore the Planck curve shape, its peak wavelength, Wien's displacement law, an approximate stellar colour trend, and the visible wavelength range as temperature changes. Combines a Python model (main.py) with a web-based visualisation to show why hotter objects emit more energy and peak at shorter wavelengths.

  • Python
  • JavaScript
  • HTML/CSS
Interactive lab

CMB Acoustic Peak Lab

A phenomenological model of the D_l vs multipole l power spectrum, with sliders for Omega_m, h, n_s and a lensing/damping smoothing term, plotted against the actual 83-bin Planck 2018 TT power spectrum (COM_PowerSpect_CMB-TT-binned_R3.01.txt, downloaded from the Planck Legacy Archive) with real measured uncertainties. It reports the model's peak-position offset from the real Planck first-peak location and the first-to-second peak height ratio, the same diagnostic Planck uses to constrain the baryon density Omega_b h^2.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Interactive lab

Cosmic Shear Tomography Lab

A closed-form analytic stand-in for the Limber/Bessel-projected cosmic shear correlation function xi_plus(theta), with sliders for sigma8, Omega_m, source-bin mean redshift and an intrinsic-alignment amplitude, plotted on log-log axes against illustrative KiDS/DES-style reference anchors. It derives the amplitude combination S8 = sigma8*sqrt(Omega_m/0.3) live and compares it against real published KiDS-1000, DES Y3 and Planck 2018 S8 constraints.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Interactive lab

Dark Matter Rotation Curve Lab

Builds a rotation curve as the quadrature sum of an exponential-disk term, a compact-bulge term, and a pseudo-isothermal dark-matter halo term (v_total = sqrt(v_disk^2 + v_bulge^2 + v_halo^2)), with sliders for disk mass, bulge mass, halo speed and halo core radius. The reference data is the actual 43-point observed rotation curve of NGC 3198 from the SPARC database (Lelli, McGaugh & Schombert 2016), and the lab computes a dynamical mass and dark-matter mass fraction (~80% at the outermost observed radius) directly from the fit.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Figure generated by this repository's own analysis or simulation.
Interactive lab

Doppler Shift Visualiser

Shows how spectral lines move for an object with radial motion relative to the observer: positive velocity (moving away) produces redshift, negative velocity (moving toward) produces blueshift, using the small-velocity Doppler approximation delta-lambda/lambda = v/c. Ships as both a Python version (main.py) and a web-based interactive tool.

  • Python
  • JavaScript
  • HTML/CSS
Interactive lab

Exoplanet Atmosphere Retrieval Lab

Computes a parametric transmission-spectrum forward model (Gaussian bands standing in for H2O/CO/CO2 absorption) as functions of temperature, metallicity, cloud-top pressure and a base transit-depth offset, with the baseline transit depth anchored to real WASP-39b planet/star radii queried from the NASA Exoplanet Archive ((Rp/Rs)^2 = 19,592 ppm). The README is explicit that this is a forward model only, not a statistical retrieval: there is no MCMC/nested sampling or posterior, and the response heatmap is a qualitative sensitivity proxy, not a fitted likelihood surface.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Interactive lab

FRB Dispersion Measure Lab

Evaluates the cold-plasma dispersion law t(nu) - t(nu_ref) = k_DM * DM * (nu^-2 - nu_ref^-2) across a 350-1800 MHz frequency sweep, with adjustable DM, reference frequency, intrinsic pulse width and scattering index. Reference anchors are built from the actual measured dispersion measure of FRB 20180916B (fitburst_dm = 349.349 +/- 0.006 pc/cm^3) pulled from the public CHIME/FRB catalog, and the lab converts the current DM into an implied redshift via the Macquart relation, comparing it against FRB 20180916B's real spectroscopic redshift to illustrate the limits of DM as a distance indicator.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Interactive lab

Galaxy Clustering Correlation Lab

Computes xi(r) = bias^2 * (r/r0)^-gamma * exp(-r/65) + bao * exp(-0.5*((r-105)/10)^2), a power-law clustering term plus a Gaussian bump at r ~ 105 Mpc/h representing the BAO feature, with sliders for correlation length, slope, galaxy bias and BAO amplitude, plotted on log-log axes against SDSS/BOSS-style literature-motivated reference anchors (explicitly order-of-magnitude landmarks, not digitized survey data). A bao_implied_H0 metric derives an independent Hubble constant estimate from the observed BAO bump position relative to the real sound horizon r_d = 147.09 Mpc.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Repository social preview image.
Interactive lab

Hyperdimensional Atlas

Lets you rotate hypercubes in coordinate planes (i, j), switch between orthographic, perspective, and staged sequential projection modes, and slice an n-cube through 8D with a fixed-coordinate hyperplane to inspect the resulting lower-dimensional geometry. A live scientific inspector reports the object's Schlafli symbol, vertex/edge/face counts, hypervolume, and boundary measure as the dimension changes, with full exact vertex/edge rendering through 8D and a deterministic sampled skeleton (exact combinatoric counts) from 9D to 50D.

  • JavaScript
  • Three.js
  • WebGL
Figure generated by this repository's own analysis or simulation.
Interactive lab

Gaia Galactic Explorer and H-R Engine

Streams real nearby stars from the Gaia DR3 catalogue via TAP/ADQL (chunked by RA sky slices to avoid single-request failures), computes distance from parallax and absolute Gaia G magnitude, and plots them as an interactive 2D H-R diagram or a 3D local Galactic projection with a Sun marker and main-sequence, giant, supergiant, and white-dwarf region overlays. Includes multiple rendering templates (Gaia stellar colours, classic textbook, density glow, research monochrome), a live telemetry console (rows parsed/accepted/rejected, loading speed, elapsed/remaining time), and PNG export, with no synthetic fallback star data.

  • JavaScript
  • HTML/CSS
  • Python
Interactive lab

Microlensing Event Lab

Implements the Paczynski (1986) point-lens magnification A(u) = (u^2+2)/(u*sqrt(u^2+4)) with u(t) = sqrt(u0^2 + ((t-t0)/tE)^2), plus a blend-fraction-diluted observed flux F(t), driven by tE, u0, blend and cadence sliders. Reference data is the actual 631-epoch I-band light curve of the real OGLE-IV Early Warning System event OGLE-2023-BLG-0001 (160-point stratified subsample with real flux uncertainties), pulled directly from the OGLE archive, showing genuine ~8x peak amplification. A bulge_lens_mass_Msun_estimate metric converts the tE slider into a rough lens mass under typical Galactic-bulge lensing geometry, explicitly labeled an estimate rather than a measurement.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Figure generated by this repository's own analysis or simulation.
Interactive lab

Noise + Signal Simulator

Simulates a clean signal, adds adjustable random noise, and applies smoothing so users can explore the true signal, the noisy observation, and the smoothed recovery side by side, along with noise level, smoothing window, and signal-to-noise ratio controls. Framed around the same SNR problem that affects real telescopes, spectrographs, and detectors.

  • Python
  • JavaScript
Figure generated by this repository's own analysis or simulation.
Interactive lab

Reaction-Diffusion Morphogenesis Lab

Simulates two interacting virtual chemicals under the Gray-Scott reaction-diffusion model, letting users change parameters in real time and watch patterns grow, split, stabilize, or turn unstable, illustrating the same pattern-forming logic behind animal skin patterns, coral-like growth, and biological morphogenesis.

  • JavaScript
Interactive lab

Spectrograph RV Precision Lab

Implements the Bouchy, Pepe & Queloz (2001) photon-noise RV precision relation sigma_RV = c/(Q*SNR), combined in quadrature with an SNR-independent instrument systematic floor, where Q scales with resolving power, line depth and the square root of line density. Reference anchors are precision points read from named HARPS, ESPRESSO and EXPRES instrument papers plotted on log-log axes. The lab converts the resulting precision into the minimum detectable planet mass at 4-day and 365-day orbital periods via the standard RV semi-amplitude relation (Lovis & Fischer 2010).

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Interactive lab

Supernova Hubble Diagram Lab

Numerically integrates the flat-LCDM luminosity-distance relation (E(z) = sqrt(Omega_m(1+z)^3 + (1-Omega_m)), mu(z) = 5*log10(d_L(z)) + 25 + M_bias) with adjustable H0, Omega_m and a magnitude-bias term, plotted against a real 180-supernova stratified subsample of the Pantheon+SH0ES data release (1701 supernovae, Scolnic et al. 2022; Brout et al. 2022) with each point's real 1-sigma uncertainty. An automatic Omega_m grid search finds the best-fit matter density against the real data and compares it to a matter-only (Omega_m = 1) universe to quantify the acceleration signal.

  • HTML5 Canvas 2D
  • vanilla JavaScript
  • Web Worker
Figure generated by this repository's own analysis or simulation.
Interactive lab

Wormhole-sim: A Relativistic Wormhole Simulation Framework

An open-source Python and browser platform implementing wormhole metric definitions, geodesic integration, curvature and stress-energy diagnostics, energy-condition tests, embedding surfaces, gravitational-lensing ray tracing, thin-shell stability, scalar-wave perturbations, and quasinormal-mode estimates, alongside interactive high-definition web visualizations (lensing, embedding, curvature views) with live controls for throat radius, frame dragging, and metric family. Ships a generated physics ledger (physics_audit.py) that recomputes metric signatures, flare-out conditions, and NEC violation checks.

  • Python
  • JavaScript
  • WebGL
Repository social preview image.
Platform

AETHER

AETHER is a personal laboratory of computational-visual studies, described in its own README as 'a growing catalogue of investigations' rather than a single finished artwork, spanning astrophysical studies (galaxy encounters, stellar systems, orbital structures, explosive events), mathematical studies (topology, parametric surfaces, wave fields, chaos, higher-dimensional geometry), particle studies (flow, attraction, emergence, turbulence), and audiovisual studies driven by the Web Audio API. Built on Three.js, WebGL, and GLSL, it currently documents 80 studies, and — distinctively for this portfolio — each one is explicitly classified in-app as a 'physics model,' 'mathematical construction,' or 'visual study' rather than every image being presented as scientifically predictive, with classification and metadata status tracked in a generated Study Atlas. Ten studies directly integrate named dynamical systems (Rössler flow, Duffing dynamics, Chua's double scroll, Hénon–Heiles, double pendulum, Ikeda map, Hénon map, Lorenz-96, Thomas's cyclic labyrinth, Kuramoto synchronization), and the featured Andromeda–Milky Way Encounter is a restricted N-body simulation of two softened galactic potentials that exposes its integration method, units, and limitations directly in the interface. AETHER also hosts a free twelve-chapter 'Field Guide to Three.js' tutorial series, making it part visual-art catalogue and part teaching resource — a broader, ongoing scope than the portfolio's single-purpose labs.

  • Three.js
  • WebGL
  • GLSL
Repository social preview image.
Platform

AstroBis

AstroBis is a browser-native astronomy platform built with Astro, React, and Three.js that bundles nine major modules named directly in its README: a Solar System Atlas (planets through Kuiper Belt, heliopause, and Oort Cloud scales), a Mars 3D Map built on real NASA PDS MOLA elevation data with named surface features and historical landing sites, an EarthOps World Map combining CelesTrak satellites, Launch Library 2 missions, NASA EONET/USGS/GDACS event feeds and spaceflight news, an Exoplanet Explorer on NASA Exoplanet Archive data, ISS Mission Control (SGP4 propagation from CelesTrak orbital elements), Small-Body Watch for near-Earth objects and interstellar visitors, a 3D Stellar Atlas, NASA APOD integration, and a Data Quality Console that audits the freshness, row counts, and provenance of its own bundled data snapshots. Unlike the portfolio's smaller single-purpose labs, AstroBis is explicitly framed as a multi-module ecosystem with its own project report and technical-notes documentation, and it deliberately labels which layers are archive-derived values versus illustrative visualizations (e.g. Oort Cloud particles are stated to be visual representations, not observed objects). It uses build-time data snapshots so the deployed site keeps functioning when third-party APIs are unavailable.

  • Astro 4
  • React 18
  • Three.js
Figure generated by this repository's own analysis or simulation.
Platform

NASADIYA LIGHTCONE

A WebGL explorer that renders real survey data (43,533 observed 2MRS local-Universe rows plus a deterministic 125,000-row public overview drawn from 6,093,818 accepted DESI DR1 large-scale-structure rows) with explicit anti-fabrication guardrails: no generated galaxies, no interpolated filaments, no decorative density points stored as observed objects. A separate Research Mode ships a full-catalogue Parquet research bundle and a Google Colab workflow for reproducible 3D, redshift-distribution, and sky-footprint figures. The repo ships a machine-readable survey-integrity audit (npm run audit:survey) that verifies checksums, tile-count conservation, and the absence of non-human authorship metadata in the scientific manifests.

  • TypeScript
  • WebGL
  • Python
Repository social preview image.
Platform

UNIVERSE

UNIVERSE is proprietary desktop software, built with Electron and a React Three Fiber 3D 'command nexus' interface, for scientific work, personal knowledge, and permissioned PC assistance. Its README-listed working capabilities include voice-to-voice interaction with persistent turn-taking, conversational routing to named specialist agents (Kepler, Vega, Newton, Muse, Atlas), a 3D 'knowledge constellation' for exploring stored information, live tool integrations (weather, NASA, arXiv, allow-listed app/music launching), optional local LLM inference via Ollama or cloud inference via Gemini, AES-256-GCM encrypted 'explicit-only' memory with a per-conversation toggle, a versioned plugin system with declared risk levels, and an 'Atlas' operator restricted to a native file picker, token-scoped reads, confirmed writes, and two allow-listed apps — explicitly without a terminal, arbitrary command runner, or generic filesystem API. The README frames the AI capability as a multi-agent conversational assistant with tool use and optional local/cloud LLM backends, not a research or training pipeline. Unlike the public web deployments elsewhere in this portfolio, UNIVERSE is closed-license desktop software: its source is publicly visible but not licensed for reuse or redistribution.

  • Electron
  • React Three Fiber
  • TypeScript
Platform

Adjacent Atlas

Adjacent Atlas reads public signals — described in the README as code activity and literature — and computes a transparent, tunable 'adjacency score' (a weighted mean of five normalised components: momentum, recency, connectivity, novelty, and feasibility) to rank concepts close to a field's frontier. It renders that ranking as an interactive 3D atlas plus a set of sourced briefs, and is structured as a monorepo: apps/web (Next.js 14 site, 3D atlas, and JSON API), packages/engine (scoring, graph, layout, synthesis, export), packages/ui (React primitives/design tokens), packages/embed (a dependency-light embeddable view), plus data/schemas and data/seeds. The reference dataset shipped with the repository is extreme-precision radial velocity (EPRV) instrumentation. The README is explicit that the project is early-stage (v0.1.0): the scoring engine and data schemas are considered stable enough to build on, but the live fetch pipeline is still the 'active edge,' and the seed signal values are labelled as illustrative scaffolding rather than measured statistics — a caveat this platform states about itself that the other, smaller labs in the portfolio don't need to.

  • Next.js 14
  • TypeScript
  • Node.js
Figure generated by this repository's own analysis or simulation.
Research

Closed-Loop Feedback Control System for EXOhSPEC

MSc Astrophysics thesis (University of Hertfordshire, 2024, supervised by Prof Hugh R. A. Jones and Prof Bill Martin) investigating how temperature, pressure and humidity affect optical path length and detector-plane motion in EXOhSPEC, a high-resolution radial-velocity spectrograph development platform, and whether feedback control can reduce spectral-image drift. The public repository documents a TEC-primary / active-optics hybrid feedback architecture, component characterisation studies (interferometer, BME680, PT104, TEC, active optics, MaxIm DL), and selected experimental results, including a hybrid-control comparison in which dY RMS decreased from 2.72 px to 0.69 px. Raw data, lab configuration and unsubmitted material are kept out of the public repo.

  • Python
  • IDS3010 interferometry
  • MaxIm DL
Research

Reading Voyager Data into Python and Plotting

A short project sharing Python code that reads Voyager 1 radio-telemetry data and produces a waterfall plot across the frequency range 8419.2740-8419.2750 MHz.

  • Python
  • Jupyter Notebook
  • Voyager 1 radio data
Research

CosmicML-Biodetect: Physics-Informed Neural Networks for Exoplanet Biosignature Detection

CosmicML-Biodetect implements Physics-Informed Neural Networks (PINNs) that enforce atmospheric physics constraints during training to analyse exoplanet transmission spectroscopy data. It includes a radiative-transfer and chemistry simulator for generating synthetic training atmospheres, a Bayesian inference pipeline for uncertainty quantification of composition estimates, and stated data-format compatibility with JWST, Keck and HST observations.

  • Python
  • PyTorch
  • Physics-Informed Neural Networks
Repository social preview image.
Research

Daily Astro Notebooks

A growing collection (70 notebooks at time of writing) of real-data astronomy analyses run end-to-end in Google Colab, organised into four archive folders: SDSS spectra and classification, MAST (Hubble/JWST/Kepler/TESS) imaging and light curves, Gaia astrometry, and NASA Exoplanet Archive population studies. Each notebook is paired with a plain-language README, and a public dashboard rebuilds automatically from the repository. A series of later 'Scientific Audit' batches revisited earlier notebooks to add uncertainty estimates, provenance, and explicit claim boundaries.

  • Python
  • astropy
  • astroquery
Repository social preview image.
Research

ExoIntel-Prime (ExoLight Transit Lab)

ExoLight Transit Lab (branded ExoIntel-Prime) is a zero-dependency, static HTML/CSS/JavaScript browser laboratory for exoplanet transit photometry. It overlays locally cached archival light curves against a Web-Worker-computed forward transit model (quadratic limb darkening, finite exposure-time integration, optional starspot and exomoon hypothesis modes) and renders a realistic star-planet scene alongside diagnostic tabs (Mission Control, Observatory Deck, Residuals, Evidence). The scientific core is checked by deterministic golden-case regression tests and GitHub Actions, and the project is explicit that a good visual fit is not a detection claim.

  • JavaScript ES modules
  • Web Workers
  • HTML/CSS
Repository social preview image.
Research

HD 189733 b Transit Photometry (Lightkurve Starter)

This Colab notebook downloads real public TESS light curves via Lightkurve, aligns them using the published NASA Exoplanet Archive ephemeris for HD 189733 b (or other preset hot Jupiters such as HD 209458 b, WASP-12 b, HAT-P-32 b), stacks the transit windows into a folded light curve, measures the transit depth, and estimates simple physical parameters (planet radius, radius ratio, approximate density, equilibrium temperature). It is explicitly framed as a learning and exploration tool rather than a full publication-level transit fit.

  • Python
  • Lightkurve
  • Astropy
Repository social preview image.
Game

Biswajit Minigames

A casual side project exploring JavaScript canvas, CSS animation and DOM interactions, with each game built with AI assistance as part of the learning process. Every game is a single self-contained HTML file with no build tools or server required, accessible from a dark gallery hub (index.html). The README lists five games: Neon Serpent (Snake), Cosmos Match (Memory Cards), Swift Keys (Typing Speed), Photon Breaker (Breakout), and Gravity Shift (a sliding-tile puzzle).

  • HTML5 Canvas
  • JavaScript
  • CSS
Coursework Archived

Disease and Symptoms Data Analysis

Archived public-health data-analysis coursework project examining disease and symptom data. Per the README, it was later given a reproducibility pass with a data dictionary and validation notes added, but the underlying analysis is early coursework rather than original research.

  • Python
Coursework Archived

Team CDC

An archived coursework repository from a team project titled 'Team CDC'. The README gives no further detail on the project's topic or contents beyond noting that reproducibility metadata and validation scripts were added later.

    Portfolio-wide view

    One body of work, several threads

    A taxonomy of the hand-curated research records. The live catalog above independently includes every current public GitHub repository.

    85curated entries
    Exoplanet report31 · 36%
    Interactive lab25 · 29%
    Research benchmark11 · 13%
    Research6 · 7%
    Platform5 · 6%
    Detection method4 · 5%
    Coursework2 · 2%
    Game1 · 1%

    Exoplanet reports, by analysis

    Transit photometry12
    Transmission spectroscopy11
    Emission spectroscopy4
    Detection method4
    Phase curve3
    Atmospheric escape1

    Exoplanet reports, by evidence

    Public-data reanalysis25
    Null / mixed result6
    Validated on synthetic signal4

    How this is organized

    Repository taxonomy

    Consistent categories for both curated research records and repositories added by the live GitHub feed.

    31

    Exoplanet report

    TESS transit fit per planet, plus a statistical read of any public spectrum. Null results kept as reported.

    25

    Interactive lab

    Browser physics and astronomy simulators built to explore a concept, not just describe it.

    11

    Research benchmark

    Focused reproducibility studies on real instrument data, each with one stated question and result.

    6

    Research

    Thesis work, ML research, and teaching notebooks.

    5

    Platform

    Larger multi-feature systems: an RV console, a real-catalogue 3D explorer, and similar.

    4

    Detection method

    Transit, RV, microlensing, direct imaging, each built from scratch and proven on an injected signal.

    2

    Coursework

    Early or archived coursework.

    1

    Game

    Lighter side projects, kept in the atlas rather than left off it.

    How it connects

    Research knowledge graph

    A focused overview of the most connected targets, instruments, methods, and molecules in the research catalog. The compact view keeps labels and nodes legible; the accessible relationship list retains the complete manifest.

    Drag to pan, scroll to zoom, click a node to see its connections.