
Marvin Rühe
Team Lead, Software Development
I lead development of telani — building Windows apps, on-device AI, and web tools.
Freiburg, Germany
Contact
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
Team Lead, Software Development
Technical roadmap and architecture of telani; on-device AI (ONNX, semantic search), open-sourcing core libraries, and mentoring.
Lead Software Developer
Drove telani to FeuerTrutz Product of the Year 2024 and the vfdb Excellence Award 2024. Built CI/CD pipelines and integrated React WebView components.
Software Developer — telani
Built telani from a C# WPF app to WinUI 3 + MSIX, with a PHP/Symfony license & user backend.
Master's Thesis
MRI anomaly detection with Generative Adversarial Networks (GANs) — flagging anomalies a model trained only on healthy scans can't reproduce (grade 1.0).
Internship & Bachelor's Thesis
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).
Owner / Freelance Developer
Custom software for building analysis and measurement tech — klimafish, SensorAnalyseBox, and an autonomous rebar-scanning robot.
Projects

Telani
Windows app for fire safety experts: Create building protection concepts visually with ease.
🏆 FeuerTrutz Product of the Year 2024 · vfdb Excellence Award 2024
RetiredSWR3-Radio App
The easiest way to listen to the local German radio station SWR3
📥 35,000 downloads on the Windows 8 Store
Smaller projects
- Telani.SqliteSQLite data layer for the Telani app.
- Telani.OpenDocumentCreatorOpenDocument file generation for Telani.
- Telani.SourceGeneratorC# source generator used in Telani.News: now open source — excellent, battle-proven source generators built on the latest IIncrementalGenerator API.
- MiniCsvHelperA tiny C# library for reading and writing CSV files.
- ruehe.meThis very website — a React Router 7 static site (yes, it lists itself).
<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? -->
