Laravel Creator Spotlight
I recently joined Eric Barnes on the Laravel News Creator Series podcast, where I discussed my journey as a developer, the origins of T.LY URL Shortener, and the lessons I’ve learned along the way. It was great to chat about Laravel, building products, and handling the challenges of running a SaaS service.
Summary of the Episode
Getting Started with Laravel
- Discovery of Jeffrey Way and Laracasts
- Early adoption of Laravel Forge
The Story Behind T.LY
- Origins of T.LY after Google shut down its URL Shortener goo.gl
- Launch of a URL Shortener Extension
Challenges in Running a URL Shortener
- Scaling a Laravel site for high-traffic
- Spam and malicious links
- Bot traffic and DDoS attacks
Lessons for Developers Building Products
- Start small and iterate
- Avoid overcomplicating initial product development.
- Prepare for unexpected challenges, such as abuse and security threats.
- Stay focused once a project gains traction.
In this episode, we talk about my path into Laravel, the products I built along the way, how T.LY evolved from an extension into a broader platform, and the product lessons that came from shipping and iterating over time.
Transcript
Transcript generated from the full interview audio and lightly cleaned for readability.
Host: You have been around Laravel for a long time. How did you get into it?
Tim: I started building sites on the side after college and eventually found Jeffrey Way’s tutorials back in the NetTuts days. When he moved into Laravel, I followed him there and learned a lot of my early habits from Laracasts.
Host: So Laravel has been part of your side-project stack almost from the beginning.
Tim: Pretty much. I was using Laravel and Forge early, and it made it much easier to launch things quickly instead of rebuilding the same infrastructure over and over.
Host: How did T.LY specifically come together?
Tim: A company I worked for needed short links for text-message giving flows, so I built a simple internal shortener. Later, when Google shut down its own URL shortener, I built an extension as an alternative and eventually turned that into T.LY.
Host: So again the pattern was extension first, product second.
Tim: Exactly. The extension gave me distribution, and once users relied on it, building my own backend became the obvious next step.
Host: I mentioned on the episode that I was already using it for newsletter sponsor links. That is a great example of a practical use case.
Tim: Yeah, tracking, branded links, and easier reporting are all real business uses. A lot of people do not want a huge enterprise tool; they just want something simple that works well.
Host: We also talked about the darker side of URL shortening.
Tim: Abuse prevention has been the hardest part by far. Soon after launch, bad actors started routing malicious links through the service, and I had to build review flows, reputation checks, and safety systems much faster than I expected.
Host: Switching back to Laravel, what is the main thing it gives you that you do not want to live without?
Tim: Scaffolding and speed. Laravel saves so much time by handling the foundation well. Auth, database access, queues, caching, all of that is much easier and safer than rolling it yourself.
Host: Do you have a favorite package or any unusual stack choices?
Tim: I tend to keep things pretty close to stock Laravel and avoid bringing in too many dependencies unless they solve a very real problem. For payments, Spark would be one of the bigger built-in options I would reach for.
Host: You also mentioned that Laravel’s flexibility now creates its own challenge.
Tim: Yeah, the installer gives you a lot more choices than it used to, especially around frontend stacks. It is powerful, but sometimes I miss the simplicity of the days when the defaults were more obvious and I could just get moving faster.
Host: We closed with a short discussion about Laravel Cloud too.
Tim: I am definitely interested in it. Hosting is always part of the decision-making process, so seeing more first-party tooling there is exciting.