Specialist Setup & Work
Environment Requirements
Everything you need to spin up a production-grade nomadic workstation aligned with our async engineering culture — covering hardware, security, JS framework toolchains, AI tooling, and repository access.
Hardware Setup
Laptop / workstation with ≥ 16 GB RAM
32 GB strongly recommended for running local LLMs + Docker stacks
NVMe SSD (≥ 512 GB free space)
Node modules, Docker images, and vector embeddings are disk-hungry
Processor: Apple M-series, AMD Ryzen 7+, or Intel i7+
ARM builds (M1/M2/M3) are first-class in our pipelines
External monitor optional but recommended for deep work
27″ 1440p+ for long asynchronous coding sessions
Power bank / travel adapter set for nomadic coverage
Universal GaN charger (65–100 W) handles cafés, co-working hubs, airports
Quality noise-cancelling headset
Async Loom reviews and occasional voice reviews require clear audio
Network & Security
WireGuard or Tailscale VPN — always-on during work sessions
Mandatory for repo access on any non-private network
Hardware passkey / YubiKey (FIDO2)
Required for portal login; we do not accept password-only auth
DNS-over-HTTPS enabled (Cloudflare 1.1.1.1 or NextDNS)
Prevents DNS leaks on public Wi-Fi
Hotspot-capable SIM or eSIM as fallback connection
Never miss a deploy window due to spotty café Wi-Fi
1Password or Bitwarden for secrets management
No credentials in dotfiles, env files must stay gitignored
Full-disk encryption enabled (FileVault / BitLocker / LUKS)
Non-negotiable for nomadic device security
Core Dev Toolchain
Node.js LTS (v20+) via fnm or nvm
Use fnm for faster shell init; pin version in .node-version
pnpm v9+ as primary package manager
`npm i -g pnpm` — required for monorepo workspaces
VS Code (Insiders recommended) with extensions
Tailwind IntelliSense, ESLint, Prettier, GitLens, REST Client
Git 2.40+ with GPG commit signing configured
All commits to main must be signed — set up `gpg --gen-key`
Docker Desktop (or OrbStack on macOS) running
Local Qdrant, Redis, and Postgres containers used in dev
GitHub CLI (`gh`) authenticated to your GitHub handle
`gh auth login` — enables PR and issue workflows from terminal
JS Framework Toolchains
Next.js 14+ (App Router)
`pnpm create next-app@latest` — default framework for client work
Nuxt 3 (Vue 3 Composition API)
`npx nuxi init` — used for Vue-stack enterprise clients
SvelteKit (latest)
`npm create svelte@latest` — edge-first projects and micro-frontends
Remix / React Router v7
`npx create-remix@latest` — progressive enhancement workloads
Astro 4 (Islands Architecture)
`npm create astro@latest` — content-heavy and marketing sites
Angular 17+ (Standalone Components + SSR)
`ng new` via Angular CLI — enterprise B2B dashboards
SolidStart / Qwik City (familiarity preferred)
Emerging edge-first runtimes we evaluate per project
AI & Vector Tools
Python 3.11+ (via pyenv or uv)
Used for embedding scripts, hybrid index builds, and AI tooling
OpenAI API key stored in `.env.local`
Required for `text-embedding-3-large` and GPT-4o workflows
Qdrant running locally on port 6333 (Docker)
`docker run -p 6333:6333 qdrant/qdrant` — vector DB for RAG
LangChain JS / LlamaIndex (TS) installed
Orchestration layer for agentic retrieval pipelines
Ollama (optional) for local model inference
Run Llama 3, Mistral, Phi-3 locally for offline dev
Familiarity with OpenAI, Gemini, and Anthropic APIs
We target all three depending on client stack preference
Async Communication Stack
Linear account linked to AhsanWeb workspace
All sprints, issues, and OKRs tracked here — no Jira
Notion access (personal workspace + team wikis)
SOPs, design decisions, and onboarding docs live in Notion
Loom for async video walkthroughs
Replace synchronous meetings; record PR explanations, bug reproductions
Telegram or Signal for real-time pings (no Slack)
Lightweight, nomadic-friendly; timezone-tagged messages expected
Set your working hours in Linear profile (any timezone)
We are async-first; never expected to be online 9–5 in any single TZ
Clear status updates in every PR description
Write as if the reviewer is 12 hours ahead — they probably are
Repository & Access Setup
Generate ED25519 SSH key, add to GitHub
`ssh-keygen -t ed25519 -C "[email protected]"`
Request GitHub org access via portal → WORKFORCE login
HR ops grant repo access after passkey verification
Clone assigned squad repo over SSH (not HTTPS)
SSH enforced for all internal repositories
Branch naming: `feat/VEC-123-short-description`
Ticket ID prefix required; matched by Linear automation
Pre-commit hooks: Husky + lint-staged configured
ESLint + Prettier + type-check run before every commit
Vercel / Cloudflare preview deploy on every PR
CI configured; check Actions tab for build status
Remote Work Framework
Six core pillars that govern how every AhsanWeb specialist operates across timezones, devices, and locations. These are not suggestions — they are the operating system of a nomadic, async engineering guild.
Async-First Communication
Synchronous meetings are a last resort, not a default. Every decision, discussion, and design review is documented asynchronously so the whole guild — across any timezone — can contribute on their own schedule.
Write over talk
Default to Linear comments, Notion docs, or Loom recordings. Reserve real-time for unblocking emergencies only.
No expectation of instant reply
Responses within your active window are fine. Tag @urgent only for true production incidents.
Document every decision
If a decision was made verbally, it did not happen — log it in the Linear ticket or Notion ADR page.
Timezone-tag your messages
Prefix time references with your zone: "EOD [GMT+6]" not just "end of day".
Sprint Rhythm & Daily Cadence
We run rolling 2-week sprints tracked entirely in Linear. There are no mandatory stand-ups — instead, each specialist posts a structured async update at the start of their workday.
Async daily update (your morning)
Post in the squad Linear thread: ✅ Done | 🔧 Working on | 🚧 Blocked. One sentence each.
2-week sprints, ticket-driven
Pick from the backlog per your squad's priority queue. No ticket = no work started.
PR before EOD (your timezone)
Small, reviewable PRs — ideally < 400 lines. Larger changes split into feature branches.
Friday async retro note
End each sprint week with a 3-bullet Notion note: what shipped, what blocked, what to improve.
Deep Work & Focus Protocol
Nomadic engineering demands intentional focus blocks. Protect your cognitive peak hours from notification noise — our tools are configured to support this, not fight it.
Set focus blocks in Linear status
Mark yourself "In Focus" for uninterrupted coding sessions. Others will not expect replies.
Batch notifications, don't stream them
Check Linear/Telegram 2–3x per day. Disable mobile push during deep work hours.
Use Loom for long explanations
A 3-minute screen recording replaces a 30-minute meeting. Record, share, async-review.
Co-working hubs over cafés for deadline days
Reliable power + gigabit Wi-Fi matters on deploy days. Know your local hub options.
Output & Accountability
We measure by shipped, working code — not hours online. Every specialist is accountable for their ticket queue and PR throughput, reviewed weekly against sprint velocity.
Shipped PRs are the unit of work
Merged, reviewed, deployed. Draft PRs open for > 48 h require a status comment.
Own your tickets end-to-end
From branch creation to production verify. No handoff without a Loom walkthrough.
Flag blockers immediately, not at deadline
If a ticket will slip, comment in Linear within 4 h of discovering the blocker.
Weekly velocity reviewed in Linear
Squad leads review throughput every Monday. Consistent under-delivery triggers a sync call.
Security & Operational Hygiene
Working from airports, cafés, and co-working hubs means the threat surface is always elevated. Security is a non-negotiable operating discipline, not an IT department's job.
VPN on before any repo interaction
WireGuard/Tailscale must be active. Check your tunnel status before `git pull` or `npm run dev`.
Lock screen when stepping away
Cmd+Ctrl+Q (macOS) or Win+L (Windows) — always, in public spaces.
Rotate secrets quarterly
API keys, SSH passphrases, and passkey PINs rotate every 90 days. Calendar reminder is mandatory.
Never commit secrets
`.env.local` is gitignored. Use `git secret` or Doppler for team secret sharing — never Slack DMs.
Nomadic Culture & Guild Values
AhsanWeb operates as a borderless engineering guild. Geography is irrelevant; craft, accountability, and async communication are everything.
Location is never an excuse
Whether you're in Dhaka, Lisbon, or Chiang Mai — the output expectation is identical.
Share your work environment
Post your current setup in the #nomadic-setups thread. Inspire the guild, build culture.
Respect every timezone equally
No timezone is "primary". Schedule shared sessions on a rotating basis, not always UTC+0.
Contribute to the knowledge base
Every solved problem gets a Notion SOP. If you figured it out, document it for the next specialist.
New Specialist Environment Checklist
Tick off each item as you complete your workstation setup. Fully client-side — no data sent anywhere.