Tools I use and gadgets I like.
Product Management
Github
Since the introduction of Github Projects, it has become my preferred product management tool. This platform enables the creation of project boards across multiple repositories. GitHub Projects offers the flexibility to add new fields beyond the default issue fields and its ability to manage sprints essentially transforming it into a comprehensive project management tool. I consider it particularly suited for software projects, as it allows for the close collaboration between Product and Developer teams. The ability to link Pull Requests to issues and incorporate automation contributes to maintaining a streamlined workflow.
docs.github.com
Jira
I've used Jira to manage larger, multi-stakeholder products. You can define epics and link issues to develop your Product Roadmap. Jira's most arguably powerful feature is its ability to manage a backlog and organizing sprints.
atlassian.com/software/jira
User Research
Dovetail
I've been utilizing Dovetail for several years, and find myself returning to it for extensive user research studies. Dovetail stands out as a must-have tool, excelling in its ability to compile and systematically group user research insights into broader themes. This workflow proves invaluable for formulating user personas, mapping user journeys, and identifying high-level needs that a solution should address. While I highly recommend this tool, it's worth noting that the downside lies in its cost, but it does offer a limited free trial.
dovetail.com
Lucidchart
I use Lucid for drawing diagrams and mapping out data workflows including system architecture designs like entity relationship diagrams (ERD). This tools keeps things simple and easy to use templated components so you can easily get started on your next diagram.
lucidchart.com
Design
Figma
Figma is my preferred design tool, serving as my go-to platform for storyboarding and wireframe design. It allows for the seamless management of a design system, and you can easily extract CSS for styling your application. I find the prototype feature is particularly helpful, enabling the creation of clickable screens to demonstrate how a feature works.
figma.com
Licecap
One of my preferred methods for showcasing recently created clickable mockups is by recording a GIF so I can share it with my team for feedback. Licecap is an open source, no-frills GIF recorder that's reliable and cross-platform compatible. I utilize GIFs not only to report bugs by illustrating steps to reproduce errors but also to showcasing user acceptance criteria.
cockos.com/licecap
Storybook
Storybook helps in documenting frontend UI components, showcasing the style and variations of a design system. This simplifies the use of these components for my team, allowing them to concentrate on the more enjoyable logic aspects of app development.
storybook.js.org
Development tools
VS Code
My preferred code editor is VS Code. Its intuitive interface and layout caters to my needs. When it comes to app development, I often work in the frontend and I appreciate having the terminal seamlessly integrated into the layout for easy package installs and console debugging.
code.visualstudio.com
Frontend
Lately, I've been working with React and am also familiar with Vue.js, using TypeScript to build single-page applications (SPAs). For styling, I prefer using global SCSS to manage the app's design.
react.dev
Tailwind CSS
I've enjoyed using tailwind components and css for its simplistic design choices and ease when styling. The documentation is extensive so it's easy to familiarize yourself and quickly get your app looking the way you'd like.
tailwindcss.com
Backend
When it comes to SPAs, I opt for using Node and Next.js for the backend. Yet, for large web applications, I lean towards Python and its Django web framework and DRF (Django Rest Framework). Building Python-based backends has the added advantage of leveraging its wide collection of libraries for constructing data focused apps.
djangoproject.com
Swagger
When taking an API-first approach to app development, API design and documentation is crucial. I have found that swagger meets these needs and is widely accepted as the gold standard among developers.
swagger.io
Documentation
Markdown
Markdown plays a crucial role in my daily work. With various flavors available, its widespread popularity has led to its support in tools such as Slack, Jira, and even Google Docs. I extensively use markdown files for documenting GitHub repositories, for internal product documentation and external knowledge bases. If you're still relying on Word docs for documentation, consider making the switch to the web-friendly markdown-it even supports emojis 😅!
docs.github.com
Gitbook
Documentation changes frequently, making version control essential. GitBook is a markdown-based tool that integrates with Git, making it easy to structure files and collaborate—even with non-technical teammates. Its clean layout with a minimal table of contents and search allow you to create a user-friendly knowledge base. GitBook is free for open-source projects and nonprofits through its community plan, and you can also self-host its open-source version on GitHub.
gitbook.com
Data Handling
Google sheets
I prefer Google Sheets over Microsoft Excel, period. Its web-based design, coupled with the capability to stay in sync with numerous simultaneous collaborators, all while retaining the powerful functions of Excel, makes it the superior choice. When creating your next spreadsheet, opt for a live spreadsheet in Google Sheets and see your productivity go up.
google.com/sheets
Airtable
Airtable is a tool that has gained popularity in recent years, bridging the gap for spreadsheet users. I've utilized it in several projects and appreciate its ability to build relationships between tables (similar to vlookups), along with its user-friendly features for creating data validation and conditional formatting. If you're feeling weary of traditional spreadsheet creation, it's worth giving Airtable a try on your next project.
airtable.com
Jupyter Notebooks
As the successor to iPython Notebooks, Jupyter Notebooks has emerged as a popular interface for writing Python scripts to extract and handle data queries. You can use Python and its robust packages like pandas and scikit-learn, making it ideal for data wrangling tasks. I've also found it useful to create data-driven reports filled with interactive tables and charts alongside a written narrative.
jupyter.org
R
For more statistically intensive analyses, I prefer using R. As an open-source language, R offers a wealth of powerful packages that support data storytelling projects through RMarkdown and building complex visualizations using packages like ggplot2, lattice, maptools, and HH.
r-project.org
Data Integration/ETL
Airflow
Apache Airflow, an open-source tool serves as my go-to tool for managing data integrations between systems. As a data orchestration tool, it uses Directed Acyclic Graphs (DAGs) that makes it extensible while simplifies the deployment and scheduling of integration scripts. If you have multiple custom integrations and require a straightforward tool to execute them, I recommend exploring Airflow.
airflow.apache.org
Data visualization/BI
Superset
Superset is an open source business intelligence (BI) tool supported by the Apache Foundation. This sleek BI tool empowers users with the ability to control and customize every aspect of visualizations within a dashboard. If you're in search of an enterprise-ready BI solution, I recommend exploring Superset before delving into the expensive realm of proprietary solutions like PowerBI.
superset.apache.org
Google Looker Studio
This is one of my favorite BI and dashboarding tools. It's user-friendly, connecting seamlessly to data sources with just a few clicks. The intuitive handling of data transformations makes it stand out. I highly recommend this tool, especially if you need to throw together an interactive dashboard on the go.
lookerstudio.google.com
PowerBI
PowerBI stands out as the well-established BI tool on the market, having been around for awhile and benefiting from being part of the Microsoft ecosystem. However, in practice, I've observed its been used to create overtly complex dashboards in contrast to easy-to-understand dashboards. While this might be due to user error, I do find that it is a powerful and reliable tool. My primary concerns revolve around its high cost and potential vendor lock-in if you decide to go this route.
powerbi.microsoft.com
GIS tools
I've spent several years building interactive maps to showcase an organization's or project's impact in the field. My preferred tool is Leaflet, an open-source library that makes it easy to integrate maps in custom applications. For more complex map layers, I turn to QGIS for an open-source solution or ArcGIS when proprietary tools are required.
leafletjs.com
Data Collection
Open Data Kit (ODK)
The ODK suite, complemented by its strong XLSForm authoring capability, has played a crucial role in supporting nonprofits during their transition to mobile data collection. ODK's impact is clear, with its open-source projects like Collect and Central giving rise to several proprietary solutions such as CommCare and SurveyCTO. Initiatives by Ona (created by the FormHub founders), have paved the way for improving the way of managing data collection submissions, ultimately leading to the development of Kobo Toolbox, arguably the most widely used tool in this domain.
getodk.org
Work station
PC Build
Fractal Meshify 2 compact case, AMD Ryzen 9 5900x, 32GB RAM, EVGA GTX 3070, 1 TB SSD, Razor keyboard and mouse
View PC Part List
Apple Macbook Pro 14-inch
M4 Pro 14-core CPU 20-core GPU, 48GB RAM, Nano-texture display, Apple Trackpad, and Keyboard
geekbench.com
Huawei MateView 34-inch ultra-wide QHD display
165 Hz refresh
huawei.com
