Shortify.pro is a research site. It allows end users to shorten long URLs into short, convenient ones comprising two digit domains with the .ax country prefix (Aland Islands) and a three digit path eg. /abc. A complete url might look like nx.ax/abc

Technical Overview

Front End

The front end is written in react and is hosted via Github Pages.

Back End

The back end comrises a number of Go microservices hosted serverless via Google Cloud Run and storing URL information in GCP Firestore

API

The api used by the front end to communicate with the back end services is documented at api.shortify.pro - this site encourages users to implement the api within their own projects and shorten things like catalogues of links.

Monitoring

Grafana Cloud is used to monitor all aspects of the Shortify project. Each Go microservice produces spans and traces which measure duration of each request and the processes which comprise each request. The microservices submit profile information so CPU and memory consumption can be monitored, and logs are all consumed by Grafana with automated alerts set up if logs are received with an error severity.

You can view the Grafana dashboard here:

Grafana

The Grafana dashboard for Shortify.pro

Network

All aspects of shortify.pro including the microservices are proxied via Cloudflare. The Flow Control project protects the Shortify project and automatically blocks traffic which exceeds rate limits via the Cloudflare API.

Services

Here are a list of back end services which make up the Shortify service.

Services