Cole Morell

May 6, 2026

Link by Layout

Layout needed a way to create QR codes and short links for companies to promote their mobile app, so I built a QR code and link shortening software because I didn’t want to pay for Bitly. Since they were leaving watermarks everywhere.

I made an internal tool first, and I really liked how easy it was to use and the simplicity of it. Then I decided I should just make it work for anybody who wants to sign up, which is pretty common for QR codes and short links. There’s no rocket science behind it, but I think executing it where it’s free, has no watermark, and you can change the route of the URL later is pretty unheard of.

I have no intentions to profit from this software. It’s more of just providing the resources to businesses who actually need it, because it’s honestly not that costly to reroute a URL. You’re literally writing to a database and then reading that database on the hit of the function/backend call.

It was pretty fun making it. It took me a few days. I created a dashboard that you can track all the analytics on what devices it was opened on, when people opened it, and how many QR code scans versus link taps. There’s also a marketing website for it as well. Honestly, it’s just one of those products that just works as expected. It’s nothing crazy, but the fact that it just works the way you want it to is nice.

I learned about making this: that not all software has to be anything crazy. They just need to solve the problem that the person has. In this case, the problem is that every QR code or short link is watermarked and has a limit, and you can’t change the routing later. All three pretty much main things that you would need from a QR code and short link are all a problem.

You’re going to go find a problem, and you run into more problems, which is how software makes money. However, if I can make a tool in two days that competes with that same software, why would I not make it and then just let anybody use it?

If you want to run a business or ever make QR codes or short links, give it a try.

layout.link