Rūtenis Raila
banner
rutenisraila.bsky.social
Rūtenis Raila
@rutenisraila.bsky.social
Software development consultant.

My website: https://darnadigital.com/
Here's how I get http referer in Next.js:

1. I check the referer header in the root layout.

2. In the same root layout, I provide React context and pass the referer I got from the server.
February 6, 2026 at 4:31 PM
Recently, I've been experimenting with AI agent skills to automate repetitive work.
February 4, 2026 at 4:31 PM
I've been using Kimi K 2.5 for coding tasks.
February 2, 2026 at 4:29 PM
Here's how I designed a feature toggle system without adding a 3rd party vendor to a stack.
January 23, 2026 at 4:34 PM
If you're an application developer (frontend or backend) looking to learn DevOps, here's how I would plan the learning roadmap:
January 21, 2026 at 4:33 PM
Recently, there has been a downtime for Anthropic models like Sonnet and Opus.

I used that opportunity to try the GPT 5.2 model for coding.
January 19, 2026 at 4:32 PM
Is your Next.js app slow?
January 16, 2026 at 4:26 PM
Next.js has in built solution for nonce security hashes.

It's great and gets the job done with minimal configuration.
January 15, 2026 at 4:26 PM
If you're a React developer, you might feel lost right now.

I know I was.

How do I run my React apps? Next.js? React Router? Tanstack Start?

Next.js has been the obvious choice since 2020.

But now you have Tanstack Start.

Which one do you pick?

Next.js is the most battle-tested.
January 14, 2026 at 4:34 PM
Kamal is well-known in the Rails ecosystem, but it works just as well when deploying Node.js applications like Next.js.

Here's a simple setup I use to deploy a Next.js website on a Hetzner VPS via GitHub actions.
January 13, 2026 at 4:30 PM
The problem with the default shadcn/ui is that it makes your app look the same as others.

Which is boring.
January 12, 2026 at 4:30 PM
How I deploy 3 different apps to a 10 EUR per month VPS in 3m 18s.
January 9, 2026 at 4:32 PM
Inertia.js is well known in the Laravel world, but it works just as well in other full-stack frameworks like Rails.
January 7, 2026 at 4:28 PM
Recently, I experimented with Kamal as an alternative to SST for DevOps work.

Here's how I see the two solutions:
January 6, 2026 at 4:30 PM
My coding setup for 2026:
January 5, 2026 at 4:31 PM
It's interesting how there's always a most popular UI library:

2011 to 2017 - Bootstrap

2017 to 2023 = Material UI

2023 to present = shadcn/ui
December 19, 2025 at 4:28 PM
Apple trackpads have a behaviour that may or may not be wanted:

When you scroll to the top or the bottom of the page, there's a slight "bounce" effect.
December 18, 2025 at 4:28 PM
Here's how I implement translations for website animations:
December 17, 2025 at 4:29 PM
Recently, there have been not one, but two security incidents for React Server Components (RSC).
December 16, 2025 at 4:30 PM
When running DAST security scans, I use the default settings for smaller projects.

However, recently I was running it for a project with thousands of pages, so the default settings for the web crawler started timing out.
December 15, 2025 at 4:29 PM
When I write PHPUnit tests that may have many edge cases from one method, I use the dataProvider + yield pattern.

Here's why I like this flow:
December 12, 2025 at 4:32 PM
I've been having a lot of fun building code-based animations for websites.

Here's why I like them:
December 11, 2025 at 4:33 PM
For the longest time, Next.js didn't have an official way to handle translations.

I used to rely on 3rd party libraries for projects that require multiple language support. This would leave me feeling uneasy, because I know how brutal the churn in the JS/TS ecosystem is.
December 10, 2025 at 4:27 PM
I try to automate boring but necessary tasks, such as writing Git commit messages.

This allows me to focus my energy on more productive tasks, such as implementing new features and fixing bugs.
December 9, 2025 at 4:31 PM
If you're using Cloudflare to manage your domains, there's a good chance you're using it mainly because of their DDOS attack protection.

One thing I've found surprising, that by default SST disables this security feature, so I had to enable it like this:
December 8, 2025 at 4:34 PM