Kai-Karren / portfolio

A non-complete list of my personal and university projects. Work-In-Progress

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Portfolio

Hey, this repo acts as a small showcase for some projects I did or that I am still working on 🙂 The primary focus is on projects I did in my bachelor and master studies of Mediainformatics so far and that I thaught were worth mentioning. I also added some private projects as well. The collection is not complete at all and subjected to change 😄

Languages I usually work with

Java, Python, Kotlin, Go, Javascript, C++, Rust

Java and Python are the languages I have the most knowledge about.
I recently started to learn RUST as a C++ replacement.
I do not really like Javascript, but I can use work with it when needed

Interests

Dialogue Management, Chatbots, Voice User Interfaces, Conversational UIs, Scalable Architectures, Microservices, Computer Graphics, Machine Learning, NLP/NLU, Reinforcement Learning, Data Analytics, Database Systems,

Personal Projects

Out of personal interest or to improve my skills or knowledge I worked/I am working on the following projects. For a complete list of the ones that are public on GitHub you can browse through them under my profile here.

NLG Server (Java)

https://github.com/Kai-Karren/nlg-server
An example for a Naturual Language Generation (NLG) Server that can be used to separate the response management from the dialogue engine. Uses Rasa's NLG Server API.

Custom WebSocket Channel for Rasa (Python)

https://github.com/Kai-Karren/rasa-websocket-channel
As a PoC I implemented an example for a Custom WebSocket Channel for Rasa using Sanic.

My Website

https://github.com/Kai-Karren/Kai-Karren.github.io
I am currently hosting my website https://kaikarren.de using GitHub Pages with an GitHub Actions CI/CD pipeline.

Template and Examples

I have a variety of public example and template repo here on GitHub like the Java Template or the example on how to dockerize a Go application here.

SDE (Java, Kotlin)

Closed source
Simple Dialogue Engine (SDE) is my personal dialogue engine that I use for personal experiments with focus on simplicity. It is based things I learned while working on VUISA and StoryBot.

DE Action Servers (Kotlin, Go)

Closed source
I implemented some dialogue engine actions servers that can be used as Action Servers for Rasa-based Dialogue Engines.

University Projects

As part of my study program I worked on the following projects that I think are worth mentioning. Most of them are closed source however.

Social Bot Info (Python)

As a praxis project for a media psychology seminar I created a chatbot that informs about the implications of so-called social bots in social media. Gitlab repo

CG Ray Tracer (C++)

As part of the computer graphics core lecture that I took in my bachelor studies, I implemented a ray tracer together with my team partner Marc Ruble. This was my first major encounter with C++ in a larger project.

Some images that have been rendered with the ray tracer can be found on my entry page in the rendering competition of CG WS2017/2018 ("My place in the sky" Last accessed 2.11.2022). The HTML page I created is unfortunately not accessible anymore.

Low-Level DB (C++)

As project of the Database System core lecture from Prof. Jens Dittrich, I implemented a (low-level) database from the ground up in C++. This included to implement different data layouts like row- and column-store, hybrid-store-approaches, as well as indexes like BTrees and data compression to improve access times in the performnce competions where multiple 100,000 rows were inserted into the DB and queries were executed in the data.

StoryBot (Java, Python)

A dialogue engine for interactive story telling with Chatbots. Uses the Twee story format and some additional macros from Twine 2.0.

Automatic Shutter (Arduino)

A shutter system that can be controlled with a mobile APP. Including schedules and light-level dependent changes.

2D Racing Game (Java)

In the software project of my bachelor studies, I implemented a 2D racing game with multiplayer support in a group of six students. In the second part each of us implemented an AI for a car that had to complete different tracks and our AIs competed wit hanother and with the ones from other teams in a turnament.

VUISA (Java, Python)

VUISA which stands for Voice User Interface using Sentiment Analysis is a framework I implemented for my bachelor thesis. It allows to create phone-based VUIs that can analyse the user's sentiment/emotions with a self-trained classifier. Based on the classified emotions, the dialogue control is able to adapt to the user depending on the dialogue flow.

About

A non-complete list of my personal and university projects. Work-In-Progress