
GenAI Gateway
Many developers are integrating large language models (LLMs) into their applications to process user input and generate responses. This integration presents challenges such as:
- Implementing rate limiting to prevent a single user from exceeding a predefined number of tokens and generating a lot of costs.
- Collecting metrics on token usage per model or request or user.
- Providing a standardized entry point for various providers (OpenAI, Anthropic, Self-Hosted LLMs).
This project addresses these challenges by offering a gateway that facilitates interaction with different LLMs.
PatrickDB
PatrickDB is a simplified Rust-based database designed to demonstrate distributed database principles. This distributed key-value store employs Zookeeper for replication and partitioning. Data is stored in a row-based format using a file-based system.
The database is accessible through gRPC or REST, facilitated by Envoy for converting REST to gRPC. Additionally, patrick-db’s storage and index engines can be integrated into other projects.


STACKIT External DNS Webhook
ExternalDNS serves as an add-on for Kubernetes designed to automate the management of Domain Name System (DNS) records for Kubernetes services by utilizing various DNS providers. While Kubernetes traditionally manages DNS records internally, ExternalDNS augments this functionality by transferring the responsibility of DNS records management to an external DNS provider such as STACKIT. Consequently, the STACKIT webhook enables the management of your STACKIT domains within your Kubernetes cluster using ExternalDNS.
For utilizing ExternalDNS with STACKIT, it is mandatory to establish a STACKIT project, a service account within the project, generate an authentication token for the service account, authorize the service account to create and read dns zones, and finally, establish a STACKIT zone.
Link to the project.
GRPC Gateway Example
In the realms of Google or Wix, everything revolves around microservices, especially gRPC ones. The simplicity of defining a service through a proto file and generating the necessary code from it brings forth language independence and reduces the initial overhead of setting up a service.
gRPC’s implementations are often smoother than REST APIs, as they eliminate the need to deserialize URL parameters, headers, or the body of a request. This allows developers to immediately start implementing their services and use deserialized messages as input.
However, the gRPC protocol might not be well understood or favored by certain clients, particularly front-end applications. This is where a REST API endpoint can prove to be beneficial. The gRPC Gateway in Golang allows us to generate a REST API endpoint from our proto file, providing an optimal solution.
Furthermore, we can expose multiple microservices under the same domain as the gRPC Gateway acts like a reverse proxy.
This project showcases the use of gRPC and gRPC Gateway in Golang.


Rust Opentelemetry Example
This repository contains the code for a Rust application that demonstrates the concept of observability. The application is a compact Actix REST API with three endpoints: /healthz
for health checks, /metrics
for observability data, and /users
for user-related operations. The application is designed to be transparent and comprehensible, making it easier to maintain, upgrade, and evolve over time.
Lecture Developing of a DB App
This codebase serves as a comprehensive repository, furnishing exemplary source code across diverse programming paradigms aimed at elucidating the methodology for interfacing applications with relational database management systems (RDBMS), including but not limited to SQLite. It transcends foundational techniques to delve into Object-Relational Mapping (ORM) strategies for database abstraction and elucidates the utilization of migration frameworks for effective database schema transitions. Additionally, it encapsulates the implementation of a Representational State Transfer (REST) Application Programming Interface (API).
