About the service
I'm a backend developer and I write in Scala, and functional programming for me is a way of thinking about a problem, not a technique I reach for occasionally. I design services around immutable data, pure functions and typed effects, so behavior stays predictable and the compiler catches whole classes of errors before they reach production. If you already have a JVM stack and need the correctness and concurrency guarantees that Scala provides, or you're starting from scratch and want a foundation that scales rather than turns into a mess, I'll take the work from architecture to a service running reliably in battle.
Most of the time I'm building REST and gRPC APIs, event systems and data processing pipelines. I build concurrent and distributed backends on Akka actors and Akka Streams, model long-lived processes that survive restarts, and wire everything to Kafka, PostgreSQL, Cassandra or Spark depending on data nature. I think about back-pressure and what happens when a dependency gets slow or disappears, so my systems degrade gracefully instead of crashing. Batch and streaming tasks on big data are routine: migration, cleaning and aggregation of large volumes without losing records and without running out of memory.
Let me be clear about scope: this is Scala and functional approach, not regular Java, Kotlin or Go rewritten in Scala syntax. I write idiomatic code with Cats, ZIO or Akka, test via ScalaCheck and property-based approach and deliver code your team can read and evolve. Tell me about needed throughput and constraints — I'll suggest an approach and realistic timeline.
— Functional backend services in Scala (Cats, ZIO)
— Akka actors and Akka Streams for concurrent distributed systems
— REST and gRPC APIs with typed testable domains
— Big-data and ETL pipelines on Spark and Kafka
— PostgreSQL, Cassandra and event-sourced storage
— Property-based testing and JVM CI setup
Most of the time I'm building REST and gRPC APIs, event systems and data processing pipelines. I build concurrent and distributed backends on Akka actors and Akka Streams, model long-lived processes that survive restarts, and wire everything to Kafka, PostgreSQL, Cassandra or Spark depending on data nature. I think about back-pressure and what happens when a dependency gets slow or disappears, so my systems degrade gracefully instead of crashing. Batch and streaming tasks on big data are routine: migration, cleaning and aggregation of large volumes without losing records and without running out of memory.
Let me be clear about scope: this is Scala and functional approach, not regular Java, Kotlin or Go rewritten in Scala syntax. I write idiomatic code with Cats, ZIO or Akka, test via ScalaCheck and property-based approach and deliver code your team can read and evolve. Tell me about needed throughput and constraints — I'll suggest an approach and realistic timeline.
— Functional backend services in Scala (Cats, ZIO)
— Akka actors and Akka Streams for concurrent distributed systems
— REST and gRPC APIs with typed testable domains
— Big-data and ETL pipelines on Spark and Kafka
— PostgreSQL, Cassandra and event-sourced storage
— Property-based testing and JVM CI setup