Marvin Rühe

Marvin Rühe

Team Lead, Software Development

I lead development of telani — building Windows apps, on-device AI, and web tools.

Freiburg, Germany

Contact

The best way to reach me is by mail:

marvin@server-fish.de

Alternatively:

MastodonGitHubStack OverflowLinkedIn

Skills

Languages

  • C#
  • TypeScript
  • JavaScript
  • PHP
  • C/C++
  • SQL / SQLite

Windows & Desktop

  • .NET
  • WinUI 3
  • WPF
  • XAML
  • MSIX

Web

  • React
  • React Router
  • Symfony
  • HTML & CSS

AI / ML

  • Python
  • PyTorch
  • ONNX
  • Ollama
  • Gemma
  • Claude Code

DevOps & Tooling

  • Docker
  • Linux server
  • Git
  • GitHub Actions
  • CI/CD

Experience

2026 – present

Team Lead, Software Development

gb&t Gebäudebestand und Technik

Technical roadmap and architecture of telani; on-device AI (ONNX, semantic search), open-sourcing core libraries, and mentoring.

2022 – 2026

Lead Software Developer

gb&t Gebäudebestand und Technik

Drove telani to FeuerTrutz Product of the Year 2024 and the vfdb Excellence Award 2024. Built CI/CD pipelines and integrated React WebView components.

2019 – 2022

Software Developer — telani

gb&t Gebäudebestand und Technik

Built telani from a C# WPF app to WinUI 3 + MSIX, with a PHP/Symfony license & user backend.

2018 – 2019

Master's Thesis

Philips Medical Research, Hamburg

MRI anomaly detection with Generative Adversarial Networks (GANs) — flagging anomalies a model trained only on healthy scans can't reproduce (grade 1.0).

2015 – 2017

Internship & Bachelor's Thesis

Philips Medical Systems, Böblingen

Patient-monitor development in low-level real-time C/C++ (selected for the Philips CONNECT talent program); bachelor's thesis on cross-platform UIs in a medical context (grade 1.3).

2010 – 2019

Owner / Freelance Developer

Sole proprietorship

Custom software for building analysis and measurement tech — klimafish, SensorAnalyseBox, and an autonomous rebar-scanning robot.

Projects

Project-Quick-Open

Project-Quick-Open

Windows 11 app to find and open frequently opened projects.

Microsoft Store »

Telani

Telani

Windows app for fire safety experts: Create building protection concepts visually with ease.

🏆 FeuerTrutz Product of the Year 2024 · vfdb Excellence Award 2024

Telani website »

SWR3-Radio AppRetired

SWR3-Radio App

The easiest way to listen to the local German radio station SWR3

📥 35,000 downloads on the Windows 8 Store

Show details »

Smaller projects

See all on GitHub »

<Window x:Class="Ruehe.Portfolio" Title="Marvin Rühe — Portfolio" FontFamily="Fraunces, system-ui">
  <ScrollViewer>
    <StackPanel Margin="0 24" MaxWidth="1100" Spacing="24">
      <!-- Hero -->
      <StackPanel Orientation="Horizontal" Spacing="28">
        <Ellipse Width="120" Height="120" Fill="{ImageBrush MarvinRuehe.jpg}" />
        <StackPanel>
          <TextBlock Text="Marvin Rühe" FontFamily="Fraunces" FontSize="58" />
          <TextBlock Text="Team Lead, Software Development" Foreground="{StaticResource Accent}" />
          <TextBlock Text="I lead development of telani — building Windows apps, on-device AI, and web tools." />
          <Badge Icon="📍" Content="Freiburg, Germany" />
        </StackPanel>
      </StackPanel>
      <!-- Contact -->
      <HeaderedContentControl Header="Contact">
        <Border Style="{StaticResource Card}">
          <StackPanel Spacing="12">
            <TextBlock Text="The best way to reach me is by mail:" />
            <Button Content="marvin@server-fish.de" Style="{StaticResource AccentButton}" />
            <WrapPanel>
              <Button Content="Mastodon" />
              <Button Content="GitHub" />
              <Button Content="Stack Overflow" />
              <Button Content="LinkedIn" />
            </WrapPanel>
          </StackPanel>
        </Border>
      </HeaderedContentControl>
      <!-- Skills -->
      <HeaderedItemsControl Header="Skills">
        <GroupBox Header="Languages">
          <WrapPanel>
            <Chip Content="C#" />
            <Chip Content="TypeScript" />
            <Chip Content="JavaScript" />
            <Chip Content="PHP" />
            <Chip Content="C/C++" />
            <Chip Content="SQL / SQLite" />
          </WrapPanel>
        </GroupBox>
        <GroupBox Header="Windows & Desktop">
          <WrapPanel>
            <Chip Content=".NET" />
            <Chip Content="WinUI 3" />
            <Chip Content="WPF" />
            <Chip Content="XAML" />
            <Chip Content="MSIX" />
          </WrapPanel>
        </GroupBox>
        <GroupBox Header="Web">
          <WrapPanel>
            <Chip Content="React" />
            <Chip Content="React Router" />
            <Chip Content="Symfony" />
            <Chip Content="HTML & CSS" />
          </WrapPanel>
        </GroupBox>
        <GroupBox Header="AI / ML">
          <WrapPanel>
            <Chip Content="Python" />
            <Chip Content="PyTorch" />
            <Chip Content="ONNX" />
            <Chip Content="Ollama" />
            <Chip Content="Gemma" />
            <Chip Content="Claude Code" />
          </WrapPanel>
        </GroupBox>
        <GroupBox Header="DevOps & Tooling">
          <WrapPanel>
            <Chip Content="Docker" />
            <Chip Content="Linux server" />
            <Chip Content="Git" />
            <Chip Content="GitHub Actions" />
            <Chip Content="CI/CD" />
          </WrapPanel>
        </GroupBox>
      </HeaderedItemsControl>
      <!-- Experience -->
      <ItemsControl Header="Experience">
        <ExperienceItem Period="2026 – present" Role="Team Lead, Software Development" Org="gb&t Gebäudebestand und Technik" />
        <ExperienceItem Period="2022 – 2026" Role="Lead Software Developer" Org="gb&t Gebäudebestand und Technik" />
        <ExperienceItem Period="2019 – 2022" Role="Software Developer — telani" Org="gb&t Gebäudebestand und Technik" />
        <ExperienceItem Period="2018 – 2019" Role="Master's Thesis" Org="Philips Medical Research, Hamburg" />
        <ExperienceItem Period="2015 – 2017" Role="Internship & Bachelor's Thesis" Org="Philips Medical Systems, Böblingen" />
        <ExperienceItem Period="2010 – 2019" Role="Owner / Freelance Developer" Org="Sole proprietorship" />
      </ItemsControl>
      <!-- MSIX Consulting -->
      <Border Style="{StaticResource AccentBanner}">
        <TextBlock Text="MSIX Consulting" FontWeight="SemiBold" />
        <Button Content="Get in touch" />
      </Border>
      <!-- Projects -->
      <ItemsControl Header="Projects">
        <ProjectCard Title="Project-Quick-Open" />
        <ProjectCard Title="Telani" />
        <ProjectCard Title="SWR3-Radio App" />
      </ItemsControl>
      <!-- Smaller projects -->
      <ItemsControl Header="Smaller projects">
        <Hyperlink NavigateUri="https://github.com/Marv51/Telani.Sqlite" Text="Telani.Sqlite — SQLite data layer for the Telani app." />
        <Hyperlink NavigateUri="https://github.com/Marv51/Telani.OpenDocumentCreator" Text="Telani.OpenDocumentCreator — OpenDocument file generation for Telani." />
        <Hyperlink NavigateUri="https://github.com/Marv51/Telani.SourceGenerator" Text="Telani.SourceGenerator — C# source generator used in Telani." />
        <Hyperlink NavigateUri="https://github.com/Marv51/MiniCsvHelper" Text="MiniCsvHelper — A tiny C# library for reading and writing CSV files." />
        <Hyperlink NavigateUri="https://github.com/Marv51/website" Text="ruehe.me — This very website — a React Router 7 static site (yes, it lists itself)." />
      </ItemsControl>
    </StackPanel>
  </ScrollViewer>
</Window>
<!-- Oh, did he build this with some Uno-compiler, or is this just fake? -->