Structured Outputs with GPT APIsRecently, I had the opportunity to work with GPT APIs on one of my projects. The task was straightforward: monitor messages in a chat group and classify each one with a specific violation reason based on predefined guidelines. For example, reasons li...Dec 27, 2024·2 min read
Lightning Uploads to S3Recently, I encountered an issue that required speeding up the upload of large files to S3 from the front end only. To address this, we can consider two strategies: implementing parallel uploads and enabling S3 acceleration. Let's explore how these m...Mar 26, 2024·2 min read
How we reduced the docker build size to 5 percentIn the world of containerization, optimizing Docker image size is a constant pursuit. One powerful technique that caught my attention is multi-stage builds. This approach involves breaking down the build process into distinct stages, enabling us to e...Jan 26, 2024·2 min read
Debugging CORSWhat is CORS? Cross-Origin Resource Sharing. It is a security feature on the browser that enables the browser to protect resources on another origin being called from one origin. It is simple yet debugging it sometimes is cumbersome, mostly because o...Jan 11, 2024·2 min read
Gin: Middleware for API CachingIn a recent Gin server project, I wanted to incorporate API caching effortlessly. So, I decided to build a middleware for it, thinking it would be a breeze. But with Gin, things got a bit tricky. Let me walk you through this. Request Flow Middleware ...Dec 8, 2023·2 min read
Discovering API vulnerabilities, just using proxyHey there, fellow tech enthusiasts! 🚀 So, I've been poking around some apps lately, playing with their APIs. And guess what? It's so easy to find the most basic vulnerabilities in some of the apps out there. I won't name the companies as the bugs mi...Nov 15, 2023·5 min read
How we protected our OTP endpoint?In the realm of cybersecurity, the choice of the size of your OTP is not to be taken lightly. When your backend system demands a 4-digit OTP, it essentially means there are 10,000 unique combinations possible (10**10**10*10). The significance of this...Nov 9, 2023·2 min read