How to make a custom short URL and qr code site for free.

TLDR; The source code is here.

As a part of its regular operations, Bushwick Ayudua Mutua makes regular use of short URLs and QR codes to share links to assistance request forms, volunteer sign-up forms, and other important information hosted online.

Like many small groups, BAM relied on bit.ly and a bevy other QR-code generation platforms which either cost a lot of money (bit.ly is $30/month) or harvest your data, exposing community members to potential privacy violations.

However, the underlying technology to create short URLs and QR codes is fairly simple and can be easily replicated using urlzap, python’s qrcode package, and GitHub’s Actions and Pages products.

I packaged these tools together into baml.ink which can be forked and reconfigured to create your own, fully-static short URL / QR code generation service.

The repository contains a human-readable/editable yaml file (named “baml.yaml” :p ) which looks something like this:

urls:
  ig: https://www.instagram.com/bushwickayudamutua/

Here, “ig” is the path of short link, so you could then then share “baml.ink/ig” and it would point to “https://www.instagram.com/bushwickayudamutua/”. Each time this file is updated in the “main” branch, a GitHub Action is triggered which runs the urlzap GitHub Action which fetches the metadata for the long url and creates a static HTML file which includes the following meta tag in the “<head>” of the document:

<meta http-equiv="refresh" content="0; url=https://www.instagram.com/bushwickayudamutua/" />

This tells browsers to redirect the visitor to “https://www.instagram.com/bushwickayudamutua/”. By also including the metadata which is present on the source page, the short URL will appear normally when unfurled within messaging apps.

This static HTML file is then added to the “gh-pages” branch of the repository and deployed as a new page hosted by GitHub. You can see a full example of such a file here.

How QR code generation works:

In addition to the link shortening process, an additional script is executed each time there is an update to the “main” branch which iterates through the list of URLs in “baml.yaml”, generates a QR code for the short URL, and writes it to a the “qr/” directory of the repository. These images take the format: “https://baml.ink/qr/{short_path}.png”. So, given the Instagram example above, the QR code would be hosted at baml.ink/qr/ig.png.

How non-coders can use this:

While this project must be hosted on GitHub to remain free, by centralizing all short URL and QR code generation into a single file, volunteers can use GitHub’s built-in code editor to easily add new URLs to “baml.yaml” and commit their changes, all without ever opening a terminal or cloning a repository. These changes are then automatically applied via GitHub Actions such that they should see their short URL and QR code go live within minutes.

welcome-to.miami

loop / video / art

While migrating my old Splice projects before they shutdown their Studio tool (RIP), I unearthed a screen recording of a pair of sites I built a few years ago, “welcome-to.miami” and “bienvenidos-a.miami”. While each site played a short loop of the music video by @willsmith with the relevant lyric, “welcome-to.miami” would redirect to “bienvenidos-a.miami” and “bienvenidos-a.miami” would redirect back and also open a new tab of “welcome-to.miami” such that the number of tabs grew exponentially, causing a cacophonous, phasing effect. I eventually took the site down once browsers disabled autoplay on video. Happy to have found documentation of it :)

WFMU Radio Row Mix

dj / music / mix

I’m excited to share a new mix I made for Radio Row, a program run by Olivia Bradley-Skill, WFMU’s Music Director. If you’re interested in submitting your own show, you should fill out this form as it’s a great opportunity to play your favorite music on the airwaves.

I love WFMU. We listen to it daily in our house and I value it as a source of new music. For my submission, I wanted to showcase a style of mixing that is not often done on air, making use of DJ tools, acapellas, and live effects to create a multi-layered, ever-evolving blend of dance music, while also paying homage to some of the halcyon sounds WFMU DJs gravitate towards. It features many of my favorite songs and artists, and some of my closest friends and mentors.

It’ll broadcast live this Sunday, April 23rd, at 5 PM ET on 91.9 FM in NYC and online at wfmu.org

I hope you like it <3.

globally.ltd/studio

As a part of releasing software and music for the last couple of years on my label globally.ltd, I’ve slowly built up a functioning recording studio in my basement and I’m excited to now open it to others.

globally.ltd/studio is a small, project-based art and recording studio in Glendale, Queens offering a variety of services including in-person (solo or supervised) sessions and remote mixing, mastering, and mentorship.

Rates will be give-what-you-can, with a suggested range of $15-30/hr, though bartering and skill-sharing is preferred!

You can read more about it at: globally.ltd/studio/.

bripolar #1




I’m pleased to be releasing bripolar #1, the first in a collection of mostly live takes of hard, industrial techno. It’s been fun rigging up my mixer with multiple sends and bus channels to really achieve a rich, ever-evolving sound. More of these to come…