Kotlin meetup - Amsterdam: Kotlin Transactional and supercharge with RAG
Details
Hello, Kotlin enthusiasts!
Our next MeetUp will take place at the Xebia office in Amsterdam on 13 May.
📍 Location: Xebia Netherlands - Amsterdam - Wibautstraat
Join us on an evening filled with tasty food, refreshing drinks, and insightful Kotlin discussions.
Make sure to press the RSVP button!
---
đź•’ Timeline:
• 17:45 - Doors open, food and drinks 🍕
• 18:30 - Opening 💻
• 18:40 - Making @Transactional Play Nice with Kotlin Rich Errors and Either - Tjalling Ran
• 19:30 - Quick break 🚽
• 19:40 - How to supercharge your knowledge base with Retrieval Augmented Generation (RAG) - Jamie Craane 💻
• 20:25 - Closing 💻
• 20:30 - Chats & Drinks 👥
---
Title: Making @Transactional Play Nice with Kotlin Rich Errors and Either
@Transactional rolls back on exceptions — but what if your error is a value? Functional error handling patterns like Arrow’s Either.Left or Kotlin’s upcoming Rich Errors let you model errors as return values instead of throwing exceptions, making failure explicit and strongly typed in your function signatures. The downside: your @Transactional would commit even on an error. This talk shows how to solve that with Spring AOP, so you can adopt functional error handling in an existing Spring Boot codebase without breaking your @Transactional behavior.
Bio:
Tjalling Ran is a back-end developer at Maqqie, where he works on public APIs, backoffice tooling, and CLA compliance, bridging technical implementation and technical and non-technical stakeholders alike. He has a passion for writing expressive and unambiguous code by leveraging the type system and naming things well. His day-to-day stack is Kotlin with Spring, OpenAPI, and JPA. Earlier in his career he worked on code generators with Xtend, a language that felt refreshingly modern compared to Java at the time, which made Kotlin a natural fit.
Title: How to supercharge your knowledge base with Retrieval Augmented Generation (RAG)
Abstract
Your notes, documents, and images contain a wealth of knowledge — but finding the right piece at the right moment can be surprisingly hard. What if you could search your personal knowledge base the same way you talk to an AI assistant?
In this talk, we’ll explore how Retrieval-Augmented Generation (RAG) can supercharge your personal knowledge base. You’ll learn how vector embeddings are created, how they are stored, and how they power an end-to-end RAG retrieval workflow. Along the way, we’ll demystify what embeddings actually are and why they work so well for semantic search.
But we won’t stop at text. We’ll also integrate image embeddings into the workflow, enabling you to query your own photos and screenshots using natural language.
Finally, we’ll tackle an often overlooked challenge: protecting sensitive information. You’ll see practical techniques for preventing confidential data from being sent to external embedding providers.
By the end of the session, you’ll understand how to build a powerful, privacy-aware RAG system that turns your personal data into an AI-searchable knowledge engine.
Bio:
With over 20 years of IT experience, Jamie Craane designs and develops software for a wide range of organizations, from large enterprises to startups and SaaS services. Working for Moxie-IT, Jamie focuses on the entire value chain: from architecture and technology to software development, deployment and management, and improving the performance of development teams. Adding value and providing insight for everyone involved are central to his approach.
Fast, secure, and automated delivery are essential to his approach. Jamie combines innovation with proven technologies and closely follows developments in Artificial Intelligence. He doesn’t shy away from challenges and enjoys sharing his knowledge with teams and the community.
---
RSVP Now!
Don't forget to RSVP to secure your seat—spots are limited! We can't wait to see you there and discuss the future of Kotlin and software architecture.



