// FIELD NOTES
Field Notes
Short, practical things I've learned — TILs, tips, and quick references from daily engineering work.
Feb 18
TypeScript `satisfies` vs Type Annotations
typescriptThe `satisfies` operator validates a type at compile time without widening it. Unlike `: Type`, it preserves the narrowed literal type while still enforcing the constraint. Use it when you want type safety without losing inference.
Feb 10
Git Worktrees for Parallel Branch Work
toolingInstead of stashing or committing WIP to switch branches, use `git worktree add ../feature-branch feature-branch`. Each worktree gets its own working directory while sharing the same .git history. Clean up with `git worktree remove`.
Jan 28
Docker Multi-Stage Builds for Smaller Images
devopsMulti-stage builds let you use one stage for building (with all dev dependencies) and copy only the production artifacts to the final image. Went from a 1.2GB Node image to 180MB by separating the build and runtime stages.
Jan 15
Container Queries Are Ready for Production
frontendContainer queries (`@container`) let components respond to their parent's size instead of the viewport. Finally shipped in all major browsers. Perfect for reusable card components that need to adapt to sidebar vs. main content layouts.