Stack

What I use.

Updated when something earns it.

Hardware, editor, languages, frameworks, infra. Opinionated. Real.

Hardware

MacBook Pro M3 Max

Daily driver. The fans never spin and the battery survives a full day of Claude Code sessions.

DGX cluster (Harvard)

Training rig for SpatialDINO and follow-on cryo-ET work. FSDP across 8x H100 with NVLink + Infiniband.

Apple Studio Display

One big panel beats two smaller ones for long context windows and large diffs.

Editor & terminal

Claude Code

Link →

Primary editor. Most of my code is now written in conversation, not in a buffer.

Cursor

Link →

When I want a UI for tab-completion or quick edits across a few files.

fish shell + RTK proxy

fish for ergonomics, RTK to cut 60-90% of token spend on routine dev operations.

tmux

Long-lived sessions across remote training boxes and local agent runs.

Excalidraw

Link →

The whiteboard for client discovery and architecture sketches. Nothing else has the same hand-drawn legibility.

Languages

TypeScript (strict)

Default for anything web. Strict mode is non-negotiable.

Python

Research, ML, FastAPI services, glue scripts. Still the language of the field.

Go

Distributed systems work. Boring, predictable concurrency.

Rust

Performance-critical CLIs (RTK). The compiler pays back the friction.

Java

Apache Flink work. Not a love story, but the JVM is where the streaming runtime lives.

OCaml

School. Still the cleanest way to learn what types should feel like.

Frameworks

Next.js 15 (App Router)

Link →

Server components by default, edge when it matters. This site runs on it.

React 19

The default client runtime. Server Actions are finally usable.

Tailwind CSS

Link →

Design tokens in the markup. Faster than naming things.

FastAPI

Link →

Async Python services with type-safe contracts. Default backend at Benmore.

Django

When the client needs an admin and an ORM more than they need speed.

PyTorch + FSDP

Training stack for SpatialDINO and everything cryo-ET adjacent.

Apache Flink

Streaming runtime for the BU thesis on dynamic checkpointing.

React Native (Expo)

Mobile for Cattle Logic. Offline-first ranches need a native shell.

AI tooling

Claude Opus + Sonnet via Claude Code

Opus for hard reasoning, Sonnet for everything else. The split saves real money.

Compound Engineering skills

Authored the team skill library: planning, debugging, brainstorming, code review, frontend design.

RTK token proxy

My Rust CLI that intercepts Claude Code commands and rewrites them for token efficiency.

Cursor

Backup editor when I want a graphical diff and tab-complete.

OpenAI Codex CLI

For comparing model behavior on the same prompt. Useful as a second opinion.

Infrastructure

Vercel

Link →

Deploy, edge functions, OG images. Zero-config for the frontend stack.

Stripe

Link →

Payments for every Benmore engagement. Connect for marketplace flows.

Postgres + RDS

Default storage. Boring is a feature.

Kafka

Event streams between PCS microservices. The contract layer.

RocksDB

Embedded state for Flink and other streaming systems.

Sentry

Link →

Error monitoring across web and mobile.

Linear

Link →

The only issue tracker that respects keyboard users.

Services

GitHub

Link →

Source of truth for code and reviews.

Vercel

Hosting for arkashj.com and most client frontends.

Stripe

Money in, money out.

Linear

Project management across Benmore engagements.

Substack

Link →

Long-form writing.

Medium

Link →

Older essays still live here.

Slack

Client comms. Pinned channels per engagement.