Personal Photo

Learning by building

Thomas Gauvin's blog

November 18, 2024

Building Geofetcher: a global website speed tester

post.data.image_alt
Over the past few years, I’ve had to measure website load times across the world. To date, that’s meant spinning up virtual machines, logging in, and executing scripts or using performance testing applications like JMeter to get the response times of applications. That’s a cumbersome process...
August 19, 2024

Host Protomaps as static files on Cloudflare Pages for free with Service Workers

post.data.image_alt
This blog post is about experimenting with hosting PMTiles as static assets on Cloudflare Pages. I'm working on a simple pmtiles styling project (pmtiles-styling.pages.dev), and I wanted to be able to host the entire project on Cloudflare Pages (without having to rely on server-side compute)... 
July 17, 2024

Add maps to your web app with Protomaps and Cloudflare

post.data.image_alt
Open-source projects for mapping have gotten really, really good. Recently, some of the folks on Cloudflare's community Discord recommended using Protomaps for hosting and displaying maps. While I'm no expert in the web maps ecosystem...
February 13, 2024

Building an Azure Static Web Apps site using WordPress on App Service as a headless CMS External

post.data.image_alt
Many static sites are built using content from content management systems (CMS) into static assets and then deployed to Azure Static Web Apps. In this article, we take a look at using Wordpress on App Service as a headless CMS for a static site hosted on Azure Static Web Apps.
January 04, 2024

Looking back on 2023: Learning to ship

post.data.image_alt
2023 was a year of deep technical learning and incremental progress in my role as product manager, as well as some launches of a few key projects. I'm looking back on all the milestones and lessons learned of 2023.
August 15, 2023

Access network isolated APIs and databases from Azure Static Web Apps External

post.data.image_alt
Azure Static Web Apps is the ideal service for hosting modern frontend web apps and static sites on Azure. At times though, these frontend websites rely on downstream services that are isolated within a virtual network. This article explains how we can configure our Static Web Apps to support such access by leveraging Static Web Apps’ linked backends feature.
July 31, 2023

Launching my side project, Penmark CMS (& an explanation of what it is, why I built it, and how)

post.data.image_alt
I'm launching Penmark, an embeddable CMS for Markdown-based, GitHub-backed static sites. Penmark is the fruit of months of work coming up with a better editing experience for my own blog, and I decided to package it into a product that anyone can easily use with their own blogs and content sites!
July 04, 2023

How to resolve scripts not loading on page navigation for React and NextJS

post.data.image_alt
React and NextJS provide a quick user experience with client-side navigation. However, this can break injected scripts that don't rerun on page navigation. To resolve these, we can consider a few alternatives that help work around the client-side navigation limitation.
April 30, 2023

Hosting a Blazor application with a subpath on Azure Static Web Apps

post.data.image_alt
In the previous blog post, I discussed hosting a React application on Static Web Apps with a subpath. In this post, we explore hosting a Blazor app with a subpath as well!
April 01, 2023

Hosting a React application with a subpath on Azure Static Web Apps

post.data.image_alt
When hosting a React application, you may be interested in hosting it with a subpath, such that you app is hosted at /. In this article, we cover how to host a React application on Azure Static Web Apps with a subpath.
March 23, 2023

Building Static Web Apps with database connections: Best Practices External

post.data.image_alt
With Static Web Apps’ database connections feature, and its underlying open-source project Data API Builder, you now have more options to build out database-backed web applications. In this blog article, we cover the considerations of choosing between these various options.
January 25, 2023

Integrating network isolated backends with Azure Static Web Apps External

post.data.image_alt
Azure Static Web Apps' built-in support for APIs requires your API to be accessible by Static Web Apps' distributed runtime. But what if you have an existing backend API deployed in a virtual network? In this article, we consider different approaches to integrating a Static Web Apps instance with a network isolated backend and weigh the pros and cons of each.
December 11, 2022

How to skip build and deploy for GitHub Pages

For a recent project, I was trying to add the `[skip ci]` keyword to my Git commit messages to avoid the build process as documented by GitHub. As it turns out, this doesn't work for the classic GitHub Pages configuration, and requires a configuration with GitHub Actions.
March 14, 2022

Building a micro web application using Azure Functions and SQLite

post.data.image_alt
Recently, I read about the utility of SQLite for web servers and was intrigued by the possibility of using SQLite and an Azure Function to host an effectively free web application. Since an Azure Functions app comes along with an Azure Files storage account by default, the Azure Function should be able to store and read an SQLite file.
January 23, 2022

How to create a React frontend and Express backend app

post.data.image_alt
I often come back to guides to create new React and Express applications, so in this blog post I document how to create a simple React frontend and Express backend application.
December 11, 2021

Dynamic Output Bindings with Azure Functions

post.data.image_alt
Bindings are a powerful Azure Functions feature which provide native integrations to other resources or services, such as databases or storage accounts. While bindings are usually static, it is possible to have dynamic binding in C#. This is how.
December 02, 2021

How to setup a subdomain for a Github Pages static site with Namecheap

I wanted to host my blog on a separate domain and repository from my personal website to give it its own space. Here's how I setup my subdomain to point to my separate blog repository.
November 13, 2021

Building a photos application in Python Flask with Azure Blob Storage

post.data.image_alt
In this blog post, we are going to build a Python web application from scratch, using the Flask framework and using Azure Blob Storage to store our pictures.
November 12, 2021

How to store environment variables for local development

Storing environment variables locally rather than in the code can prevent an unsecure exposure of your access keys, and it's quite easy to do! Here's how to store and use environment variables locally.
November 06, 2021

Welcome to my Blog