Software and Tools I Use
A collection of resources I use to build software, stay productive, and learn new things.
Workstation
MacBook Pro 16-inch (2019)
My daily driver for development work. Running on an Intel i7 processor, this laptop has been reliable for all my development needs.
Raspberry Pi 4 Model B
Running Debian, I use this versatile little computer for various projects and learning Linux administration.
Development Tools
Zed
My current favorite IDE. Zed offers a modern, fast editing experience with excellent syntax highlighting and collaborative features.
Git
Essential for version control. I use it through the command line and integrate it with other tools in my workflow.
GitHub Copilot
AI pair programmer that helps with code completion and generation. Particularly useful for boilerplate code and common patterns.
Warp
A modern terminal that enhances productivity with features like AI command search, shared workflows, and built-in documentation.
Docker
Container platform that ensures consistency across development environments and simplifies deployment processes.
TablePlus
Clean and efficient database management tool. Supports multiple database types with a consistent interface.
pnpm
Fast, disk space efficient package manager for Node.js. Great for monorepos and maintaining consistent dependencies.
Sourcetree
Git GUI that makes complex version control operations visual and intuitive. Helpful for reviewing changes and managing branches.
Productivity
Obsidian
My second brain. I use Obsidian for personal knowledge management, note-taking, and connecting ideas through its powerful linking features.
Notion
Perfect for collaboration and shared documentation. I use it for project planning and team coordination.
Things 3
My trusted task manager. Things 3's clean design and powerful organization features help me stay on top of projects and daily tasks.
Tech Stack
Next.js
My go-to React framework for building full-stack web applications. The built-in routing, server components, and deployment features make it incredibly powerful.
TypeScript
I write all my JavaScript with TypeScript. The type safety and improved developer experience are invaluable for building robust applications.
Tailwind CSS
My preferred styling solution. Tailwind's utility-first approach allows for rapid development while maintaining consistency across projects.
Prisma
Modern ORM that makes database work a joy. The type safety and integration with TypeScript create a seamless development experience.
PostgreSQL
My relational database of choice. PostgreSQL is powerful, reliable, and has excellent support for complex queries and data types.
AWS S3
Scalable object storage for static assets and file uploads. I use it for hosting images, videos, and other media.
Vercel
My favorite platform for deploying web applications. Vercel's integration with Next.js and GitHub makes it easy to set up continuous deployment.
Learning Resources
Big-O Cheat Sheet
An excellent reference for time and space complexity of common algorithms and data structures. Great for interview prep and understanding algorithmic efficiency.
Neetcode
High-quality explanations of data structures, algorithms, and coding problems. The roadmap approach makes it easy to progress systematically through topics.
Visualgo
Interactive visualizations of data structures and algorithms. Seeing these concepts in action makes them much easier to understand.
Grokking Algorithms
An illustrated guide that makes complex algorithms accessible through clear explanations and practical examples. Great for visual learners.
BaseCS
A collection of articles that break down fundamental computer science concepts in an approachable way. Perfect for filling knowledge gaps.