Skip to content

Latest commit

 

History

History
206 lines (154 loc) · 13.9 KB

uses.mdx

File metadata and controls

206 lines (154 loc) · 13.9 KB
title description
Uses
When I get questions about the specifics of what hardware or software I use I send them here. This is all stuff I regularly use, like, and endorse. Cheers!
> Most of the links below are for open source tools. However, some may be affiliate links. If you are interested in any of these products please use the link below and support this site. Thank you!

You can find out how I setup a new MacBook in my hackers guide to setting up your Mac. Here are a few highlights:

  • Strap - Used to bootstrap a new Mac. Installs Homebrew and a good set of secure defaults.
  • Homebrew - most of my apps are installed via Homebrew through a version controlled Brewfile.
  • Mackup - Mackup backs up your .dotfiles

Software Developent

Basic Infrastructure

  • GitHub - Where I host all my code. I also run CI/CD pipelines via GitHub Actions.
  • Node.js - Since I spend a lot of time on front-end work I tend to use the Node.js ecosystem.
  • pnpm - pnpm is a fast, disk space efficient package manager. It is my current package manager of choice but I haven't really explored bun yet.
  • React - The most widely used frontend framework in the world.
  • Nextjs - My current most-used framework to build a react-based web app. Major players like The Washington Post, Loom, and Netflix have integrated Next.js into their tech stacks, demonstrating its capability to handle large-scale, high-traffic platforms. MrBeast, a content creator with 100 million YouTube subscribers and a massive social media footprint, built his storefront using Next.js.
  • TypeScript - I can't imagine building JavaScript projects without TypeScript. Perhaps slows you down a bit at first but overall productivity is much higher. IntelliSense all the things.
  • Prettier - I can't imagine life without it. I also use two plugins: '@ianvs/prettier-plugin-sort-imports' and prettier-plugin-tailwindcss.
  • Vercel - I've used many different hosting providers (AWS, Heroku, Netlify, Railway, etc.) and right now I find that Vercel "just works" for my Next.js projects. It provides both the front-end and back-end (serverless functions, edge functions, middleware) seamlessly. When you stop worrying about servers and just build functions things get much easier. Almost everything I need to deploy is made easier with Vercel.
  • imgIX - Fantastic image hosting - used for all the images in this site.
  • Dash - Dash gives your Mac instant offline access to 200+ API documentation sets

Testing

  • Testing Library - A great testing library for anything that interacts with the DOM.
  • Jest - Another great testing framework.
  • Cypress.io - I use this for E2E testing.
  • MSW - Next generation API mocking.

Forms

  • Zod and React Hook Form have made working with forms a breeze for me, which is usually one of the most tedious parts of React.

Data

  • Prisma - A fantastic ORM for Node.js. Also, sequelize,Drizzle, kysely... Love using Prisma as migration engine/schema definition + Kysely for queries, using prisma-kysely to generate types.
  • PlanetScale - Admittedly, I am a huge fan of PostgreSQL. I tended to use SQLite where one might use MySQL, and when I needed a "real" database I used Postgres. However I am finding PlanetScale to be really developer friendly, even if it is MySQL-based. Changes are handled more like Git merge requests vs. migrations. They also have an NPM package that allows to get your data via a HTTPS endpoint, instead of via a SQL connection. This means you can run on the edge. 👀
  • Upstash - Easy, simple Redis and Kafka. If you need to rate limit your serverless API's (or monetize them) you need to track usage, Redis is great for that and Upstash provides packages to make things like rate limiting trivial to implement.
  • Supabase - When you need/want PostgreSQL you probably want Supabase. I REALLY like the platform they have built.

UI

  • TailwindCSS - A great way to keep styling consistent and stay productive. I was a hardcore Bootstrap user since it first came out because I am not a "CSS guy", I find it fiddly and browser inconsistencies infuriating. Tailwind is my new Bootstrap. It's a gamechanger. I like using unstyled components and then styling them with Tailwindcss.
  • Reach UI - An accessibility-focused set of easy-to-use and easy-to-style components.
  • shadcn/ui - Tailwind-styled components that you can copy and paste into your apps. Components use radix-ui under the hood. Nicely done.
  • Radix-ui - Unstyled component library optimized for fast development, easy maintenance, and accessibility.
  • Headless UI - Unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.
  • TailwindUI - Components and templates, built by the makers of Tailwind CSS.
  • PostCSS - I only use these plugins: tailwindcss, autoprefixer, and postcss-import

Auth

  • Clerk - Integrate complete user management UIs and APIs, purpose-built for React, Next.js, and the Modern Web.
  • Auth.js - I have used Auth.js more than Clerk, but Auth.js is going through a transition and is being adapted to the Nextjs App Router. Clerk seems nicer right now.

Analytics & Monitoring

  • Fathom - Fathom is a Google Analytics alternative that doesn’t compromise visitor privacy. My preferred tool for ethical analytics.
  • Plausible - Easy to use and privacy-friendly Google Analytics alternative. No cookies and fully compliant with GDPR, CCPA and PECR.
  • Axiom - You need centralized logging to know when things go wrong.

Notifcations & Messaging

  • Pusher - Push notification service that scales.
  • Twilio - I like Sendgrid for email, and Twilio SMS. Both work very well for transactional notifications.
  • Loops - A better way to send marketing + transactional email

General

  • Contentlayer - Contentlayer is a content SDK that validates and transforms your content (.md, .mdx) into type-safe JSON data you can easily import into your application.
  • XState - Any time I have a complex state problem, I use this.
  • Stripe - Financial infrastructure for the Internet.
  • Segment - Customer data platform (CDP) that helps you collect, clean, and activate your customer data. Also from Twilio.
  • GrowthBook - Open source platform for feature flags and A/B testing.
  • Mux - The Internet's Video Infrastructure.

This list is not comprehensive - just a robust sampling of tools I find really useful.

Code Editor

Web Dev Extensions (Web Profile)

  • AdamCaviness.theme-monokai-dark-soda
  • andys8.jest-snippets
  • bradlc.vscode-tailwindcss
  • christian-kohler.npm-intellisense
  • csstools.postcss
  • DavidAnson.vscode-markdownlint
  • dbaeumer.vscode-eslint
  • dsznajder.es7-react-js-snippets
  • EditorConfig.EditorConfig
  • esbenp.prettier-vscode
  • file-icons.file-icons
  • formulahendry.auto-rename-tag
  • Gruntfuggly.todo-tree
  • mushan.vscode-paste-image
  • Prisma.prisma
  • redhat.vscode-yaml
  • svelte.svelte-vscode
  • unifiedjs.vscode-mdx
  • vscode-icons-team.vscode-icons
  • wix.vscode-import-cost
  • mikestead.dotenv

Python Extensions (Data Profile)

  • ms-python.isort
  • ms-python.python
  • ms-python.vscode-pylance
  • ms-toolsai.jupyter
  • ms-toolsai.jupyter-keymap
  • ms-toolsai.jupyter-renderers
  • ms-toolsai.vscode-jupyter-cell-tags
  • ms-toolsai.vscode-jupyter-slideshow

Miscellaneous Extensions

  • ms-azuretools.vscode-docker
  • ms-vscode-remote.remote-containers
  • golang.go
  • sharat.vscode-brewfile
  • wmaurer.change-case

Chrome Extensions

Privacy & Security

  • Privacy Badger - Privacy Badger automatically discovers trackers based on their behavior. Privacy Badger sends the Global Privacy Control signal to opt you out of data sharing and selling, and the Do Not Track signal to tell companies not to track you. If trackers ignore your wishes, Privacy Badger will learn to block them.
  • uBlock Origin - uBlock Origin is more than an "ad blocker", it's a wide-spectrum content blocker with CPU and memory efficiency as a primary feature.
  • Bitwarden - A secure and free password manager for all of your devices.
  • Consent-O-Matic - Cookie pop-ups are designed to be confusing and make you 'agree' to be tracked. This add-on automatically answers consent pop-ups for you, so you can't be manipulated. Set your preferences once, and let the technology do the rest!

Development

Desktop Apps

Basics

  • Google Chrome - I also install FireFox for testing so I have Chrome, Safari and FF. However I use Chrome 90% of the time.
  • Spotify - Yep, my favorite music streaming. Checkout Soundiiz to sync playlists between Apple Music and Spotify.
  • Discord - I don't "hang out" online, I don't have time for that - but when I need to connect this is where I usually go.

Programming

  • Visual Sudio Code
  • Insomnia - Start building, designing, testing better APIs through spec-first development driven by an APIOps CI/CD pipelines.
  • Docker - Docker Desktop is a one-click-install application for your Mac, Linux, or Windows environment that lets you to build, share, and run containerized applications and microservices.
  • Dash - Dash gives your Mac instant offline access to 200+ API documentation sets
  • iTerm2 - iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.14 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted. I also install Warp but I haven't really adopted it.

Productivity

  • Hey - HEY’s approach blocks senders by default - you have to allow them through. I use this for my personal eMail and it works well, once you learn it's ways.
  • Obsidian - Obsidian is the private and flexible writing app that adapts to the way you think.
  • Dex - Dex brings together LinkedIn, email, and all your daily tools. Keep in touch, remember where you left off, and see everyone you know.
  • Things - Things is the award-winning personal task manager that helps you plan your day, manage your projects, and make real progress toward your goals.
  • Todoist - My preferred todo list app
  • Calendly - For: "Grab a time whenever" link with consulting fees built-in.
  • Cron - My calendar app and it allows me to share my availability with specific blocks of time.

Video

  • Zoom.us - Am I the only one tired of Zoom meetings?
  • OBS - Powerful open source live streaming software

Menu Bar

  • Rectangle - Move and resize windows in macOS using keyboard shortcuts or snap areas
  • KeepingYouAwake - Prevents your Mac from going to sleep with one click
  • Numi - Beautiful calculator app for Mac
  • Dato - Dato gives you a local clock, date, multiple world clocks, and upcoming events in the menu bar.
  • System Color Picker - The familiar color picker supercharged
  • TopNotch - Makes the notch disappear like a 🥷.