# ngrok

Published articles for ngrok.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## How to Connect Your Twilio Agent to External APIs

DevFeed: [How to Connect Your Twilio Agent to External APIs](<https://devfeed.tech/articles/how-to-connect-your-twilio-agent-to-external-apis-31438.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/how-to-connect-twilio-agent-to-external-apis>)

Author: Amanda Lange

Published: 2026-09-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [API](<https://devfeed.tech/topics/api.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [.NET 9](<https://devfeed.tech/topics/net-9.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [net](<https://devfeed.tech/tags/net.md>), [net-9](<https://devfeed.tech/tags/net-9.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [openai](<https://devfeed.tech/tags/openai.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

This tutorial explains how to build a voice AI agent with C# and .NET 9 using Twilio Conversation Relay. It demonstrates LLM tool calling to fetch live data from an external REST API and covers project setup, required packages, environment variables, and API key storage.

### Source excerpt

How to Connect Your Twilio Agent to External APIs

## How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory in Python

DevFeed: [How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory in Python](<https://devfeed.tech/articles/how-to-orchestrate-multi-call-conversations-with-an-llm-and-twilio-conversation-memory-in-python-26247.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/orchestrate-multi-call-conversations-with-llm-twilio-conversation-memory-python>)

Author: Amanda Lange, Dylan Frankcom

Published: 2026-09-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [API](<https://devfeed.tech/topics/api.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [llm](<https://devfeed.tech/tags/llm.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [openai](<https://devfeed.tech/tags/openai.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [python](<https://devfeed.tech/tags/python.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [voice](<https://devfeed.tech/tags/voice.md>)

### AI overview

This tutorial shows how to build a Python FastAPI voice agent that uses Twilio Conversation Memory to preserve caller context, preferences, and action history across separate phone calls. It also covers connecting to OpenAI, exposing local webhooks with ngrok, and calling the Conversation Memory REST API asynchronously.

### Source excerpt

Learn how to build a Python FastAPI voice agent that uses Twilio Conversation Memory to remember callers across separate phone calls, so if someone hangs up and calls back, the agent picks up right where the conversation left off.

## How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation in Node.js Memory

DevFeed: [How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation in Node.js Memory](<https://devfeed.tech/articles/how-to-orchestrate-multi-call-conversations-with-an-llm-and-twilio-conversation-in-node-js-memory-26244.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/orchestrate-multi-call-conversations-with-llm-twilio-conversation-memory-nodejs>)

Author: Amanda Lange, Dhruv Patel

Published: 2026-09-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Express](<https://devfeed.tech/topics/express.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [API](<https://devfeed.tech/topics/api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [axios](<https://devfeed.tech/tags/axios.md>), [console](<https://devfeed.tech/tags/console.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [express](<https://devfeed.tech/tags/express.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [ide](<https://devfeed.tech/tags/ide.md>), [install](<https://devfeed.tech/tags/install.md>), [js](<https://devfeed.tech/tags/js.md>), [json](<https://devfeed.tech/tags/json.md>), [llm](<https://devfeed.tech/tags/llm.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This tutorial shows how to build a Node.js Express service that uses Twilio Conversation Memory, OpenAI, and voice streams to preserve caller context, preferences, and action history across separate inbound calls. It covers project setup, package installation, local webhook exposure with ngrok, and access to Twilio's Conversation Memory REST API.

### Source excerpt

Learn how to orchestrate multi-call voice conversations using Node.js, OpenAI, and Twilio Conversation Memory to persist caller context across separate calls.

## How to Connect Your Twilio Agent to External APIs in Python

DevFeed: [How to Connect Your Twilio Agent to External APIs in Python](<https://devfeed.tech/articles/how-to-connect-your-twilio-agent-to-external-apis-in-python-16103.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/how-to-connect-twilio-agent-to-external-apis-python>)

Author: Amanda Lange, Dylan Frankcom

Published: 2026-09-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [voice ai](<https://devfeed.tech/topics/voice-ai.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [apis](<https://devfeed.tech/tags/apis.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [openai](<https://devfeed.tech/tags/openai.md>), [python](<https://devfeed.tech/tags/python.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [voice-ai](<https://devfeed.tech/tags/voice-ai.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This tutorial explains how to connect a Twilio voice agent to an external REST API using Python and FastAPI. It demonstrates using LLM tool calling to fetch live data and take actions on a caller's behalf.

### Source excerpt

Learn how to connect a Twilio voice agent to an external API using Python, so it can fetch real-time data and take action on a caller's behalf.

## How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory with PHP

DevFeed: [How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory with PHP](<https://devfeed.tech/articles/how-to-orchestrate-multi-call-conversations-with-an-llm-and-twilio-conversation-memory-with-php-26246.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/orchestrate-multi-call-conversations-with-llm-twilio-conversation-memory-php>)

Author: Amanda Lange, Matthew Setter

Published: 2026-09-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [context](<https://devfeed.tech/topics/context.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [code](<https://devfeed.tech/tags/code.md>), [context](<https://devfeed.tech/tags/context.md>), [conversation-memory](<https://devfeed.tech/tags/conversation-memory.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [llm](<https://devfeed.tech/tags/llm.md>), [logging](<https://devfeed.tech/tags/logging.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [php](<https://devfeed.tech/tags/php.md>), [phpstorm](<https://devfeed.tech/tags/phpstorm.md>), [voice-api](<https://devfeed.tech/tags/voice-api.md>)

### AI overview

This tutorial shows how to build a PHP service with Open Swoole that uses Twilio Conversation Memory to preserve caller context, preferences, and action history across separate inbound calls. It covers the required accounts, tools, environment variables, Composer setup, OpenAI integration, logging, and Memory Store configuration.

### Source excerpt

In this tutorial you'll make a PHP service using Open Swoole that retains caller context, preferences and action history across multiple separate inbound calls.

## Build an AI Voice Assistant with Twilio Voice and Media Streams, OpenAI's GPT-Live API, and Node.js

DevFeed: [Build an AI Voice Assistant with Twilio Voice and Media Streams, OpenAI's GPT-Live API, and Node.js](<https://devfeed.tech/articles/build-an-ai-voice-assistant-with-twilio-voice-and-media-streams-openai-s-gpt-live-api-and-node-js-16093.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/integrations/voice-ai-assistant-openai-gpt-live-1-node>)

Author: Paul Kamp

Published: 2026-09-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [API](<https://devfeed.tech/topics/api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Fastify](<https://devfeed.tech/topics/fastify.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [.env](<https://devfeed.tech/topics/dotenv.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [audio](<https://devfeed.tech/tags/audio.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [js](<https://devfeed.tech/tags/js.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [openai](<https://devfeed.tech/tags/openai.md>), [sign-up](<https://devfeed.tech/tags/sign-up.md>), [streams](<https://devfeed.tech/tags/streams.md>)

### AI overview

This tutorial explains how to build an AI voice assistant that answers phone calls using Twilio Programmable Voice and Media Streams, OpenAI's GPT-Live-1 API, and a Node.js server. It also covers web search and custom function tool calls.

### Source excerpt

Build an AI voice assistant that answers a phone call with Twilio Programmable Voice and Media Streams, powered by OpenAI's GPT-Live-1.

## Make Outbound Calls with Twilio Voice and Media Streams, GPT-Live-1 in the OpenAI API, and Node.js

DevFeed: [Make Outbound Calls with Twilio Voice and Media Streams, GPT-Live-1 in the OpenAI API, and Node.js](<https://devfeed.tech/articles/make-outbound-calls-with-twilio-voice-and-media-streams-gpt-live-1-in-the-openai-api-and-node-js-16091.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/integrations/outbound-calls-openai-gpt-live-1-node>)

Author: Paul Kamp

Published: 2026-09-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [API](<https://devfeed.tech/topics/api.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [api](<https://devfeed.tech/tags/api.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [server](<https://devfeed.tech/tags/server.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial for building an AI voice agent that places outbound calls using Twilio Programmable Voice and Media Streams, OpenAI's GPT-Live-1 API, and Node.js. The agent can explain the call, retrieve a callback note, and search the web when needed.

### Source excerpt

Build an AI agent that places outbound calls with Twilio Programmable Voice and Media Streams, powered by OpenAI's GPT-Live-1.

## Developing Zoom Marketplace Apps w/ ngrok

DevFeed: [Developing Zoom Marketplace Apps w/ ngrok](<https://devfeed.tech/articles/developing-zoom-marketplace-apps-w-ngrok-24763.md>)

Original publisher: [Read original article](<https://medium.com/zoom-developer-blog/developing-zoom-marketplace-apps-w-ngrok-3a53c895bb89?source=rss----4a85731adaff---4>)

Author: Tim Slagle

Published: 2020-02-14T03:01:01Z

Content type: tutorial

Language: en

Sources: [Zoom Developer Blog - Medium](<https://devfeed.tech/sources/zoom-developer-blog-medium.md>)

Topics: [web applications](<https://devfeed.tech/topics/web-applications.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [nginx](<https://devfeed.tech/topics/nginx.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [datacenter](<https://devfeed.tech/topics/datacenter.md>)

Tags: [app-development](<https://devfeed.tech/tags/app-development.md>), [apps](<https://devfeed.tech/tags/apps.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [data-center](<https://devfeed.tech/tags/data-center.md>), [developer](<https://devfeed.tech/tags/developer.md>), [developers](<https://devfeed.tech/tags/developers.md>), [http](<https://devfeed.tech/tags/http.md>), [load-balancer](<https://devfeed.tech/tags/load-balancer.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [prototype](<https://devfeed.tech/tags/prototype.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [subscription](<https://devfeed.tech/tags/subscription.md>), [support](<https://devfeed.tech/tags/support.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [web-apps](<https://devfeed.tech/tags/web-apps.md>), [zoom](<https://devfeed.tech/tags/zoom.md>)

### AI overview

This tutorial explains how developers can use ngrok tunnels while building Zoom Marketplace web apps. It covers why ngrok is useful for prototyping, its production limitations, and steps such as using licensed and reserved endpoints, running it as a service, and placing a load balancer in front of it when scaling.

### Source excerpt

Image Source: ngrok.com NGROK is a wonderful tool for developers to use when they are building web apps and tools. NGROK allows you to create introspectable tunnels directly to localhost. Not only does it allow developers to prototype fast, but it also allows for quick tunnels from the open web to your web apps and tools. A lot of our developers use NGROK to make developing their web apps easier, but this can come with its own set of drawbacks. Today we will be talking about how to use NGROK effectively to make sure your app remains available for your users. Why would you use NGROK as opposed to a more traditional reverse proxy like NGINX/Apache? NGINX/Apache can be a little more complicated than needed. Sometimes you need a quick on authenticated HTTP tunnel to your app. NGROK is very quick. It is a simple command-line tool that makes tunnels with a single command. You are prototyping and need a quick and dirty tunnel. The dangers of using NGROK for production applications NGROK is a great tool, but when you are moving to a production environment there are some things to be aware of. Without a license, the NGROK URL will expire after a short period. A single simple tunnel is a single point of failure and can work against you if not managed properly. It is easy to out-scale an NGROK tunnel as you grow your app. But Tim, what can we do to make sure our app remains available? I'm glad you asked! There are a few steps you can take to make sure your NGROK tunnel remains active so your users can always find and use your app! Purchase an NGROK subscription. If you are going to use NGROK as your tunnel service then we highly recommend buying a license. Buying a license comes with an SLA from NGROK and will ensure you have support if something should go wrong. Don't use auto-generated endpoints. Auto-generated endpoints can be problematic as they can be reserved by another account by mistake. Make sure to reserve a subdomain for use with NGROK so you don't lose your tunnel.

## Easing your development with ngrok

DevFeed: [Easing your development with ngrok](<https://devfeed.tech/articles/easing-your-development-with-ngrok-15616.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/easing-your-development-with-ngrok>)

Author: Tristan Sokol

Published: 2017-08-21T19:09:04Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Internet](<https://devfeed.tech/topics/internet.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [PHP](<https://devfeed.tech/topics/php.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [development](<https://devfeed.tech/tags/development.md>), [local](<https://devfeed.tech/tags/local.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [php](<https://devfeed.tech/tags/php.md>), [server](<https://devfeed.tech/tags/server.md>), [web](<https://devfeed.tech/tags/web.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

A tutorial on using ngrok to expose a local development server through an internet-accessible URL. It explains how this supports testing web apps across devices and receiving Square webhook requests during local development.

### Source excerpt

Make connecting your local dev enviroment to the world easier

## Mobile Testing & Local Dev Sharing with Homestead

DevFeed: [Mobile Testing & Local Dev Sharing with Homestead](<https://devfeed.tech/articles/mobile-testing-local-dev-sharing-with-homestead-31283.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/mobile-testing-local-dev-sharing-with-homestead>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2017-05-06T18:55:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Mobile Testing](<https://devfeed.tech/topics/mobile-testing.md>), [Vagrant](<https://devfeed.tech/topics/vagrant.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [OpenSSH](<https://devfeed.tech/topics/openssh.md>), [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>)

Tags: [environment](<https://devfeed.tech/tags/environment.md>), [fantastic](<https://devfeed.tech/tags/fantastic.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [homestead](<https://devfeed.tech/tags/homestead.md>), [hood](<https://devfeed.tech/tags/hood.md>), [insights](<https://devfeed.tech/tags/insights.md>), [local](<https://devfeed.tech/tags/local.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-testing](<https://devfeed.tech/tags/mobile-testing.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [share](<https://devfeed.tech/tags/share.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [vagrant-homestead](<https://devfeed.tech/tags/vagrant-homestead.md>), [want](<https://devfeed.tech/tags/want.md>)

### AI overview

A tutorial showing how to use Homestead's share command and Ngrok to expose a local development environment for colleagues or clients, and to test and debug local sites on mobile devices such as an iPhone.

### Source excerpt

Homestead is a fantastic local dev environment, but what about when you want to test on mobile or share your local dev environment? Here's how

## Setting up PageSpeed Insights to test Performance Locally via Gulp

DevFeed: [Setting up PageSpeed Insights to test Performance Locally via Gulp](<https://devfeed.tech/articles/setting-up-pagespeed-insights-to-test-performance-locally-via-gulp-28798.md>)

Original publisher: [Read original article](<https://una.im/gulp-local-psi/>)

Published: 2014-12-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Una Kravets](<https://devfeed.tech/sources/una-kravets.md>)

Topics: [Gulp](<https://devfeed.tech/topics/gulp.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Google](<https://devfeed.tech/topics/google.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [google](<https://devfeed.tech/tags/google.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [performance](<https://devfeed.tech/tags/performance.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

This tutorial explains how to integrate Google PageSpeed Insights into an existing Gulp project so performance scores can be viewed in the terminal. It uses ngrok to expose a locally hosted website for testing without deploying it to a live server.

### Source excerpt

This is a walk through of how to set up Google PageSpeed Insights within your existing gulp project. This way, you can get your page speed score information within your terminal without first needing to push your site to a live server.