Uses
The tools I use every day, and why I picked them.
Last updated:
Hardware
- MacBook Pro 13" (M1, 2020)16 GB of RAM. The same machine since 2021; still enough for everything.
- ASUS ROG Swift OLED PG27UCDMA 4K OLED monitor; sharp text and true colors for code and design.
- Logitech G513A backlit mechanical keyboard.
- Logitech G703 HEROA wireless mouse.
- Logitech G733A wireless headset.
Editor and terminal
AI
- Claude CodePair programming in the terminal. The strongest model for work that needs care, such as architecture; the fast one for everyday tasks.
- ViraStack AIThe architecture rules the agent follows; this site is written with them too.
emilkowalski/skillsAnimation and interaction details.
jakubkrehel/skillsSurface and accessibility details.
Stack
- TypeScriptIn every project, in strict mode.
- ReactThe base of my interfaces since 2017.
- Next.jsLarge server-rendered apps.
- TanStack Start, Router, QueryType-safe routes and server data; this site is built with TanStack Start.
- Tailwind CSSAll of the styling.
- shadcn/uiThe ground of my design system; accessible components I adapt to each project.
React Hook FormForms; ViraStack Mask and Password build on it.
- ZodOne validation for forms, API responses and environment variables.
ZustandApp-wide state that does not come from the server.- SupabaseSide projects that need a database; this blog's posts live there too.
Infrastructure, design and browser
- VercelDeployment.
- GitHub, GitHub ActionsCode, reviews and the checks that run before anything ships.
- FigmaInterface design.
- ChromeOne browser for both development and everyday use.
Off screen
- LibraryBooks, mostly on history and Islamic thought.
- Films and seriesMy favorites.
- MusicWhat I listen to.
- Chess, photography, the ney, paintingWhat I make time for away from code.