Aaishika S Bhattacharya
Developer Relations at Qualcomm. making complex developer tools approachable, observable, and human
Currently using
- keyboard
- Nuphy Kick 75: High
- camera
- Canon EOS Rebel T6
- editor
- VS Code
- terminal
- macOS Terminal
- shell
- zsh w/ Oh My Zsh
- os
- macOS Golden Gate 27.0 Beta
Updated
Desk
The physical setup for shipping pages like this amidst hardware experiments.

UPLIFT V3 Standing Desk
Large enough for irresponsible amounts of hardware.
Desk
MacBook M3 Pro 14-inch
18GB Memory, 512GB Storage
Laptop
iPad Pro 11-inch (4th generation)
M2 Chip, 1TB Storage, with Apple Pencil (2nd generation)
Tablet
SAMSUNG 32-Inch Odyssey G50D Series
180Hz, AMD FreeSync
Monitor
BenQ ErgoArm BSL01
Attached: Monitor Mount Reinforcement Plate
Monitor Arm
Amazon Echo Show 8
With Alexa+, integrated with the Govee Ecosystem
Home Assistant
Control Pad
Logitech Brio 4K
Attached: Cold Shoe Mount
Webcam
Mouse
Desk lighting
Govee RGBIC light bars with smart controller + PHOTOOLEX Tofu Light with cold-shoe mounts.
Lighting
Desk accessories
VIVO Black Clamp-on 50 inch Desktop Shelving System, 16 inch VESA Monitor Mount Shelf, Monitor Stand Riser
Miscellaneous
EDC
What comes with me when I am working somewhere that is not home.
Mokobara Em Travel 45L
Usually loaded with UNO Qs, robocars or whatever hardware I am benchmarking next.
Backpack
Cotopaxi Allpa Del Dia 35L
For hiking or longer trips as well.
Alternate Backpack
Phones
iPhone 16 Pro Max (512GB) • Samsung S26 Ultra (1TB).
Smartphones
Headphones
Smartwatch
Tech Pouch
Workflow
The setup people ask about most after a demo.

settings.jsonVS Code configuration
settings.jsonJSON with Comments{ "workbench.iconTheme": "material-icon-theme", "workbench.colorTheme": "Tokyo Night", "workbench.editor.labelFormat": "short", "workbench.editor.tabSizing": "shrink", "workbench.editor.enablePreview": false, "workbench.editor.customLabels.patterns": { "**/page.tsx": "${dirname}/page", "**/layout.tsx": "${dirname}/layout", "**/route.ts": "${dirname}/route", }, "workbench.colorCustomizations": { "editor.background": "#080B10", "sideBar.background": "#080B10", "activityBar.background": "#080B10", "titleBar.activeBackground": "#080B10", "titleBar.inactiveBackground": "#080B10", "tab.activeBackground": "#0F131A", "tab.inactiveBackground": "#080B10", "tab.activeBorderTop": "#7AA2F7", "tab.activeBorder": "#00000000", "statusBar.background": "#161B22", "statusBar.foreground": "#C0CAF5", "focusBorder": "#7AA2F7", }, "workbench.layoutControl.enabled": false, "window.commandCenter": false, "breadcrumbs.enabled": false, "editor.fontFamily": "'CommitMono', monospace", "editor.fontWeight": "500", "editor.letterSpacing": 0.2, "editor.wordWrap": "on", "editor.rulers": [100], "editor.scrollBeyondLastLine": false, "editor.cursorSmoothCaretAnimation": "on", "editor.cursorBlinking": "smooth", "editor.smoothScrolling": true, "editor.scrollbar.vertical": "hidden", "editor.scrollbar.horizontal": "hidden", "editor.minimap.enabled": false, "editor.renderWhitespace": "none", "editor.bracketPairColorization.enabled": true, "editor.guides.bracketPairs": "active", "editor.guides.indentation": false, "editor.stickyScroll.enabled": true, "editor.stickyScroll.maxLineCount": 3, "editor.formatOnSave": true, "editor.formatOnPaste": true, "editor.linkedEditing": true, "files.autoSave": "afterDelay", "files.autoSaveDelay": 10000, "files.exclude": { "**/.DS_Store": false, "**/.git": false, }, "terminal.integrated.fontFamily": "'IntoneMono Nerd Font', 'MesloLGS NF'", "terminal.integrated.fontSize": 14, "terminal.integrated.fontWeight": "400", "terminal.integrated.fontWeightBold": "500", "terminal.integrated.fontLigatures.enabled": true, "terminal.integrated.lineHeight": 1.15, "terminal.integrated.cursorStyle": "line", "terminal.integrated.cursorBlinking": true, "terminal.integrated.smoothScrolling": true, "terminal.integrated.enablePersistentSessions": true, "terminal.integrated.tabs.enabled": true, "terminal.integrated.shellIntegration.enabled": true, "terminal.integrated.rightClickBehavior": "default", "git.autofetch": true, "git.ignoreRebaseWarning": true, "git.confirmSync": false, "git.openRepositoryInParentFolders": "always", "js/ts.updateImportsOnFileMove.enabled": "always", "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[jsonc]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[markdown]": { "editor.defaultFormatter": "yzhang.markdown-all-in-one", }, "extensions.ignoreRecommendations": true, }.zshrcOh My Zsh configuration
.zshrcBash# Powerlevel10k instant prompt if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi # Oh My Zsh export ZSH="$HOME/.oh-my-zsh" ZSH_THEME="powerlevel10k/powerlevel10k" plugins=( git ) source "$ZSH/oh-my-zsh.sh" # Powerlevel10k [[ -r "$HOME/.p10k.zsh" ]] && source "$HOME/.p10k.zsh" # PATH typeset -U path PATH path=( "$HOME/.local/bin" "$HOME/.antigravity/antigravity/bin" /opt/homebrew/bin /opt/homebrew/sbin /usr/local/bin /usr/local/sbin $path ) # Ruby if [[ -d /opt/homebrew/opt/ruby/bin ]]; then path=( /opt/homebrew/opt/ruby/bin /opt/homebrew/lib/ruby/gems/*/bin(N) $path ) fi # Android SDK export ANDROID_HOME="$HOME/Library/Android/sdk" export ANDROID_SDK_ROOT="$ANDROID_HOME" path=( "$ANDROID_HOME/platform-tools" "$ANDROID_HOME/cmdline-tools/latest/bin" "$ANDROID_HOME/emulator" $path ) # History HISTSIZE=50000 SAVEHIST=50000 setopt HIST_IGNORE_ALL_DUPS setopt HIST_SAVE_NO_DUPS setopt SHARE_HISTORY setopt INC_APPEND_HISTORY # Zsh autosuggestions HOMEBREW_PREFIX="${HOMEBREW_PREFIX:-/opt/homebrew}" [[ -r "$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh" ]] && source "$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh" # Zsh syntax highlighting [[ -r "$HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ]] && source "$HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh".p10k.zshPowerlevel10k prompt configuration
.p10k.zshBash# Minimal Powerlevel10k configuration # Run `p10k configure` if you ever want to regenerate from scratch. 'builtin' 'local' '-a' 'p10k_config_opts' [[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') [[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') [[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') 'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' () { emulate -L zsh -o extended_glob # Reset Powerlevel10k options. unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return # # Colors # # Soft, high-contrast palette for VS Code's GitHub Dark terminal. local grey='245' local red='203' local yellow='221' local blue='75' local magenta='177' local cyan='80' local green='114' local white='252' # # Prompt layout # typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( dir vcs newline prompt_char ) typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( disk_usage load wifi newline ) # # General appearance # typeset -g POWERLEVEL9K_BACKGROUND= typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # Two spaces between prompt segments. typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false # # Prompt character # typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=$magenta typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=$red typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='❮' typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=false # # Directory # typeset -g POWERLEVEL9K_DIR_FOREGROUND=$blue typeset -g POWERLEVEL9K_DIR_VISUAL_IDENTIFIER_EXPANSION='' # Only show current folder. typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 # # Git # typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=$green typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=$yellow typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=$yellow typeset -g POWERLEVEL9K_VCS_CONFLICTED_FOREGROUND=$red typeset -g POWERLEVEL9K_VCS_LOADING_TEXT= typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0 typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND=$cyan typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=( vcs-detect-changes git-untracked git-aheadbehind ) # Branch icon with deliberate trailing space. typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=' ' typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@' # Hide individual staged/unstaged/untracked icons. typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON= # Simple dirty indicator. typeset -g POWERLEVEL9K_VCS_DIRTY_ICON=' *' # Ahead / behind remote. typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=' ⇣' typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=' ⇡' typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1 # # System metrics # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=$green typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=$yellow typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=$red typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=80 typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=90 typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false # One-minute load average: green normally, yellow when busy, red when saturated. typeset -g POWERLEVEL9K_LOAD_WHICH=1 typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=$green typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=$yellow typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=$red typeset -g POWERLEVEL9K_WIFI_FOREGROUND=$cyan # # Context # typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE="%F{$white}%n%f%F{$grey}@%m%f" typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE="%F{$grey}%n@%m%f" typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION= # # Python virtualenv # typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=$grey typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= # # Command execution time # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=5 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow # # Time # typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false # # Prompt behavior # typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet # # Performance # typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true (( ! $+functions[p10k] )) || p10k reload } typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} (( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} 'builtin' 'unset' 'p10k_config_opts'
Keyboards
An entirely reasonable number of them by the way.

| Keyboard | Switches | Keycaps | Status |
|---|---|---|---|
| Nuphy Kick 75: High Profile | Blush (Silent Linear) | Stock | Current |
| Work Louder Codex Micro | Silent | Stock | Current |
| Keychron K2 V2 Hot Swappable | Outemu Lime (Silent Tactile) | Custom | Favorite |
| Nuphy Halo 75 v2 (White) | TTC Light Cloud (Silent Linear) | Cherry Milkshake | Rotation |
| Nuphy Halo 75 v2 (Blue) | Durock L3 (Linear) | Stock | Custom |
| Keychron V1 Max (Cursor Edition) 75% | Silent K Pro (Silent Linear) | Cursor | Custom |
| Glorious GMMK Pro 75% | Nuphy Mint (Tactile) | KAM Superuser | Custom |
Nuphy Kick 75: High Profile
CurrentBlush (Silent Linear) • Stock
Work Louder Codex Micro
CurrentSilent • Stock
Keychron K2 V2 Hot Swappable
FavoriteOutemu Lime (Silent Tactile) • Custom
Nuphy Halo 75 v2 (White)
RotationTTC Light Cloud (Silent Linear) • Cherry Milkshake
Nuphy Halo 75 v2 (Blue)
CustomDurock L3 (Linear) • Stock
Keychron V1 Max (Cursor Edition) 75%
CustomSilent K Pro (Silent Linear) • Cursor
Glorious GMMK Pro 75%
CustomNuphy Mint (Tactile) • KAM Superuser
Hardware lab
Development boards, and whatever else is currently being over-engineered.
MCU + MPU
Microprocessor
Modulinos
An ungodly amount of them.
Sensors
Audio
The gear I use to listen, record, and shape the sound around me.
Yeti Blue
With InnoGear Boom Mic Arm and Shock Mount with Pop Filter
Microphone
AirPods Max 2
Impulsive purchase.
Headphones
Headphones