I am a programmer and a software architect passionate about functional programming, type theory and category theory.
I blog about functional programming in TypeScript, perform mentoring of developers who would like to study practical FP, and provide consultancy and architecture review for enterprises.
I provide mentoring services to:
I have delivered significant productivity gains and streamlined architectures for several organisations, proving that my methods yield results. With over 10 years implementing functional programming patterns in production, I continually refine my knowledge through teaching and research to maintain deep expertise.
I provide personalised curriculum and adapt my teaching style based on each student's goals, optimising their learning through a tailored education. My fundamental mindset is to develop students' solid basics through functional principles, building skills that generalise across frameworks.
A laser-focused hour to get past functional programming roadblocks keeping you from progress. I'll ask clarifying questions and provide examples from my years experience, while you identify the specific next steps that work best for you. Whether you're stuck on a complex concept, struggling with performance issues or unsure how to apply FP in a real project, we'll develop 1-3 action items tailored to your unique situation and goals. You'll leave motivated to implement them on your own terms.
Duration: 50 minutes
Price: 80€Book a session →
Master Node.js, functional programming and architectural best practices - the in-demand skills that top companies need. Through this intensive mentorship program, your skills and portfolio will grow to impress even the most selective hiring managers.
Key lessons you will learn:
You will emerge with the in-demand expertise to:
During this course, I will provide you with materials for self-study and home tasks, and during our 1-1 sessions I will answer your questions and provide you with additional explanations of the most complex topics. This intensive yet personalised program combines theory with hands-on challenges and mentoring. By investing in your future now, you'll launch your architecture career into its next growth phase.
Don't delay - contact me today to discuss how we can get you there. I look forward to helping you build the expertise that top companies are searching for.
Duration: 20 sessions, 50 minutes/session
Price: 1000€Become an architect →
Level up your TypeScript skills through a structured progression in functional programming.
This intensive, practical course will transform the way you think about and write TypeScript code. Through live online classes and hands-on projects, you'll learn how functional programming techniques can improve the maintainability, scalability and resilience of your applications.
By the end, you'll be able to:
Strengthen your TypeScript fundamentals — dive deep into TypeScript's powerful type system and teaches techniques for modeling complex data structures. In this module, we cover the topics of branded/opaque types, type narrowing, algebraic data types, template literal types, and much more.
You'll learn to catch mistakes earlier and write more robust code.
Duration: 4 weeks + project (1-2 weeks)
In this module, you will begin working with fp-ts library, and will get familiar with topics such as function and data properties (immutability, purity, referential transparency), begin building mindset for local reasoning, and learn functional programming concepts for safe work with nullable values, exceptions, and dependencies.
You'll start thinking like a functional programmer.
Duration: 5 weeks + project (1-2 weeks)
In this module, we dive deeply into patterns that are widely used in the functional programming. We learn about functors, monads, foldables and traversables, and functional optics. Also, we will talk about property-based testing to ensure that algebraic properties hold for your code. In the end of this module, we will return to the topic of functional data modeling, and will talk about io-ts, zod, and typebox.
As a result, you'll be able to apply algebraically-sound techniques to build large, maintainable TypeScript code.
Duration: 6 weeks + project (1-2 weeks)
This module deals with the most complex topics that you can encounter in the wild. We will talk about embedded domain-specific languages (eDSLs) and their implementation using Tagless Final and Free/Freer Monad patterns. You will learn about monad transformers and write a couple of your own transformers. We will talk about the "Making Illegal States Unrepresentable" principle in great detail, and will work with indexed monads. Finally, we will talk about software design in functional way, and will make use of Hexagonal Architecture.
You'll be equipped to design highly scalable FP systems.
Duration: 7 weeks + project (1-2 weeks)
A pinnacle of functional programming — using programming to automatically prove mathematical theorems. In
this module, we will take a quick look at Lean 4 programming
language and its powerful
This optional module crosses into advanced mathematics by leveraging programs to prove theorems automatically — peeking into the future of FP.
Duration: 2 weeks
Although I recommend studying the modules one by one, you can mix and match — e.g., skip the first two modules if you feel you're well-versed in advanced TypeScript and basics of FP, and continue your journey from the module 3 onwards. The choice is yours!Register for a course →