Blog
Articles & guides
Astro and i18n — full bilingualism without headaches
Astro 5 has built-in i18n routing. Translations as TypeScript const. hreflang in head. Blog in two languages via file prefix. Complete setup step by step.
Read more →Docker Compose healthchecks — why containers restart in the wrong order
depends_on: db does NOT wait until the database is ready. depends_on with condition: service_healthy + healthcheck = correct startup order. Complete docker-compose.yml with examples.
Read more →Filament CMS as the backend for a subscription platform — a case study
We built a subscription platform with Filament v4 as the admin panel. 3 weeks of development, the client runs it themselves without training. What worked, what didn't.
Read more →Solana Pay — transaction verification and avoiding timeouts with public RPC
Public Solana RPC has rate limiting and timeouts. Private RPC (Helius free tier) = stable, < 1s responses. Complete PHP code for USDC transaction verification.
Read more →Claude Sonnet 4 in production — what it actually does in a developer's daily work
Claude Sonnet 4 generates working production code for known frameworks. Best-in-class code analysis — understands project context, not just a snippet.
Read more →Embedded C++ on ESP32 — patterns that save your project from WDT resets
WDT (Watchdog Timer) resets ESP32 when loop() blocks too long. 3 patterns: non-blocking delays with millis(), FreeRTOS tasks, yield() in long loops.
Read more →Backup on QNAP — the 3-2-1 strategy without an enterprise budget
3-2-1 strategy: 3 copies of data, 2 different media, 1 off-site copy. On QNAP: RAID drives + Backblaze B2 via HBS 3. Total cost: ~$5/month.
Read more →How to test middleware in Laravel — practical patterns with Pest
Middleware is tested via full HTTP requests in Pest, not by unit testing the class itself. You test behavior, not implementation. Patterns for auth, roles, and external services.
Read more →React Query vs SWR — server state management in 2025
React Query (TanStack Query) = full toolkit with mutations, devtools, optimistic updates. SWR = simpler, smaller bundle. For most projects React Query wins.
Read more →MikroTik + Let's Encrypt — automatic SSL on a router
MikroTik RouterOS 7.x supports Let's Encrypt through built-in certificate management. Certificate is issued and renewed automatically. HTTPS on the panel without any external server.
Read more →Brevo SMTP in Laravel — free transactional email up to 300 emails/day
Brevo (formerly Sendinblue) has a Free plan with 300 emails per day and SMTP. In Laravel: MAIL_MAILER=smtp, 5 .env variables, done. Zero mail server configuration.
Read more →Three.js particle effects — fire effect in a hero section, step by step
Three.js BufferGeometry with 2000 particles + custom shader = fire effect behind the hero. 60fps on desktop, CSS fallback on mobile. The whole canvas is < 50 lines of JS.
Read more →GSAP ScrollTrigger — animations that don't kill Core Web Vitals
GSAP ScrollTrigger creates scroll animations, but naive implementation destroys LCP and CLS. Three rules: animate transform/opacity, lazy load GSAP, prefers-reduced-motion.
Read more →Astro 5 + Tailwind 4 — the stack for company websites in 2025
Astro 5 = Content Layer API (faster builds), Actions. Tailwind 4 = zero config, CSS-first configuration. The stack for landing pages and company websites in 2025.
Read more →Filament v4 — what changed and how to migrate from v3
Filament v4 changes signatures of key methods. Migration from v3: find+replace 5 patterns, takes an hour for a typical project. Full list of breaking changes with examples.
Read more →Solana USDC — why crypto payments are worth considering for SaaS
USDC (stablecoin 1:1 to USD) on Solana = no volatility, fee < $0.001, no chargebacks, global reach. For niche SaaS with an international customer base.
Read more →Running LLMs locally with Ollama — when you don't want to send data to the cloud
Ollama runs LLMs locally (Llama 3, Mistral, Phi-3). OpenAI-compatible REST API. 8 GB RAM handles 7B models. Data never leaves your server.
Read more →Solar installation SMS alert system for under $15
Twilio SMS API + Python + Node-RED. Cost: $0.04/SMS. If the installation produces < 20% of the seasonal norm for 2 hours — SMS. Twilio Free Trial = $15 credit to start.
Read more →ESP32 OTA updates — firmware updates without touching the device
ESP32 supports OTA (Over-the-Air) updates over WiFi. HTTP OTA from your own server, dual-partition rollback, watchdog timer. The device updates itself without physical access.
Read more →WooCommerce dropshipping — automatic margin sync with your supplier
Per-category margin multiplier + automatic calculation at XML import = zero manual price setting. Changing the margin for a category is 1 config entry.
Read more →Astro 4 — why we rewrote our site from static HTML
Astro generates static HTML with zero JavaScript by default. Bilingual support, Markdown blog, GSAP animations, Three.js — everything works without a React runtime.
Read more →InfluxDB 2.x — migrating from v1 and the new Flux queries
InfluxDB 2.x has a new query language (Flux), new data organization (buckets), and a built-in UI. Migration from v1 takes an hour. Flux query examples.
Read more →How hairpin NAT works in MikroTik and why it matters
Hairpin NAT allows computers on the LAN to reach the public IP and hit a server on the same network. Without it, curl from LAN does not work.
Read more →QNAP Container Station — a full Docker environment without a dedicated server
QNAP Container Station = Docker on a NAS. SSH on port 222, docker compose up, production containers. Path to the Docker binary and known pitfalls.
Read more →Solana Pay — crypto payment integration in PHP without libraries
Solana Pay is a URL specification for SOL/USDC payments. In PHP you verify transactions via the Solana JSON RPC API — one endpoint, no libraries.
Read more →n8n self-hosted — automations that replace Zapier for free
n8n is open-source Zapier. Docker Compose, port 5678, 400+ integrations. Fair-code license — self-hosted with no execution limits.
Read more →Claude API in practice — building a support ticket classifier
Claude API over HTTP — messages endpoint, claude-3-haiku model, classifying support tickets in < 1s. Python + requests, zero frameworks.
Read more →How to deploy Laravel with CI/CD without paying for expensive services
GitHub Actions (free) + your own server = complete CI/CD for Laravel without Forge, Vapor, or Envoyer. Full workflow YAML examples.
Read more →React Native vs Flutter in 2023 — which to choose for your mobile app
React Native wins if you have a web team. Flutter wins if animation performance matters. Practical comparison from a project perspective.
Read more →Docker on QNAP NAS — a server at a fraction of VPS cost
QNAP NAS with Container Station is a full Docker environment for free (if you already have a NAS). 8 GB RAM handles 10+ production containers. SSH, docker compose up.
Read more →Tuya Cloud API — control smart home devices from your own application
Tuya Cloud API lets you control Tuya devices programmatically. Python + requests, OAuth token, GET/POST to the API. No dependence on the official app.
Read more →Filament PHP — the best Laravel admin panel you never knew about
Filament builds a fully functional CRUD in Laravel without writing HTML. Tables, forms, actions, filters — in 50 lines of PHP.
Read more →Grafana + InfluxDB + MQTT — IoT dashboard from scratch
Three components of the stack: Mosquitto broker, InfluxDB as the time-series DB, Grafana as the visualization layer. Docker Compose, step-by-step configuration.
Read more →XML import of 2,700 WooCommerce products in < 5 minutes
Standard WooCommerce import plugins are too slow for large XML feeds. A custom PHP importer with EAN diffing, batch processing, and disabled WooCommerce hooks cuts import time from 2h to < 5 min.
Read more →Node-RED and Venus OS — solar installation monitoring for 200 PLN
Venus OS on Raspberry Pi 4 + Node-RED + InfluxDB = full monitoring of a Victron solar installation. Configuration, Node-RED flow for data collection, Grafana dashboard.
Read more →MikroTik RouterOS API in Python — network automation step by step
The RouterOS API lets you programmatically manage MikroTik routers. Python with the routeros-api library: fetching interfaces, adding NAT rules, exporting configuration.
Read more →ESP32 and Modbus RTU — reading data from industrial sensors
Modbus RTU is a communication protocol for industrial sensors. ESP32 with RS485 and the ModbusMaster library reads data from any Modbus device. Code, wiring, and gotchas.
Read more →nginx FastCGI cache for WordPress — a practical guide
FastCGI cache in nginx lets you serve WordPress pages without involving PHP or MySQL. Step-by-step configuration, WooCommerce exclusions, cache invalidation after updates.
Read more →Laravel or Symfony in 2021 — our choice and why
Both PHP frameworks are mature and production-ready. After several years with both, we chose Laravel as our default. We explain the criteria and when Symfony makes sense.
Read more →First steps with MQTT and Raspberry Pi — the IoT protocol worth knowing
MQTT is a publish-subscribe protocol for IoT — lightweight, reliable, runs on Raspberry Pi. Installing Mosquitto, your first Python publisher and subscriber, step by step.
Read more →WooCommerce vs Shopify — what to choose for a dropshipping store in Poland
We ran both types of stores. A concrete comparison from the perspective of a Polish dropshipper — payment gateways, XML import, costs, code control.
Read more →Why we chose Docker Compose over bare-metal for every project
After a year of experimenting, we decided: every new project starts on Docker Compose. We explain why, and when bare-metal still makes sense.
Read more →