<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>florin.log</title><description>An irregular journal of software — Angular, NestJS, microservices.</description><link>https://florin.log/</link><item><title>The LEGACY-7: a 7-step audit before you say yes to an AngularJS migration</title><link>https://florin.log/posts/legacy-7-angular-migration-audit/</link><guid isPermaLink="true">https://florin.log/posts/legacy-7-angular-migration-audit/</guid><description>The exact checklist I run before agreeing to lead a legacy-Angular migration. If your team can&apos;t answer all 7, the migration will die at month 4 the same way the last two did.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>How I Replaced 40 Hours of Weekly Excel Work With an Event-Driven Commission Service</title><link>https://florin.log/posts/how-i-replaced-40-hours-of-weekly-excel-work-with-an-event-driven-commission-service/</link><guid isPermaLink="true">https://florin.log/posts/how-i-replaced-40-hours-of-weekly-excel-work-with-an-event-driven-commission-service/</guid><description>Killing a single-person Excel pipeline with a NestJS event-driven microservice, formula-as-code, PDF report generation, and a dead-letter queue for resilience.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>The migration plan that saved my job</title><link>https://florin.log/posts/the-migration-plan-that-saved-my-job/</link><guid isPermaLink="true">https://florin.log/posts/the-migration-plan-that-saved-my-job/</guid><description>Two AngularJS-to-Angular migrations had failed before I got there. The third worked. Here is the phase plan, per-screen checklist, and feature-freeze mechanics — exactly as we ran it for 5,000+ users.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>How I Saved the Company Thousands Every Day With These Changes</title><link>https://florin.log/posts/how-i-saved-the-company-thousands-every-day-with-these-changes/</link><guid isPermaLink="true">https://florin.log/posts/how-i-saved-the-company-thousands-every-day-with-these-changes/</guid><description>Four concrete Angular optimizations that slashed build size by 43%, cut CI/CD costs, and improved time to first byte for 5,000+ users.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>How We Used AI Workspaces to Deliver Faster Without Breaking the Platform</title><link>https://florin.log/posts/ai-workspaces-deliver-faster-without-breaking-platform/</link><guid isPermaLink="true">https://florin.log/posts/ai-workspaces-deliver-faster-without-breaking-platform/</guid><description>A simple story about solving a real business problem with Claude Code CLI, cmux, Git worktrees, symlinks, and Playwright automation.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate></item><item><title>The wrapper that saved the company tens of thousands every month</title><link>https://florin.log/posts/the-wrapper-that-saved-the-company-tens-of-thousands-every-month/</link><guid isPermaLink="true">https://florin.log/posts/the-wrapper-that-saved-the-company-tens-of-thousands-every-month/</guid><description>How I turned repeated AG Grid implementations into one typed Angular wrapper that cut delivery time, reduced QA churn, and made a complex dashboard platform easier to scale.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item><item><title>One Screen, Twenty Flows: Taming Variation with the Strategy Pattern</title><link>https://florin.log/posts/strategy-pattern-one-screen-twenty-flows/</link><guid isPermaLink="true">https://florin.log/posts/strategy-pattern-one-screen-twenty-flows/</guid><description>How a single Angular component serves twenty subtly different workflows without growing a single if-else branch — and why a busy restaurant POS works the same way.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item></channel></rss>