5 Web Dev Tools That Can Improve Your Productivity
Tags: productivity, webdev
Published: 2020-03-30 09:36:08

Time is always a scarce resource for developers. From aggressive deadlines, to multiple projects, to unexpected requirements, our time is constantly in demand. That's why we're always on the lookout for tools and processes that help us boost productivity. In this article, we'll look at five web development tools that might just give you that extra boost in productivity you need.

### 1. Master the Command Line with [Oh My Zsh](https://ohmyz.sh/)
The default command line interfaces for Windows and OS X ([Command Prompt](https://en.wikipedia.org/wiki/Cmd.exe) and [Bash](https://www.gnu.org/software/bash/)) can be daunting to learn and difficult to customize. If you aren't an expert, you can end up repeating menial tasks that could be automated.

[Oh My Zsh](https://ohmyz.sh/) is an open-source, community-driven framework built on top of [zsh—a](https://www.zsh.org/) command line shell that many people find easier and better than the default options. Oh My Zsh provides a large number of [plugins](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins) (250) and [themes](https://github.com/ohmyzsh/ohmyzsh/tree/master/themes/) (140) out of the box, allowing you to customize your terminal to your preferences. Oh My Zsh is faster, more comfortable to work with, and allows you to easily automate your everyday tasks. Because the command line is increasingly becoming a part of every web developer’s workflow, this could be a great productivity tool to incorporate into your daily work. 

![](https://lh5.googleusercontent.com/C_q0iO9z7e8ws8SfsNJo9ojQ3sjOAfsKGJa0qpzf68z3Q4ICCh4GaAa6BWWFUiEF65UlXcuLZfic1HmtlW484YdzptM3kIO7v8qQb9ZRU8s7NtvIN5J9frKBa_uTRUuZOrYxEKf6)
Installing Oh My Zsh on your computer is straightforward...  
```javascript
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"  
```
As is installing [plugins](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins) and [customizing themes](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes).

Oh My Zish also has a large and active community of contributors. In fact, over [1,500 people have contributed to the project.](https://github.com/ohmyzsh/ohmyzsh)

I've been using this tool for over a year and I love how it streamlines my workflow and how easy it makes working in the terminal. Using Oh My Zsh has helped me become more comfortable and productive with command line. Auto-suggestions and aliases especially have sped up my workflow and increased productivity. Some of my favorite plugins include:

* heroku: auto completions for the [Heroku CLI](https://devcenter.heroku.com/articles/heroku-ci)
* zsh-autosuggestions: auto suggests any of the previous commands
* npm: auto-completion and aliases for [npm](https://npmjs.org/)

### 2. Test APIs on the fly with [Insomnia](https://insomnia.rest/)
Testing REST endpoints can be cumbersome, time consuming, and confusing. Insomnia is a free and open-source, cross-platform GraphQL and REST client that is not only powerful, but also comes with an intuitive and simple UI that makes testing easier, and simplifies my day. Some Insomnia features include:

* Code snippet generation: Insomnia can generate client code for over 20 different languages including NodeJS, Go, Swift, Python, Java, C.
* Plugins system: The plugins system allows you to extend the functionality of Insomnia. You can either create a custom *template tag* for rendering custom values, or create a custom color theme using the [Plugins API](https://support.insomnia.rest/article/26-plugins).
* Environment variables: These are reusable values that are used in any text input within Insomnia. Some common variables are base URLs, authentication tokens, and resource IDs.

![](https://lh4.googleusercontent.com/AG1UHHOQpERBnok_rFYZU4x4LzdZ6CZbAcItdBS-KyBTwsjHXtZ7IqcNbUWBlkpRpG373GQuMceehSf6Co_rl7FzNrv3ECoewqXrSIfjzkRiqPuV_QF_mw7uR6eUPPfrktaKaxJB)

One of the major beneficial features of Insomnia is support for GraphQL. The demo below shows a typical workflow for querying a GraphQL endpoint. In this example, I'm sending a request using a public GraphQL API called *[countries](https://countries.trevorblades.com/)*. Insomnia auto-generates the schema when a URL is passed. After sending the query on the left, it returns the response on the right.


![](https://lh5.googleusercontent.com/bJ4PsuKH_Ap4dg9rxP-v5WcqQyuaE1nYLYlFcj-VLen7fVqOw1rD4XtLEKE2CIm2F1YECI7wA4n5TwjOA44IOr5cbw-7zkakowp3bh-EdnI3GyxXd_1TvGI9TfnUq3BhZXYUB6Hs)

The app ships with many useful features that can streamline your workflow. For example, here we can see the ability to use environment variables.

![](https://lh3.googleusercontent.com/cTVsdhhcqaAbcBpTLopaoxMSVUON9Hs3vVGViovwP8stSqil4Dsa0gSNXX4YXDi-AdlYKmSq_gNrSLu96Q2s3A-DYgOo8pi7nIHdYNyl4oOxwvsw-en1XNLSIPzh4sYbiwkdW906)

When working with APIs, it's common to repeat identical values across multiple requests. Manually performing this task can become time-consuming and difficult. Using environment variables solves this problem by allowing you to define a value, then reference that value wherever it's needed.

### 3. Boost Git Superpowers with [Hub](https://github.com/github/hub)

Most of us spend a lot of time in [GitHub](https://github.com/). Hub is a command-line tool that helps you perform everyday GitHub tasks without constantly switching back and forth from the terminal. Hub wraps git and extends it with extra functionality, including cloning repositories, listing latest open issues, and sharing logs or code snippets via Gist. Not only does Hub make it easier to work with GitHub, but it improves productivity by bringing all your tools together into one environment.

![](https://lh4.googleusercontent.com/26NcyXDQlYreOgTCG4FpeBpNs8YQGW7nPJm2IAmo8p1bKs0maGcPgxjBVR6K1QxtNhpBqpFbZ9VW2YhCsfKF0rFaZDt4SI4zfkZBwogfTDe5DnlhL9w4lOgsLnRMiD3-QYeN-HMh)

There is an extensive list of commands and actions you can perform using hub. [Here is the full list of installation commands](https://github.com/github/hub#installation). You can also find the list by running the command `man hub` on your terminal.

### 4. Access to offline documentation with [DevDocs](https://devdocs.io/)
We all use documentation. (Some of us quite a bit!) When you're working in a stack of multiple technologies, it can be time consuming and inconvenient to constantly switch back and forth between sets of documentation. [DevDocs](https://devdocs.io/) solves this problem. DevDocs is a free and open-source tool for browsing a wide variety of programming language and dev tool documentation all at once in a single clean and organized, web UI. 

DevDocs offers: 
* instant search
* offline support
* mobile support
* dark theme
* keyboard shortcuts
* and more

![](https://lh3.googleusercontent.com/jM28Bg63i1VGjEI9qVxRP8hu_jJgwUGh-AlazMPayHp8BVEX7uHKyUOrv6cBWtcr4xdaHEiYq-a0ujmX0Oettc9Kzf3e6pt3nM7GUZvxipU3N24TYORz_dmhFtj6xuQcfZ-RuoJc)

DevDocs makes reading and searching reference documentation fast, easy, accessible, and enjoyable. And with support for over 150+ projects available offline, you don’t need to worry about staying connected to the internet. This tool is especially helpful when working with multiple languages or tools. For example, I use it extensively to read and search the documentation for both Vue and Cypress at the same time.

### 5. Scale SVG images with [SVGOMG](https://jakearchibald.github.io/svgomg/)
And finally, switching gears to a more practical tool, we have [SVGOMG](https://jakearchibald.github.io/svgomg/) - a free online tool for optimizing SVG files. SVG (Scalable Vector Graphics) images are preferred over other formats (such as PNG or JPG) because of their ability to scale and remain responsive across various devices and screen sizes. One disadvantage to using SVG is that the files can become very large due to redundant information, such as editor metadata, comments, hidden elements, and default or non-optimal values. SVGOMG is a tool that safely removes and optimizes this data to reduce the file size.

![](https://lh6.googleusercontent.com/4jNiQfHVD7U4hsHFk2glnwsToicgUSifwy2Q8VlsJ3PT4BcQjdbWthjGYrO4OF0EsZdySEU_YnNz5gy4jpjtETE9ZffKrDrZS2lvs6DsUIbtxOlvYV-yt6__YP545_uAXDMvCflx)

The image above shows a typical scenario where an SVG file has been optimized by 69.42%. This is a pretty simple tool, but it can help improve the overall performance of your website and avoid bloat on your web page. [SVGOMG](https://jakearchibald.github.io/svgomg/) is a UI implementation of [SVGO(Optimizer)](https://github.com/svg/svgo), which is a node.js based, command-line tool.

### Conclusion

Finding ways to improve the way we work is important. By leveraging the tools above, you can boost your productivity and streamline your workflow. Start prioritizing tools that help automate your workflow, and you'll be rewarded with time savings and productivity gains.