Skip to content

What I Use

The editor, libraries, services, and small habits that make up my day-to-day. Updated as the stack evolves — not a manifesto, just what's currently on my dock.

Spotify quiet right now

Editor & Dev Loop

  • Daily driver. Prettier on save, ESLint flat config, GitLens, Error Lens, Pretty TypeScript Errors.

  • Xcode

    iOS builds, simulator, profiling with Instruments (Time Profiler, Allocations).

  • Android Studio

    Logcat, layout inspector, native module debugging when JSI gets ugly.

  • Theme

    Custom dark + JetBrains Mono. High-contrast palette, no italics in code.

Languages & Frameworks

  • Strict mode, no implicit any. Discriminated unions over enums.

  • React + React Native

    Functional components only. Hooks, suspense, lazy routes. React Native New Architecture (JSI + Fabric).

  • Redux Toolkit + RTK Query

    Default state layer for app-scale code. Local state stays local.

  • Vite

    Build tool for this site and most personal web work. Fast HMR, opinionated defaults.

Mobile Stack

  • React Native Reanimated 3

    Worklets on the UI thread for gesture-driven animation.

  • React Navigation

    Native-stack on iOS for the swipe-back gesture. Bottom-tabs with custom shared-element transitions.

  • MMKV

    Synchronous, mmap'd storage. Replaces AsyncStorage in every project I start now.

  • Fastlane + EAS

    Codesigning, beta lanes, App Store + Play Store automation.

Web & UI

  • Framer Motion

    Page transitions, scroll-linked motion, layout animations. AnimatePresence for route exits.

  • Lenis

    Smooth scroll on this site. Wraps the entire app via SmoothScroll provider.

  • GSAP + Three.js

    Reach for these when motion needs to leave React's render budget — hero shaders, scroll-driven 3D.

  • Tailwind / CSS variables

    Token-driven CSS variables on this site. Tailwind for client work where speed matters.

Design & Motion

  • Figma

    Design hand-off, component variants, auto-layout. Inspect mode for spec extraction.

  • Rive

    Vector animation when Lottie isn't expressive enough. State machines for interactive UI motion.

  • Lottie

    Loading states, micro-interactions. Bodymovin exports from After Effects.

Infra & Tooling

  • Vercel

    Hosting for this site and most web projects. Preview deploys per PR.

  • Firebase

    Auth, FCM, Crashlytics, Remote Config. Pragmatic default for mobile back-of-the-envelope work.

  • Sentry

    Errors + release tracking on production apps. Sourcemaps uploaded from CI.

  • GitHub Actions

    CI for lint, typecheck, build verification. Fastlane lanes triggered on tag push.

Terminal & CLI

  • Block-based terminal. AI completions when grep gets recursive.

  • zsh + oh-my-zsh

    Agnoster theme, fzf, z for directory jump.

  • gh CLI

    PRs, issues, releases without leaving the terminal.

  • ripgrep / fd

    Replace grep and find. Faster, sane defaults.

Git & Collaboration

  • Conventional commits

    feat / fix / chore / docs prefixes. Reads cleanly in changelogs.

  • Linear branch names

    Squash-merge to main, rebase locally. No long-running feature branches.

  • Claude Code

    Pair-programming for refactors, planning, and reviews on this very repo.

Missing something? Suggestions welcome — drop me a note via the contact page.