<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kavindu Perera</title><description>Backend software engineer specializing in Java, Spring Boot, and scalable microservices. Building reliable systems at Wiley.</description><link>https://iamkavindu.dev/</link><item><title>Building a Video Upload and HLS Streaming Pipeline with Spring Boot, S3, and Lambda</title><link>https://iamkavindu.dev/blog/building-a-video-upload-and-hls-streaming-pipeline/</link><guid isPermaLink="true">https://iamkavindu.dev/blog/building-a-video-upload-and-hls-streaming-pipeline/</guid><description>How I designed stream-app: presigned S3 uploads, SNS/SQS event fan-out, FFmpeg fMP4 HLS transcoding, and browser playback with hls.js.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>Spring Boot</category><category>AWS</category><category>HLS</category><category>Architecture</category></item><item><title>Bridging the Gap: Generating TypeScript from Java Records with Java-TS-Gen</title><link>https://iamkavindu.dev/blog/generating-typescript-from-java-records/</link><guid isPermaLink="true">https://iamkavindu.dev/blog/generating-typescript-from-java-records/</guid><description>A practical guide to keeping your frontend and backend types in sync using Java-TS-Gen, a zero-overhead Maven plugin for Java records.</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate><category>Java</category><category>TypeScript</category><category>Maven</category><category>Tooling</category></item></channel></rss>