Skip to content
Rapcsány Krisztián Rapcsány Krisztián
hu
Blog

Blog

Short, practical articles about what I learned on my own projects. With anonymised, real code excerpts.

2 min read

Bot protection for a contact form without a captcha

Five invisible layers that stop most unwanted messages, while a real visitor has to do nothing at all.

Laravel Security Forms
Read →
2 min read

A Laravel gotcha: the throttle counter is shared

throttle:5,1 and throttle:120,1 use the same counter per IP. That is how my analytics beacon used up the form's allowance.

Laravel Debugging Security
Read →
2 min read

A strict CSP in Laravel, with Vite

How I allow my own inline scripts with a one-time identifier, and block everything else.

Laravel Security Vite
Read →
2 min read

Uploading large files in Laravel without breaking

How I solved uploading large videos so that one interrupted request does not take the whole upload with it.

Laravel Uploads Video
Read →
2 min read

How not to send the wrong email to the wrong person

Sending is the easy part of email campaigns. These are the safeguards I built into my own system.

Email Laravel Marketing
Read →
2 min read

Updating a mobile app without waiting for the app stores

How small fixes reach phones without interrupting a check-in.

React Native Expo Mobile
Read →
2 min read

When is it safe to retry a call?

A simple rule that stops someone from being admitted twice: only retry calls that are safe to repeat.

React Native API Reliability
Read →
2 min read

Sending webhooks with retries, without sending twice

Retries with growing delays and a locked check, so the same callback does not go out twice.

Laravel Queues API
Read →
2 min read

Rewriting a legacy system while it runs

How I replace an old system while users keep working: identical behaviour, a list of differences, audit logging.

Legacy Laravel Architecture
Read →
2 min read

Analytics that does not bloat the database

Daily summaries, re-runnable calculation and deleting only after the rollup: how history survives.

Laravel Database Analytics
Read →
Get a quote →