Things I Use.
Here's a list of the tools I use to build software.
Development tools
-
VSCode
Visual Studio Code is an editor with a whole range of extensions that turns it into a great Python IDE for Django development. The Tailwind CSS IntelliSense extension is a must.
-
iTerm2
iTerm2 is a macOS Terminal that I use mainly for its split pane feature.
-
TablePlus
TablePlus is a macOS app for exploring relational databases that I mainly use for inspecting Django databases.
-
Homebrew
Homebrew is the package manager I use for installing command-line software on macOS.
Programming
-
Python
Most of my programming is done in Python with Django and Pandas for data cleaning and analysis.
-
JavaScript
I use vanilla JavaScript to add interactivey when Alpine.js is not enough.
-
Ruby
I sometimes use Ruby for scripting and data cleaning but mostly for building this website with Jekyll.
Web Stack
-
Django
Django is the standard Python Web framework. Most web application functionality works out of the box.
-
HTMX
HTMX is a JavaScript package that adds HTML attributes for interacting with web servers to provide a single-page application feel without needing to write custom JavaScript.
-
Alpine.js
Alpine.js is a JavaScript package that adds interactivity within a web page using HTML attributes.
-
Tailwind CSS
Tailwind is a utility-first CSS framework for rapidly building custom designs.
-
Hericons
Heroicons is a set of SVG icons by the makers of Tailwind CSS. I look here first for icons.
-
Leaflet
Leaflet is the standard open-source solution for interactive mapping on the web.
-
Chart.js
Chart.js provides a wide range of highly customisable charts for presenting data.
-
D3
D3 is a JavaScript library for producing custom, interactive data visualizations using a much lower-level set of components than charting libraries.
Data Wrangling
-
Pandas
Pandas is the standard tabular data analysis and manipulation library for Python.
-
GeoPandas
GeoPandas adds geospatial features to Pandas.
Design
-
Affinity Designer
Affinity Designer is the vector graphics editor I use for creating UI prototypes, diagrams, logos etc.
-
Affinity Photo
Affinity Photo is the raster graphics editor I use any time I want to edit photos and screenshots.
Productivity
-
Raycast
Raycast is a keyboard-driven app launcher with loads of utilities and integrated set of AI chat models.