Frieze.DEV

Software I use, devices I love, and other things I recommend.

Hardware

  • MacBook Pro, M1, 16GB RAM
    This is my main machine for development and everyday use. The M1 chip is still fast and efficient, and 16GB of RAM has been plenty for my workflow. It’s quiet, reliable, and has excellent battery life. I enjoy working in macOS, and the hardware itself is well‑designed and enjoyable to use. On top of that, it fits right into the Apple ecosystem, which I rely on since I use other Apple devices and so does my family.
  • MINISFORUM HX80G, Ryzen 7 5800H, 32GB RAM, RX 6600M
    My main Windows machine. Despite its compact size, it’s powerful enough to handle demanding games like Star Citizen and runs smoothly for any Windows‑specific work I need to do. I use my MacBook more for development, but this system is my go‑to when I want to game or need access to Windows.
  • GIGABYTE M27Q PRO: 27" 165Hz 1440p
    A solid and affordable monitor that pairs well with both my MacBook and HX80G. The 1440p resolution and 165Hz refresh rate make it great for gaming and everyday use, and the IPS panel provides colors that are accurate enough for work.
  • Kinesis Advantage 360 Pro
    An ergonomic split keyboard with a contoured key‑well and columnar layout that helps reduce strain and finger movement. The Pro model runs ZMK, which makes it highly customizable, and I use Box White switches for a satisfying tactile feel. It took a short adjustment period, but it’s become one of the best purchases I’ve made.
  • Logitech Lift Vertical Ergonomic Mouse
    Ergonomic vertical mouse that reduces wrist pronation and improves comfort. Compact and precise, it connects via Bluetooth or USB receiver and is comfortable for long sessions with quiet buttons. Runs on a single AAA battery with excellent battery life.
  • Sennheiser HD 560 S
    My favorite headphones for music, calls, gaming, and casual listening. They are open‑back with a neutral tuning and wide soundstage, which makes them great for the kind of music I enjoy and even suitable for music production. They’re also extremely comfortable and lightweight, so I can wear them for hours without fatigue.
  • Apple AirPods Pro (2nd Generation)
    Wireless earbuds with excellent noise cancellation and a natural‑sounding transparency mode. They’re comfortable enough for long sessions, switch seamlessly between my devices, and the sound quality is pretty good.
  • Apple iPhone 16 Pro
    The phone I use for communication, photos, and apps. I stick with the iPhone because it integrates well with my other Apple devices, and it makes everyday things like syncing, sharing, and staying connected with my family simple. It’s fast, reliable, and well-designed.

Everyday Apps

  • Notion
    My go‑to app for notes and references. I use it to keep track of ideas, write project notes, and organize reference material.
  • Todoist
    The app I use to manage tasks and keep track of what needs to get done. I like its simple design and the fact that it works well on any platform, including the browser. Having easy access from anywhere makes it reliable for staying organized.
  • Raycast
    My launcher of choice for quickly opening apps, searching files, and running commands. I like how fast it feels and how many extensions are available to customize it. It also works well as a central hub for small tasks and even doubles as a window manager. Raycast makes macOS so much better, and I can’t imagine using a Mac without it.
  • 1Password
    Securely stores passwords and sensitive information like payment details, licenses, crypto wallets, SSH keys, and secure notes. The autofill works reliably across apps and browsers, and the cross‑platform integration makes it easy to access everything wherever I’m working.
  • Raindrop
    My bookmark manager for saving and organizing links, articles, and resources. I use it to keep track of documentation, blog posts, and references I want to revisit later. The tagging and search features make it easy to find what I need, and the cross‑platform sync means my collection is always available.
  • T3 Chat
    The AI chat assistant I use most often and the only one I pay for. It’s fast, has a clean interface, and feels great to use every day. I also like that it supports almost any model and is often one of the first apps to add the latest releases.
  • Perplexity
    Another AI chat assistant I use occasionally for exploring topics, answering technical questions, and summarizing articles or documentation. I like that it provides citations, which makes it easy to verify information or dig deeper when I need more context.
  • Google Chrome
    After trying many browsers, I’ve ended up sticking with Chrome. I used Arc for a while but it’s no longer supported, Firefox often lags behind in supporting newer features and feels a little dated, Vivaldi is too busy for my taste, and Edge has features that seem useful at first but don’t hold up over time. Chrome may not have the most bells and whistles, but it’s fast, reliable, and consistent.

Dev Environment

  • Cursor
    My main code editor. It’s very similar to VS Code, so it feels familiar, but it adds AI features that make a big difference in my workflow. The tab completion is the best I’ve used, and I like that the agentic mode lets me choose between different models depending on the task. I often use Claude Sonnet 4, GPT‑5, and GPT‑5 Mini.
  • opencode
    A tool I use in the terminal that works a lot like agentic mode in Cursor, but for command‑line tasks. It’s open source, has a nice terminal UI, and lets me choose from many different models depending on what I need.
  • Zed
    Another editor I’ve been exploring. It’s designed for speed and has a clean UI. The tab completion isn’t as strong as Cursor, but the overall editing experience feels better than both Cursor and VS Code. I don’t mind giving up Cursor’s agentic mode here since I can cover that with opencode in the terminal.
  • Poimandres
    My favorite dark theme for VS Code.
  • Monaspace
    A superfamily of fonts from GitHub that are designed for programming. My favorite font is Neon.
  • Ghostty
    My terminal of choice. It’s fast, lightweight, and has a modern feel without getting in the way. I like that it’s GPU‑accelerated and has thoughtful defaults that make it easy to use right away. It’s also open source.

Dev Tools

  • React
    The foundation of most of my projects. I like its component model and the ecosystem around it.
  • Next.js
    My go-to React framework for production apps (for now). Features like file-based routing, dynamic HTML streaming, React Server Components, SSR, and the Image component make it hard to beat. It works seamlessly with Vercel, and the large ecosystem and active community make it easy to find solutions to any problem.
  • Astro
    Great for content-focused sites like this one. I like that it ships less JavaScript by default and integrates easily with React when I need it. The Content Collections feature makes working with Markdown and other content types straightforward, and the built-in Image component is very handy.
  • TanStack Start
    My current favorite React framework. It has isomorphic loaders, server functions with middleware, and a client‑first SSR model that only runs on the initial page load. It uses Vite and TanStack Router, which is the most type‑safe and feature‑rich router I’ve used. Since I already rely heavily on TanStack Query, it fits perfectly into my workflow and can be deployed almost anywhere.
  • TanStack Query
    My go-to library for managing server state in React apps. It handles queries and mutations with caching, deduplication, prefetching, background updates, and automatic refetching, which removes a lot of the boilerplate around data fetching. It also makes loading and error states much easier to manage, and the built-in devtools are excellent for debugging. I use it in almost every project.
  • TypeScript
    I use TypeScript for almost everything. Strong typing makes refactoring safer and helps catch issues early, and the autocomplete in editors is a huge productivity boost. It makes working with modern frameworks and libraries much smoother.
  • tRPC
    My preferred way to build type-safe APIs. It provides end-to-end type safety between server and client, so I don’t have to write or maintain separate types. In the editor, I can click on a function in the client code and jump straight to its matching procedure on the server, which makes navigation much easier. It also provides useful middleware, and I like the clear organization that comes from structuring logic into procedures.
  • Tailwind CSS
    My preferred way to style apps. The utility-first approach works well with React’s component-oriented architecture and keeps styles in the component code instead of separate CSS files. It comes with great defaults for spacing, colors, and responsive design, and it’s easy to customize when needed. The ecosystem around it is also excellent.
  • shadcn/ui
    A collection of prebuilt components I use to save time while keeping full flexibility. They also look great out of the box. Unlike monolithic component libraries, you own the code, which makes long-term maintenance easier and removes the need for escape hatches. They’re just React components built with Radix and styled with Tailwind, so they’re easy to customize and fit naturally into my projects.
  • tweakcn
    A tool I use to quickly tweak and generate Tailwind styles for shadcn/ui.
  • Biome.js
    A fast formatter and linter I use instead of Prettier and ESLint.
  • Git
    Version control I use for everything.
  • GitHub
    Where I host my code and collaborate on projects.
  • Zsh (Oh My Zsh)
    My shell of choice.
  • Better Auth
    A comprehensive auth framework for TypeScript. It’s self-hosted, so I own the logic and avoid vendor lock-in, and it includes features like SSO and password reset out of the box. The API is simple, works with modern frameworks, and adapts to different databases.
  • Drizzle ORM
    A lightweight, type-safe ORM with the schema defined in TypeScript, giving you autocomplete and strong typing. It supports serverless runtimes and HTTP-based drivers, which makes it a great fit for PlanetScale.
  • Unpic
    A tool I use for responsive images across frameworks.
  • Payload CMS
    A self-hosted, TypeScript-based headless CMS with collections and fields defined in code for type safety and autocomplete. It includes features like auth, access control, file uploads, and APIs. Since it’s built on top of Next.js, it can run directly inside a Next app and be deployed to Vercel alongside it.

Services

  • Vercel
    My default choice for hosting Next.js and frontend apps. Git integration with preview deployments makes it easy to test and share changes, and rollbacks are seamless. It’s affordable if you manage it well, with spending limits, a built-in firewall, and attack challenge mode for protection. Fluid Compute has lowered costs, reduced cold starts, and improved performance.
  • Railway
    I often use Railway to quickly spin up databases or servers for development. It’s much easier than managing a VPS yourself, since it handles the setup and hosting for you while still giving the flexibility of running containers.
  • Sevalla
    I use Sevalla when I want something more production ready than Railway. It is like Vercel for VPS because it handles setup, Git integration with previews, networking, and even Cloudflare integration while still giving the flexibility of a full server.
  • DigitalOcean
    I use their Droplets when I need a straightforward VPS. Simple, affordable, and reliable.
  • Cloudflare
    I use Cloudflare for DNS and CDN, and sometimes Workers.
  • PlanetScale
    A reliable and high‑performance serverless MySQL platform built on Vitess, the same technology that powers YouTube. One of my favorite features is database branching, which makes it easy to create preview deployments.
  • Upstash
    A serverless data platform I mainly use for Redis, rate limiting, workflow, and search. It’s fast, pay‑as‑you‑go, and easy to integrate into modern React apps without managing infrastructure.
  • Convex
    My main choice for databases in apps built with TypeScript. Convex provides a real-time backend with tRPC like type safety. It is transactional by design and also supports actions and file storage. It is hosted on PlanetScale so it has excellent performance and reliability, and it is built by the same team that created Dropbox.
  • Clerk
    A hosted auth solution I reach for when I want something full-featured and easy to integrate.
  • PostHog
    My go-to for long-term product analytics like page views, conversions, and onboarding success. I like that it’s open source and self-hostable.
  • Axiom
    A logging and analytics platform I use for short‑lived, high‑volume data like function response times, uptime, and request counts.
  • Sentry
    What I use for error tracking and performance monitoring. It’s reliable and easy to integrate.
  • Inngest
    A tool I use for background jobs and event-driven workflows. Makes async tasks much easier.
  • Cloudinary
    A service I use for image hosting, transformations, and delivery.
  • Porkbun
    My domain registrar of choice. Simple, affordable, and reliable.
  • Arcjet
    A security tool I use that provides bot detection, rate limiting, email validation, attack protection, and data redaction.
  • CodeRabbit
    A code review assistant I use to speed up PR reviews and catch issues early.
  • Sanity CMS
    A hosted headless CMS with a great content editing experience. I like it for projects where I want an easy-to-use studio for non-developers, and it provides a flexible API for pulling content into apps.

Design Tools

  • Figma
    The industry-standard design tool and the one I use by default. I’m not a designer, so I mostly use it for simple UI work and collaboration as a developer.
  • Excalidraw
    My favorite tool for quick sketches and diagrams.
  • Whimsical
    Great for flowcharts, wireframes, and diagrams.
  • Mobbin
    A resource I use for design inspiration and UI patterns.
  • v0
    A tool I use to quickly generate UI ideas and prototypes.