Austin Shijo

epestrmTvare6iitk · statistics · ’24–’28austins24@iitk.ac.in

Sophomore at IIT Kanpur. Power-user desktop tools and devtools. Plus a graphics tilt. Mostly Rust.
Looking for SDE roles.

Education

2024 — present

Indian Institute of Technology, Kanpur

B.S., Statistics & Data Science · CPI 9.2 / 10.0

Academic Excellence Award (top 10% of cohort, 2025-26). Perfect 10.0 / 10.0 SPI in the 2024–25 even semester.

Experience

May ’25 — Sep ’25

Contributor — Graphite Editor

Rust 2D graphics editor (~25k★) · Rust, wgpu, Vello
  • Got into Google Summer of Code 2025; 45+ merged PRs across the editor and its rendering stack.
  • Built a high-performance bitmap caching layer using the JS Reflect API to offload pixel data to an off-screen HTMLCanvas in place of base64-encoded SVGs — severely reduced data transfer overhead, eliminated UI stutter on bitmap-heavy scenes.
  • Redesigned the core masking architecture for arbitrary vector data: heuristic-routed <clipPath> vs <mask> emission supporting inverted masking, dynamic stroke alignment, and custom paint ordering.
  • Upstreamed luminance-based clipping directly into the Vello 2D rendering engine; led the editor's pipeline migration to Vello v0.5.0 + WGPU v25 to maintain upstream parity and unlock the new luminance capabilities.
  • Built a Blender-style transformation pivot system with independent per-layer origin coordinates and Active Object / Average of Origins modes across Select and Path tooling.
  • Implemented hierarchical graph selection via Least Common Ancestor traversals and parent-child layer collapsing — shallow/deep click heuristics and tolerance-aware lasso polygon boundary tracking.
  • Stabilised core editor state and interactive tooling: complex transform-cage hit-testing, node deserialization lifecycles, persistent isometric workspace grids, undo-stack correctness on tool transitions.

Selected projects

Mar — Apr ’26

tjit Rust · Cranelift

JIT-compiled, statically typed systems language. Hand-rolled lexer, recursive-descent parser, typed HIR, Cranelift IR backend with cranelift-jit / cranelift-module. ADTs (struct + payload-carrying enums), pattern matching with ranges and destructuring, fixed-size arrays, pipeline operator, libc FFI, primitive casts, strings as fat pointers. Arbitrary-width integers (u1i42) bit-packed in memory with no-cross-64 word alignment, promoted to native widths at compute time via shift/mask + sign-extension.

Mar — Apr ’26

ghfs Rust · fuser · Tokio

Read-only FUSE filesystem exposing GitHub as a directory tree. Async fuser::AsyncFilesystem over a Tokio runtime; lock-free file-content cache via Arc<OnceCell<Vec<u8>>>. Lazy directory hydration via git/trees?recursive=1; PAT-aware rate limiting (60 → 5k req/hr).

Feb ’26

loom Rust · PipeWire · DSP

Real-time audio spatialiser exposed as a PipeWire virtual sink. Three-band Linkwitz–Riley split; head-shadow crossfeed (delay + −12 dB high-shelf at 700 Hz); pinna-notch EQ + mid/side decorrelation with modulated all-passes; transient-aware width via peak envelope follower (1 ms / 50 ms); 6-tap early reflections with per-tap air-absorption LPFs; Schroeder-style stereo room tail. Lock-free GUI ↔ audio via atomic f32::to_bits; RT_PROCESS stream flag.

Jan ’25 — Jan ’26

griw Rust · wgpu · Slang

Real-time GPU path tracer. Slang shaders compiled to SPIR-V at build time via a slangc-driven build.rs; up to 64 bounces per pixel, Lambertian / Metal / Dielectric materials, frame-accumulated sampling into an Rgba32Float radiance texture, ACES filmic tonemap. WASD + mouse-look camera with sample-counter reset on movement.

Oct ’24 — Apr ’25

nbody Rust · Barnes–Hut

O(N log N) gravitational simulator: arena-allocated quadtree, Barnes–Hut θ=0.4, Plummer softening, leapfrog for symplectic integration. Real-time velocity-coloured rendering at a stable 60 FPS via the pixels crate.

2025

enkiwm Rust · Smithay · Wayland

Experimental Wayland compositor with a vim-style modal mode. Alt_R enters modal; HJKL moves the camera grid, UIOP shifts cell focus, Shift swaps windows or grows the camera span, Alt_L shrinks it. BFS placement of new windows; custom integer-vector type with full operator overloading.

Aug ’21 — Dec ’24

hello-world.rs Rust · satire · ~3.6k★

Satirical Rust hello-world with ~1,000 transitive crates, Nix flakes, Docker, AUR PKGBUILD, Windows manifest, and hundreds of community PRs. Listed for traction signal, not technical credit.

Other open-source

Jul — Sep ’25

linebender / Vello

Rendering-infrastructure work: implemented luminance-based clipping and masking in the engine core — the upstream side of the masking architecture rebuild in Graphite.

Dec ’24 — Jan ’25

Vim, Neovim & Slang

Upstreamed native language detection into Vim and Neovim's core runtimes. Contributed type-resolution overloads for Optional<T> to the Slang shading-language compiler, improving symbol inference accuracy.

Nov ’24 — Jan ’25

SwayWM

Wayland layout fixes: border clamping, redundant display-format checks; engineered an i3-compatibility feature that had been overlooked upstream.

Apr — Aug ’21

Neovim ecosystem & build tools

Cross-platform build-pipeline fixes for C++ starter templates (Windows DLLs); macOS platform fixes to NvChad.

Position of responsibility

Jun ’25 — present

Programming Club, IIT Kanpur · Secretary

  • Introduced the Graphics domain as sole secretary; authored the Graphics and Systems roadmaps from scratch.
  • Led a 10-day Graphics Spring Camp as instructor — the campers built a GPU path tracer modelled on griw.
  • Contributed tch as the reference architecture for the 10-day Systems Spring Camp.

Skills

languages
Rust, C, C++, Python, Lua, Vimscript, Java, R, WGSL/GLSL, Slang, JS/TS, shell
compilers
Cranelift (jit, module, codegen), hand-rolled lexers/parsers, typed HIR, ADT layout, pattern-match compilation, bit-packing arithmetic
systems
Linux, FUSE (fuser, async), Tokio, Wayland (smithay), PipeWire, libspa-sys, libc FFI
audio / DSP
Linkwitz–Riley crossovers, biquad EQ, Schroeder reverbs, head-shadow crossfeed, decorrelation, transient detection, mid/side
graphics / GPU
wgpu / WebGPU, Vello, compute pipelines, path tracing, Slang→SPIR-V, OpenGL compute, ArrayFire
tooling
git, GitHub Actions, Cargo, Make, CMake, Nix, Arch packaging, Docker, neovim

Links

long-form

long — every project, every detail.

blog