Menu
The notebook

Blog.
notes from real projects

Practical writing on Laravel, AI engineering, token costs, SaaS architecture, and the technology decisions that make software cheaper to run and easier to grow.

All AI & LLMs Cloud & DevOps Industry Insights Laravel & PHP Modernisation Performance & Scale SaaS & Product Security & Compliance
All posts 113 posts
20 Feb 2026 Laravel & PHP Legally binding e-signatures: Visma Sign in production Visma Sign gives you legally binding, bank-authenticated e-signatures in Finland — but almost nothing is written about it in English. Here is how the integration actually works. 18 Feb 2026 Security & Compliance GDPR Compliance for SaaS in 2026: A Founder's Practical Checklist 2026 EDPB enforcement targets transparency and third-party transfer disclosure, not cookie banners. A build-order checklist from shipping SaaS for Nordic clients: records of processing, DPAs... 16 Feb 2026 Laravel & PHP Building live video on Twilio for emergency use When video connects a person in danger to a responder, join time and connection success are safety metrics. How I built emergency-grade live video on Twilio with a Laravel backend. 15 Feb 2026 Performance & Scale Queues Before Autoscaling: Surviving Traffic Spikes on a Budget Small teams reach for autoscaling when the cheaper fix is moving work off the request path. How I use Laravel queues/Horizon, rate limiting and cache warming to flatten a 10x spike on a sing... 12 Feb 2026 Performance & Scale A Caching Strategy That Works: Layers, TTLs and Invalidation Most caching advice lists patterns; the real problem is deciding which layer (CDN, HTTP, app, Redis, query) owns each value's freshness. A decision table mapping data types to layer + TTL +... 09 Feb 2026 Performance & Scale N+1 Queries in Laravel: How I Find and Kill Them Before They Ship The ORM failure mode that turns 1 query into 101 and melts production at 500 concurrent users. Concrete Laravel toolkit: Model::preventLazyLoading() in non-prod, eager loading with constrain... 09 Feb 2026 Laravel & PHP Idempotency is not optional on the payment path A timeout, an automatic client retry, and two charges on a real customer's card. What that incident taught me about idempotency keys, locks and unique constraints on the payment path. 06 Feb 2026 Performance & Scale Debugging Slow Database Queries: My EXPLAIN-First Workflow Postmortem-style walkthrough of taking a 4-second endpoint to under 100ms: slow-query log → pg_stat_statements/performance_schema → EXPLAIN ANALYZE → composite index. Anchored in the stat th... 03 Feb 2026 Performance & Scale Fixing INP on Checkout and Forms: Where Slow Interactions Kill Sales Sites that passed FID at 97% pass INP at only ~65% — and the failures cluster exactly where money changes hands: validated form fields, shipping selectors, payment buttons. Practitioner walk... 02 Feb 2026 Laravel & PHP Payment gateway migration with zero lost transactions Migrating live subscriptions and stored cards between gateways is open-heart surgery. The dual-running playbook I used to move a production Laravel app without losing a transaction. 31 Jan 2026 Performance & Scale Core Web Vitals in 2026: The New 2.0s LCP Bar and What It Costs You Google quietly tightened the 'good' LCP threshold from 2.5s to 2.0s in March 2026, and most business sites that passed last year now fail. First-person triage framework: how I audit a client... 28 Jan 2026 SaaS & Product Fixed Price vs Time and Materials: Which Protects You as a Client A developer explains the incentives behind each model — why fixed price inflates quotes with risk padding and punishes scope learning, when T&M with a capped milestone structure gives client...