in

Supercharge Local Development Environment with these 10 Tools

Having a robust local development environment is crucial for programmers and web developers to build applications efficiently. The right tools can streamline workflows, solve common problems, and make you more productive overall.

In this post, we‘ll explore 10 awesome open source tools to supercharge your local setup for web and app development. For each tool, I‘ll provide a quick overview, key features, installation notes, and examples so you can quickly add them to your toolkit. Let‘s dive in!

1. Ngrok – Expose local servers for testing

![ngrok interface showing public URL](https://mcngmarketing.com/wp-content/uploads/2021/04/ngrok-image-e1619607557913.png)

Ngrok is an indispensable tool that exposes your local development environment to the internet for testing. It creates a secure public URL that tunnels traffic to your local machine.

Ngrok is extremely handy for demonstrating local web projects, testing APIs from external services, or making local sites accessible for collaboration.

Key Features

  • Expose local web servers publicly via a unique URL
  • Secure tunneling of traffic from public URL to local host
  • Inspect HTTP traffic flowing over tunnel
  • Cross-platform – works on Linux, MacOS, and Windows

Installation

Download the latest binary for your OS from ngrok‘s website. Unzip and run the executable to verify it‘s working:

./ngrok http 80

This will tunnel traffic from a random URL to port 80 on your local machine.

Usage

To expose a local Node.js app running on port 3000:

./ngrok http 3000

Ngrok will output the public URL. Try accessing that URL from any internet-connected device, and traffic will be securely routed to your local environment for testing!

2. DevKinsta – Local WordPress Development

{% youtube ‘https://www.youtube.com/watch?v=3G9OqnjjX8c‘ %}

DevKinsta provides a full local WordPress stack for developing themes, plugins, and sites. It‘s a free tool from Kinsta optimized for WordPress.

DevKinsta saves tons of time and headaches when working on WordPress projects locally. No more configuring servers and databases!

Key Features

  • Local Nginx web server
  • Built-in MySQL database
  • WP-CLI integration
  • 1-click WordPress instance creation
  • Email catching
  • PHP 7.x and 8.x support

Installation

Download the installer for your OS from DevKinsta. Follow the setup wizard to get your local WordPress stack running in just a few minutes.

Usage

With DevKinsta, I can create a new local WordPress site simply by:

devkinsta create my-site

This provisions a WordPress instance at http://my-site.localtest.me. I can instantly start theme development and testing plugins. No Docker or databases to configure manually!

3. Telepresence – Local Kubernetes Development

![Telepresence CLI tool](https://mcngmarketing.com/wp-content/uploads/2021/04/telepresence-e1619608083988.png)

Telepresence is a CLI tool that simplifies local Kubernetes development. It lets you run services on your machine while proxying requests to/from a remote Kubernetes cluster.

This helps developers test code locally against real prod services and data. No need for mocked dependencies or fake data!

Key Features

  • Intercept calls to Kubernetes services and route to local
  • Redirect requests from Kubernetes to your local code
  • Use live data from your remote cluster
  • Easy to install with Python pip

Installation

Telepresence can be installed via pip on Linux/macOS:

pip install telepresence

On Windows, grab the latest telepresence.exe from the GitHub releases page.

Usage

To demonstrate, I have a simple Flask app in Kubernetes. I want to modify it locally but still access the remote MySQL database.

First, I deploy my Flask app to the cluster. Then from my local machine, I can run:

telepresence --swap-deployment flask-demo --run python mylocalcode.py 

This proxies requests to my local code while routing database requests to the remote MySQL instance. Powerful!

4. HTTPie – HTTP Client for APIs

![HTTPie example](https://mcngmarketing.com/wp-content/uploads/2021/04/httpie-e1619608301651.png)

HTTPie is an elegant HTTP client for interacting with APIs. It provides an intuitive interface using simple commands.

HTTPie makes API testing seamless. No need to write separate test code – just fire one-off commands to hit endpoints and inspect responses.

Key Features

  • Intuitive syntax for requests
  • Custom headers and auth
  • Formatting for JSON responses
  • Supports persistence with sessions
  • Themes and color output

Installation

HTTPie can be installed via pip on macOS/Linux:

pip install httpie

On Windows, grab the httpie.exe binary from the releases page.

Usage

Making requests is simple. To POST data to an API as JSON:

http POST https://some-api.com/user name=John [email protected]

HTTPie encodes the data, sets headers, sends request, and neatly formats output – with no coding needed!

5. Tunnelto – Public URLs for Local Testing

![Tunnelto example](https://mcngmarketing.com/wp-content/uploads/2021/04/tunnelto.png)

Like Ngrok, Tunnelto exposes your local environment publicly for easy testing and sharing.

Tunnelto is an open-source alternative with features tailored for local development. For exposing your work safely, it‘s a handy tool to have in your back pocket.

Key Features

  • Generate public URLs for local sites
  • Fix port collisions automatically
  • Optional custom domains
  • Simple CLI usage

Installation

Pre-built binaries for Windows, Linux, and macOS can be downloaded from the Tunnelto site.

To install on Linux, download the .tar.gz, extract, and run the binary:

./tunnelto --help  

Usage

To share a local web server publicly:

./tunnelto http 3000

This exposes my localhost on port 3000 via a public URL. Clients can access my local work in progress!

6. Mkcert – Local SSL Certificates

![mkcert example](https://mcngmarketing.com/wp-content/uploads/2021/04/mkcert-1-e1619608909258.png)

Mkcert makes generating local SSL certificates a breeze. It creates certificates that are signed by a local CA to enable TLS encryption for your local setup.

Mkcert is super handy for testing code that relies on SSL certificates being properly configured. No more certificate errors!

Key Features

  • Automatically creates and installs a local CA
  • Generates trusted local SSL certificates
  • Simple command line interface
  • Works across Mac, Windows and Linux

Installation

On macOS use Homebrew:

brew install mkcert 

On Linux grab the binary from Github Releases.

On Windows download and run the msi installer.

Usage

To generate a local cert for myapp.test domain:

mkcert myapp.test 

Mkcert generates and installs the certificate automatically. Now my local web server can use proper SSL encryption and avoid those pesky certificate warnings.

7. Tmate – Terminal Sharing

![Tmate web-based terminal sharing](https://mcngmarketing.com/wp-content/uploads/2021/04/tmate-e1619609450859.png)

Tmate makes collaborating in the terminal easy. It enables instant remote connections to your local sessions.

Rather than screen-sharing an entire desktop, Tmate provides granular access to only your terminal. Useful for pairing, debugging, or remote assistance.

Key Features

  • Web-based terminal access
  • Secure SSH connections
  • Read-only and read/write modes
  • Easy installation

Installation

On Linux/macOS, install Tmate with the native package manager:

# Linux 
sudo apt install tmate 

# macOS
brew install tmate

On Windows, download the tmate.exe binary from Github releases.

Usage

To share a terminal:

tmate -S /tmp/tmate.sock

This creates a shareable URL that a teammate can access. I can then grant read-only or read-write access when pairing on an issue.

8. Mailcatcher – Email Testing

![Mailcatcher local email viewer](https://mcngmarketing.com/wp-content/uploads/2021/04/mailcatcher-e1619609587760.png)

Mailcatcher provides a simple local SMTP server and web interface to preview emails during development.

Setting up real email delivery and testing can be complex. Mailcatcher avoids that hassle and makes email workflows painless to implement locally.

Key Features

  • Catches email sent via SMTP for preview
  • View messages in modern web UI
  • Debug email contents, headers, etc.
  • Fast Ruby setup

Installation

With Ruby installed:

# Install mailcatcher gem
gem install mailcatcher

# Start local server
mailcatcher

Now visit http://localhost:1080 to view caught emails.

Usage

I configure my application to deliver emails to Mailcatcher‘s SMTP port on localhost.

As my app sends test emails for registration, purchase receipts, etc., Mailcatcher captures everything so I can verify my email workflow is solid before deployment. Super useful!

9. DDEV – Local PHP Development

![DDEV local PHP environments](https://mcngmarketing.com/wp-content/uploads/2021/04/ddev-e1619609835308.png)

DDEV enables painless local PHP development environments.

With just a single command, DDEV configures and runs Nginx, PHP, and MySQL containers tailored for your project. No more fiddling with different Docker setups per project!

Key Features

  • 1-command project setup
  • Local HTTPS out of the box
  • Customizable PHP and database versions
  • Integrates with popular CMSs like WordPress and Drupal
  • Built for efficiency and performance

Installation

Grab the latest release for your OS from ddev.com. On Linux/macOS, you can also use homebrew:

brew install ddev

Usage

To create a new Drupal 8 site:

mkdir my-drupal8-site 
cd my-drupal8-site
ddev config --docroot web --projecttype drupal8
ddev start

DDEV handles all the Docker config and even provisions HTTPS automatically! I can focus on developing rather than tooling.

10. Hoppscotch – API Development Platform

![Hoppscotch API development platform](https://mcngmarketing.com/wp-content/uploads/2021/04/hoppscotch.png)

While Hoppscotch isn‘t a local tool per se, it‘s an invaluable resource for testing and improving APIs.

Hoppscotch provides a slick graphical interface for sending requests and inspecting responses. It complements CLI tools like HTTPie nicely during API development.

Key Features

  • Modern and intuitive request builder
  • Code samples for libraries in various languages
  • Testing tools like collections and environments
  • Collaborate with teams in the browser

Usage

After creating an API locally, I can quickly test endpoints and iterations in Hoppscotch before exposing it publicly or hooking up frontends.

The request builder and response viewer allow me to refine my API and catch issues early without having to write tons of custom validation code. Super powerful!

Level Up Your Local Development

Having prompt, performant, and polished local development workflows pays dividends when building new projects and applications. The open-source tools covered in this post help you work smarter at every phase of the development lifecycle.

I encourage you to try out some of these tools that piqued your interest! Let me know in the comments your favorite local development tricks as well. Here‘s to shipping better apps in less time 🚀

AlexisKestler

Written by Alexis Kestler

A female web designer and programmer - Now is a 36-year IT professional with over 15 years of experience living in NorCal. I enjoy keeping my feet wet in the world of technology through reading, working, and researching topics that pique my interest.