The staff I use

Tangible

  • iPhone 14 Pro: 512GB model from 2022 that I have a not-so-healthy dependency on.

    • My first iPhone was the iPhone 5 and, even if I tried Android for a little while, the vertically integrated, walled garden experience is just smoother.
    • I tend to change iPhones every 3 years, so I guess 2025 is upgrade year. Let’s see what they come up with in September.
  • Macbook Pro 14" M1 Pro: I spend most of my non-sleeping hours on this beautiful thing.

    • It’s just an amazing programming workstation. Even as a CTO or consultant, I still spend a lot of time programming, and the MBP never gets in the way — it just works.
    • Even with the 2021 version, I never feel like I’m waiting on it. Only recently, with 60-megapixel DNG files in Lightroom, did I start thinking about upgrading.
    • The ARM-based Mac chips are a real leap in performance and efficiency. I can’t see myself choosing a different architecture.
    • I usually carry a 65W USB-C Anker 735 charging brick when I’m working out of home. Having two USB-C and one USB-A port is terribly convenient.
  • Leica Q3: Most of the photos on this site are and will be shot with a Leica Q3, which I got last summer.

    • I know a camera doesn’t make a better photographer, but I really enjoy shooting with it.
    • Full-frame, with a gorgeous fixed Summilux-M 28 mm f/1.7 ASPH lens. The clarity, the sharpness, the colors — everything is just right.
  • Kindle: My first Kindle was the classic Kindle 3 with a keyboard, back in 2010.

    • I upgraded to a Kindle Voyage in 2014 and read a lot on it — I have this vivid memories of late nights reading Liu Cixin’s Three-Body Problem trilogy during lockdown.
    • Recently, I got the Kindle Paperwhite Signature and re-read the LOTR trilogy as its first run. The UX and responsiveness improvements, compounded over the years are very noticeable.
  • Other Apple gear:

    • AirPods Pro 2: Besides my glasses, this is probably the object that’s most frequently on me. What would I do without its noise cancellation?
    • Apple Watch Series 6: Mechanical watches have gradually taken over as my daily wristwear, but the 2020 Apple Watch is still my go-to for gym days and sleep tracking.

Intangible

  • Cursor: I concede: Cursor is the best coding experience I’ve ever had.

    • I started my career in 2002, so I’ve gone through the full arc — a long Vim phase (I even used Mutt for email), then years of JetBrains IDEs, then VS Code with GitHub Copilot.
    • Cursor convinced me to switch. It’s the best LLM-assisted programming environment out there, and it’s built on top of one of the best software packages in recent memory: VS Code.
  • Terminal suite: I’m not obsessive about dotfiles, but I do have a set of terminal tools I like and stick with.

    • iTerm2: Been using it for years with default settings. It uses the JetBrains Mono font, which I occasionally tweak.
    • Zsh: With oh-my-zsh. Marginally better than bash, but mainstream enough that everything works so it’s worth it.
    • Tmux: I use it mostly for remote sessions. Switched from GNU Screen years ago, and still have Ctrl-A and Ctrl-B fighting for dominance.
  • Mac apps:

    • Browsers:
      • Chrome: I use Chrome mostly for work — multiple profiles, great dev tools, reliable console. Not my default, but always close at hand.
      • Safari: My default browser on macOS. Light, fast, and well integrated. I use it for email and general browsing.
      • Firefox: My choice when interacting with Spanish government websites or using digital certificates. It’s been the most consistent option over time.
    • Spark Desktop: My daily email client across all accounts. I like that it’s made by a small European company. I used Superhuman briefly, but Spark ended up being a better fit (i.e. cheaper). I’m less convinced by their recent AI features — they’re not very reliable yet.
    • Discord: We use it at Vernon as our team chat. It’s free, the API is flexible, and it works well for our needs.
    • Obsidian: My notes system. I keep client notes, research, weeklies, dailies — everything. It’s one of the tools I rely on the most.
    • iA Writer: A focused Markdown writing app. Clean, minimal, and good for staying close to the text.
    • iA Presenter: Write your presentations in Markdown, and get clean, readable slides. I’ve also been exploring ways to generate presentations automatically using LLMs — maybe something I’ll write about later.
    • Adobe Lightroom CC: The best photo editing tool I’ve used. Cloud syncing works smoothly across devices, and the mobile app is excellent. I don’t love Adobe, but Lightroom continues to deliver.

Dev stack

  • Python: The core of my developer toolkit. I’ve had the dubious pleasure of working with PHP, Ruby, and more recently Go (which I really like), but I always come back to Python. It’s where I’m most fluent, and the ecosystem is everything I need — especially now that the AI stack is built around it.

  • Django: “The web framework for perfectionists with deadlines” is a tagline that fits. I’ve built startups and client projects with Django, and the model layer and admin (with Unfold) make me really productive.

  • PydanticAI: A framework from the creators of Pydantic, tailored to building AI agents. I use it in recent projects with Vernon. The validation layer is great for controlling LLM responses, and I appreciate how easy it is to swap models or run evaluations with minimal changes.

  • Postgres: My database of choice for two decades. Reliable, performant, and deeply familiar. I can’t think of a better general-purpose database.

  • Tailwind: CSS has never been my thing, but Tailwind makes it manageable. Combined with DaisyUI, it’s now my default approach for front-end work.

  • HTMX: A lightweight way to bring interactivity into Django apps without going full SPA. It plays really well with backend-first workflows and helps keep things simple.

Services

  • ChatGPT: I use ChatGPT for everything from rewording and data processing to outlining and idea generation. I also use the mobile app’s voice transcription feature — I speak, it transcribes, and that becomes the input. In fact, this whole list started that way.

  • OpenAI APIs: I use OpenAI’s APIs in most of my recent AI work, often with PydanticAI. They’re the most stable and well-documented tools available right now. I’m constantly surprised by how much we can now do through a single endpoint.

  • WeWork: I use WeWork occasionally when I need a change of environment. My Revolut plan includes a few free passes each month, and I take advantage of them when needed.