Banner Image
Jürgen Bäurle
Home  ·  Projects  ·  Work  ·  Blog  ·  Contact

Projects

This website is currently being reworked. Some content is not yet complete or up to date.

Over the course of the last years I was designing and developing quite a few applications using Microsoft technologies. This page describes some of the more interesting projects I was working on and only work that is public available. Most of the projects described here I have done for Theobald Software and Peakboard, two software companies based in Stuttgart, Germany.

The Peakboard platform, developed by Peakboard GmbH, brings low-code and AI to manufacturing and logistics. It connects real-time data from machines, sensors, and IT systems such as SAP and turns it into smart industrial applications on the shop floor.

Theobald Software GmbH develops interfaces that unlock SAP data for other systems. Products such as Xtract Universal, Xtract IS, and ERPConnect move SAP data into databases, BI and analytics tools, and cloud platforms and are used by companies worldwide.


Peakboard Platform Today

2026

Peakboard Designer 2026 Peakboard started in 2015 as a digital signage tool and has grown into a platform for industrial applications. I have been part of the project since the first line of code. Applications are built in the Designer, they run on screens, panels and mobile devices on the shop floor, and the Peakboard Hub keeps devices and central data under control. Today the platform connects live data from SAP, machines, databases and IT systems and turns it into interactive applications.

The next entries describe some of the newer platform features I have worked on.

Peakboard Product Site

Customer: Peakboard

Technologies: .NET, C#, WPF, Lua Scripting


Peakboard Flows

2024-2025

Peakboard Flows In the summer of 2024 I started to design and implement Flows, the part of a board that decides when things happen. The feature shipped in 2025. A flow defines which data source reloads, in which order, and what runs afterwards. A trigger starts the flow. It can run periodically, at a fixed time of day, when data in a list changes, or when a function is called. Each step reloads a data source or a dataflow, runs a function, or writes a result into a list.

I kept the model small on purpose. A step that runs a function decides how the flow continues. More complex logic belongs in a function, because there it can be tested. With Hub Flows a flow no longer needs a board. A nightly job that reloads a list and stores a result needs neither a screen nor a device on a wall.

Customer: Peakboard

Technologies: .NET, C#, WPF


Peakboard Building Blocks

2021-2025

Peakboard Building Blocks I architected and built Building Blocks, the visual script editor of the Peakboard Designer and a second way to write logic besides Lua. Users snap graphical blocks together and the editor generates the matching Lua code while they build. It uses the same script engine and the same events as normal scripts. Local variables have types, so the editor can refuse combinations that would fail at runtime.

There are generic blocks for logic, loops, math, text, date and color. Other block families wrap the Peakboard data layer, for example SQL, MQTT, Azure, Hub lists, dataflows, timers and custom functions. The first version started in 2021 under the name Visual Coding and shipped in 2022. In 2025 I reworked the editor and added comments, block search and other aids for boards with hundreds of blocks.

Building Blocks documentation

Customer: Peakboard

Technologies: .NET, C#, WPF, Lua


Peakboard Extension Kit

2020-2025

Peakboard Extension Kit In 2020 I designed and developed the Peakboard Extension Kit, a NuGet package with a handful of interfaces. You implement one interface, ship a DLL, and your own data source shows up in the Peakboard Designer next to the built in ones. Extensions are foreign code, so they do not run in the runtime process. Each extension runs in its own host process and talks to the runtime over an IPC channel. An extension that leaks memory, blocks a thread or crashes on startup cannot take a board down.

Extensions exist for Dynamics 365, Microsoft Graph, OData, DB2, MySQL, PostgreSQL, Philips Hue, SICK RFID readers and more. They are installed from a gallery dialog in the designer. The kit started on .NET Framework with Remoting and System.AddIn, and I ported it to .NET 8 in 2025.

Peakboard.ExtensionKit on NuGet  ·  Sample extensions on GitHub  ·  Peakboard Templates

Customer: Peakboard

Technologies: .NET, C#, IPC, .NET Remoting


Peakboard Dataflows

2018

Peakboard Dataflows In 2018 I developed Dataflows to shape data before it reaches the screen. A dataflow takes a data source and puts an ordered list of steps on top of it. A step can filter, rename, change a type, join or look something up. The result is a new list that behaves like any other data source, and nobody has to write a line of Lua. A preview shows the data as it looks after the selected step, so the effect of every step is visible right away.

The steps cover column operations, type changes, filter, sort, duplicates, row ranges, aggregation, union and the four usual join types. The step people asked for most is the lookup column. A machine reports an ID, the readable text lives somewhere else, and the lookup fills it in. A dataflow can also build on another dataflow, so a long chain can be split into smaller parts.

Your first steps with Dataflows

Customer: Peakboard

Technologies: .NET, C#, WPF


Peakboard Control Grouping

2018-2024

Peakboard Control Grouping In 2018 I implemented control grouping in the Peakboard Designer. A group combines several controls on a screen so that they can be moved, copied, fixed, shown or hidden together. Groups have names, they can be nested, and a group can get conditional formatting, for example to hide it when a value changes.

Groups are also available in scripts and Building Blocks. A script can show or hide a group, print it, or send a screenshot of it by email, to OneDrive, to SharePoint or to the Peakboard Hub. In 2024 I reworked the arrangement logic.

Customer: Peakboard

Technologies: .NET, C#, WPF


Peakboard Lua Scripting & Script Editor

2016-2024

Peakboard Script Editor Peakboard boards are scripted in Lua, and the runtime is a .NET application. In 2016 I implemented the bridge between the two with MoonSharp, a Lua interpreter written in C#. Scripts run in the same process as the runtime, without a native library and without a separate process. .NET objects are not exposed automatically. Every type a script may use gets a descriptor class, and every member is made visible one at a time, so nothing leaks by accident.

Much of the work went into the conversions between the two type systems. Lua has one number type while .NET has many, so collections have to be normalised. Data rows have no fixed shape at all, because their columns come from the query the board author wrote. A missing column returns nil instead of stopping the board. In 2024 I reworked this scripting layer.

Peakboard scripting documentation

Customer: Peakboard

Technologies: .NET, C#, Lua, MoonSharp


Peakboard Digital Signage Platform

2015-2018

In the autumn of 2015 I started designing and developing the Peakboard digital Signage platform. The system comprises of two parts: A WPF designer and the Universal Windows Platform (UWP) runtime application.

For the runtime I have developed a custom web server and administration website to upload and manage Peakboard packages containing the board and all of it's screen definitions and resource files. Each board can be directly deployed from the Peakboard designer application.

Read more...

Customer: Theobald Software / Peakboard

Technologies: .NET, C#, UWP, WPF, Lua Scripting


Xtract IS Table Join Query Builder

2015

In 2015 I developed a visual table join query builder as part of the Xtract IS product suite. The component allows to visually design table join queries by selecting SAP tables, defining the relationships, adding output fields and limiting criteria. The builder also contains a criteria designer to visually define the WHERE and HAVING clause for the final join statement.

For the SAP side I developed a custom BAPI function module (Z_XTRACT_IS_TABLE_JOIN) that is processing the join defintion by generating a dynamic SAP Open SQL statement (INNER and OUTER JOINS).

Read more...

Customer: Theobald Software

Technologies: .NET, C#, WPF, WinForms, SAP, ABAP


ERPConnect Services Core Platform

2014

In 2014 I finished the work on the first version of ERPConnect Services Core. ECS Core is a service-oriented, claims-based and cloud-aware (Azure) web application platform (SOA) to provide enterprise-wide, SAP-related REST and OData based web services.

Read more...

Customer: Theobald Software

Technologies: .NET, C#, ASP.NET MVC, Web API, ERPConnect, Azure


ERPConnect Services Web Service Designer

2013

In 2013 I developed the Web Service Designer application as part of the ERPConnect Services product suite, a suite which allow you the complete range of data integration between SharePoint and SAP.

The designer is a fantastic tool to visually design and deploy no-code SOAP or OData web services for SharePoint by using a workflow designer surface. Also, C# expressions are supported to fine tune each data mapping.

Read more...

Customer: Theobald Software

Technologies: .NET, C#, WPF, SharePoint


SAP HTML5 Sample Web Applications

2012

In 2012 I created two HTML5 sample web applications with stunning visual effects. The demos are displaying SAP customer and stock quantity data in real time. The SAP/.NET connectivity is handled by the ERPConnect library from Theobald Software.

You may check out the videos (links) below I have created to show the jQuery effects I used:
YouTube video of the stock quantity demo
YouTube video of the customer information demo

Read more...

Customer: Theobald Software

Technologies: .NET, C#, ASP.NET MVC, Web API, jQuery, ERPConnect


XQL - Xtract Query Language

2012

A few years ago I developed XQL, the Xtract Query Language (XtractQL), which got integrated in various Theobald products in the meatime in order to dynamically retrieve SAP business data by using a simple query language. The syntax is inspired by SQL and SAP ABAP language statements.

Read more...

Customer: Theobald Software

Technologies: .NET, C#, Compiler Techniques


BCS Connector for SharePoint

2010

In 2010 I started designing and developing the BCS Connector for SharePoint. The application is a component of the ERPConnect Services product suite and allows you to connect SharePoint lists with SAP objects or tables – completely without programming knowledge.

Read more...

Customer: Theobald Software

Technologies: .NET, C#, WPF, SharePoint


ERPConnect Services for SharePoint

2010

In 2010 I started designing and developing ERPConnect Services Runtime, the first component of the ERPConnect Services product suite. The tools gives .NET developers the opportunity to use SharePoint as a SAP data hub.

An optional plugin for Visual Studio (see screenshot) allows to design SAP interfaces with the help of a sophisticated graphical designer.

ERPConnect Services video

ERPConnect Services product page

Customer: Theobald Software

Technologies: .NET, C#, ASP.NET, Visual Studio Extension, SharePoint


Mindbak - Online Mind Mapping

2010

In 2010 I got the chance to develop a prototype of an online mind mapping tool in Silverlight. It’s only a test and proof-of-concept project and somewhat buggy, but basic functions are working.

You can edit the maps using the keyboard and mouse. You can also move topics using drag and drop.

Give it a try: Mindbak.com.

Read more...

Technologies: .NET, C#, Silverlight


LINQ to SAP for Visual Studio

2008

In 2008 I developed LINQ to SAP, a LINQ provider for SAP data sources and a Visual Studio plugin for ERPConnect to visually design SAP interfaces. The plugin provides a designer and code generator to automatically generate the SAP access layer code for C# and VB.NET.

The SAP objects (BAPI, Table, Query, etc.) are simply dragged and dropped into the designer work area. Complex BAPIs can be simplified so that only the elements that should be filled remain to be addressed in the code generated by the Visual Studio Designer.

Read more...

Customer: Theobald Software

Technologies: .NET, C#, Visual Studio Extension, ERPConnect, DSL Tools (Modeling SDK for Visual Studio)


Stock Quote Add-In For Excel

2007-2018

A few years ago Microsoft was providing the MSN MoneyCentral Stock Quotes Add-In for Excel 2002 and it was a really neat tool, but all of a sudden this tool was not avaiable anymore. My Stock Quote Add-In For Excel is the replacement of the MSN Add-In, based on the fantastic Excel-DNA library to retrieve stock data and FX rates from the Yahoo! Finance site using new Excel functions.

Read more...

Technologies: .NET, C#, Office Development