Things I post

Short thoughts, experiments, and progress notes from my LinkedIn feed.

SK

Shivam Karna

@shivamkarna

Most ORMs give you one way to query. Drizzle gives you two.

The ๐—ฆ๐—ฒ๐—น๐—ฒ๐—ฐ๐˜ ๐—”๐—ฃ๐—œ is explicit. You describe exactly what SQL you want. It offers full control, but you end up writing manual joins every time related data is needed.

The ๐—ค๐˜‚๐—ฒ๐—ฟ๐˜† ๐—”๐—ฃ๐—œ is declarative. You define relations once and then just say what you want back. Drizzle figures out the SQL for you.

Post preview
SK

Shivam Karna

@shivamkarna

๐Ÿญ๐Ÿฎ ๐˜๐—ฎ๐—ฏ๐—น๐—ฒ๐˜€ ๐—ฏ๐—ฒ๐—ณ๐—ผ๐—ฟ๐—ฒ ๐—ฎ ๐˜€๐—ถ๐—ป๐—ด๐—น๐—ฒ ๐—ฟ๐—ผ๐˜‚๐˜๐—ฒ ๐—ต๐—ฎ๐—ป๐—ฑ๐—น๐—ฒ๐—ฟ. Here's why.

Starting a new project - Blogify, a blog platform built on Hono + Cloudflare Workers.

Before writing any code, I designed the full database schema. Every table has a reason.

Post preview
SK

Shivam Karna

@shivamkarna

๐—ฃ๐—ฎ๐—ฟ๐˜ ๐Ÿฎ of migrating my Express + Render API to Hono + Cloudflare Workers.

Part 1 was about implementing AES-256-GCM encryption using the Web Crypto API.

This one is about routers/routing in Honojs.

Post preview
SK

Shivam Karna

@shivamkarna

Recently started shifting all my Express + Render APIs to Hono + Cloudflare

Post preview
SK

Shivam Karna

@shivamkarna

Do you really think queues are just FIFO all the time?

If so, youโ€™re missing half the story.

Post preview
SK

Shivam Karna

@shivamkarna

โŒจ๏ธ ๐——๐—ผ ๐˜†๐—ผ๐˜‚ ๐—ฎ๐—ฐ๐˜๐˜‚๐—ฎ๐—น๐—น๐˜† ๐—ธ๐—ป๐—ผ๐˜„ ๐˜„๐—ต๐—ฎ๐˜ ๐—ต๐—ฎ๐—ฝ๐—ฝ๐—ฒ๐—ป๐˜€ ๐˜„๐—ต๐—ฒ๐—ป ๐˜†๐—ผ๐˜‚ ๐—ต๐—ถ๐˜ "๐—ฅ๐˜‚๐—ป" ๐—ผ๐—ป ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฐ๐—ผ๐—ฑ๐—ฒ?


Most of us write fmt.Println("Hello World") or printf("Hello World") ,and assume magic happens. But under the hood, thereโ€™s a fascinating "Game of Thrones" happening between your compiler, the OS, and the Kernel.

Post preview
SK

Shivam Karna

@shivamkarna

๐—” ๐—ป๐—ผ๐˜๐—ฒ ๐—ผ๐—ป ๐—–๐—ผ๐—บ๐—ฝ๐—น๐—ฒ๐˜๐—ถ๐—ผ๐—ป,๐Ÿ˜„

After weeks of focused development, Iโ€™ve built a great backend system for a notice board application โ€” designed to handle real-world complexity, not just CRUD.

Post preview
SK

Shivam Karna

@shivamkarna

๐ŸŽ„
#ChristmasGift ๐Ÿ˜Š
Today isn't just a holiday; itโ€™s the official launch of ๐˜€๐—ต๐—ถ๐˜ƒ๐—ฎ๐—บ๐˜€๐—ฎ๐˜‚๐˜๐—ต on NPM!
I wanted to give a gift to my fellow developers that actually saves them time.

#๐—ช๐—ต๐—ฎ๐˜ ๐—ถ๐˜€ ๐˜€๐—ต๐—ถ๐˜ƒ๐—ฎ๐—บ๐˜€๐—ฎ๐˜‚๐˜๐—ต?
Itโ€™s not just a package; itโ€™s a ๐—–๐—Ÿ๐—œ (๐—–๐—ผ๐—บ๐—บ๐—ฎ๐—ป๐—ฑ ๐—Ÿ๐—ถ๐—ป๐—ฒ ๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐—ณ๐—ฎ๐—ฐ๐—ฒ). Think of it as a professional architect that walks into your folder and builds a ๐—ฝ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐˜๐—ถ๐—ผ๐—ป-๐—ฟ๐—ฒ๐—ฎ๐—ฑ๐˜† ๐—ฎ๐˜‚๐˜๐—ต๐—ฒ๐—ป๐˜๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป system in seconds.

Post preview
SK

Shivam Karna

@shivamkarna

As a #BackendDev, I got tired of creating the same controllers, models, and routes every time I started a new project.

So, I built a tool to do it for me. Because that's what engineers do ;)

Post preview
SK

Shivam Karna

@shivamkarna

When I started backend development, I assumed
microservices = advanced = always better.


While working on a microservices-based project, I realized something important:

Post preview
SK

Shivam Karna

@shivamkarna

Understanding JWTs in Authentication

Post preview
SK

Shivam Karna

@shivamkarna

๐Ÿ˜Œ
Over the past few weeks, I built Merchant Hub API, a production-ready backend for merchant and order management. This project pushed me to think beyond writing code โ€” about architecture, scalability, security, and maintainability.

Post preview