Blog

How I'm Using AI in Software Development

Published on

How I'm Using AI in Software Development In my previous post about AI and software development, some people understood my position as if I was denying the real improvements that AI brings to the table. That was not really the point. I use AI in most of my personal projects today, and I use it because… well, it works. It improves speed, helps me explore codebases, makes boring implementation faster, and lowers the cost of turning ideas into something that actually runs.


On AWS/Cloudflare, web centralization, and pride

Published on

On AWS/Cloudflare, web centralization, and pride This post will be just a complaint with no real solution, but it’s worth keeping as a record of how we perceive our times. Consider yourself warned. In October 2025, the main AWS region went offline due to a DNS issue in DynamoDB. In November 2025, Cloudflare experienced an outage due to a change in query behavior combined with insufficient safeguards in code. In both cases, “the internet”, this metaphysical entity, suffered, with many services going offline or becoming unusable.

AI and Software Development

Published on

AI and Software Development If you spend any time around developer discussions lately, it’s impossible to avoid the topic of AI-assisted development. From code generation tools to full AI copilots that promise to build entire applications, the narrative often goes something like this: “People will just describe the system and the AI will build everything. No need to learn how to code” As usual, reality is a bit more nuanced. I’ve been using these tools quite a lot lately, and my overall opinion is simple:

Architecture of a URL Shortener

Published on

Architecture of a URL Shortener I haven’t been following many YouTube channels lately, but one that always leaves me satisfied whenever I watch is Renato Augusto’s channel. Recently, I watched the video he made about URL shorteners. Overall, it’s hard to argue that his solution is probably the best possible given the problem’s premises: Functional Requirements: URL Shortening: given a long URL -> return a much shorter URL URL Redirection: given a short URL -> redirect to the original URL Non-functional Requirements: The system must support 100 million URLs generated per day The shortened URL should be as short as possible Only numbers (0–9) and letters (az, AZ) are allowed in the URL For every 1 write operation, there will be 10 read operations The average length of a stored URL is 100 bytes URLs must be stored for a minimum of 10 years The system must operate with high availability (24/7) Estimates Write operations: 100 million URLs per day = 100,000,000 / 24 / 60 / 60 = 1160 requests per second Read operations: 10:1 = 1160 * 10 = 11600 requests per second URL storage period: 10 years = 100,000,000 * 365 * 10 = 365 billion records Storage capacity: 100 bytes per URL = 365 billion * 100 bytes = 46.