<Lukas Mateffy/>
 

Lukas Mateffy

Developer & Inventor

tinkering with

 Web Apps  LLM-based Tools  Machine Learning  Real Estate Technology  Home Automation  Robotics 

Hello there, stranger!

I'm Lukas, a digital inventor who loves to solve annoying problems using computers. I started building apps as a kid and simply never stopped.

Today I build quality open-source projects and SaaS companies. I work on applying emerging AI methods to existing problems and really enjoy designing, and implementing complex software solutions.

I am CTO @ domos, where we're developing technology to enable efficient digitalization in the real estate industry. We've built a great and competent development team and are able to work on some really cool projects.

I studied at Leuphana University, where I explored the world of robotics and found new ways to leverage technology to solve real-world problems (or create new ones). My current academic focus centers around using large language models (LLMs) and other machine learning approaches to improve data extraction from analog sources and digital twin creation.

When I'm not busy working, then I'm.. well... still working, as a I really enjoy working on open source projects that range from fun to useful (or sometimes, both).

If you want to know more about me or my projects, feel free to check out my Twitter and GitHub profiles. Or you can contact me directly via email or LinkedIn. I'm always open to new opportunities and collaborations.

Embed magical JSON extraction from PDFs, docs and images directly in your forms

In the real world, we're constantly drowning in unstructured data - PDFs, images, and documents that contain valuable information but are a pain to process systematically. That's why I created Data Wizard, a tool to extract structured JSON data from these sources, regardless of their format, the file size, or the number of pages. It's like a magic wand for your unstructured data.

Data Wizard is designed to be easily embedded into existing software and workflows, regardless of tech stack. You can integrate it via an iFrame, make API calls, or directly use the powerful PHP AI SDK it is built with. The core concept is straightforward: you provide a JSON schema, and Data Wizard fully takes care of extracting the corresponding data from your documents using multiple strategies, depending on the kind of data you're working with.

You won't have to worry about context sizes, file chunking or getting yet another ```json prefix in your LLM responses. It's setup to support any LLM provider and automatically generates UIs and validates data based on your schema. It's built for developers who want to ship features, instead of yelling at an LLM to please just return JSON 🙏🏻 all the time.

LLM Magic

An model-agnostic Laravel SDK for LLM inference

Everyone implements the OpenAI API... well, unless they don't.

When I started building Data Wizard and working with LLMs in PHP, I realized there was no good generic SDK to use yet. The OpenAI library is fine and can be adapted for other providers that implement the same interface, but it doesn't support all the features of other providers. Also, things like tool calling, streaming and other things had to be implemented manually, with is repetitive and error-prone.

LLM Magic abstracts away the underlying API and provides a unified interface for all providers. On top of that, it makes tool calling and deep integration into your UI and into Laravel itself super easy, by using reflection and other PHP/Laravel features to automatically generate the necessary code to call your tools.

This is a massive improvement to the developer experience and helps you ship features faster. It also makes it easier super simple to swap out the LLM provider with a single line, and can even be done dynamically.

LLM Magic is what powers Data Wizard under the hood, but is available as a standalone package. I'm still working on the documentation, but you can refer to my thesis for more information on how it works and how to use it.

$answer = Magic::chat()
	->prompt('What is the capital of France?')
	->text();

// -> Paris



$data = Magic::extract()
	->model('anthropic/claude-3.7-sonnet')
	->strategy(ParallelStrategy::class)
	->schema([
		'type' => 'object',
		'properties' => [
			'amount' => ['type' => 'float'],
			'invoice_number' => ['type' => 'string'],
		],
	])
	->artifacts([
		DiskArtifact::disk('s3', 'path/to/huge-file.pdf'),
	])
	->send();

// -> ['amount' => 123.45, 'invoice_number' => 'INV-123']



$answer = Magic::chat()
	->model(Gemini::flash_2_lite())
	->tools([
		'add' => fn (int $a, int $b) => $a + $b,
		'subtract' => fn (int $a, int $b) => $a - $b,
		'multiply' => fn (int $a, int $b) => $a * $b,
		'divide' => fn (int $a, int $b) => $a / $b,
	])
	->prompt('What is 2 + 2 - (3 * 4)?')
	->lastText();

// -> I've calculated the answer to be -8.

domos

Modern software to manage and market commercial real estate

The digital status quo in the German commercial real estate market is a highly fragmented and inefficient landscape that to this day relies on manual paper-based processes and outdated technology.

domos, is a software solution that leverages modern tools and data sources to collect and analyze detailed information about commercial real estate properties. Our intricate and detailed data model is used to allow real estate professionals and their customers, as well as machine learning models and LLMs to get a comprehensive understanding of real estate properties.

Agents and landlords can use domos to manage their properties, using automated tools to generate marketing materials, manage tenant relationships, and analyze the performance of their properties.

Beerbot 9000

Autonomous beer-opening robot

During my time at Leuphana University, I got the opportunity to play around with a UR5e robot arm. Naturally, my German instincts kicked in and I built a robot that autonomously opens beer bottles.

Beerbot9000 is a fully automatic robot arm that grabs a beer bottle, opens it, and then serves it to you. The robot is controlled from an external web interface and used computer vision to discover the location of the bottle (until it didn't and we ran out of time to fix it).

Bildschirm

Opinionated JavaScript framework for building real-time dashboards

Well… every person with a homelab seems to write their own custom dashboard at some point. I know I needed one, so I did what any sane person would do and wrote my own framework.

Bildschirm is meant for custom-built homelab dashboards for nerds like me. It uses a WebSocket-driven widget system to enable super fast interactions. Flipping the light switch feels instant. You can easily add your own interactive widgets and even embed other self-hosted apps. It already has a widget to show DB train departure times (and delays, which is arguably more important here in Germany).

Listmate

Semantically manage personal collections of music, movies and more

Listmate is a tool for managing lists of things. It works best with music and other media, but can technically be used for anything.

It features a unique data model that unifies allows records to be linked together semantically. The song "Rock with You" by Michael Jackson, for example, has lots of songs that remix, sample, or cover it. This is especially useful for DJs and other people that curate their own music libraries.

You can store music data without the actual songs, as outside sources like Spotify, Apple Music, and YouTube can also be linked to the records.

iCloud Photos Backup

Command-line tool to backup your iCloud Photos with a self-hosted web UI

iCloud Photos Backup allows you to save your iCloud Photos to a local folder and generate a web interface to browse them. It works using the local iCloud Photos library directly, so no downloads are necessary. The web interface is output as a static site, so you can host it anywhere.

SAUF.chat

Peer-to-peer group video calls and Spotify playback sync

During the pandemic, group hangouts were a bit of a pain. With multiple people on all ends, listening to music together was a nightmare. So I built SAUF.chat, a peer-to-peer group video calling app with Spotify playback sync. It used a WebRTC-based synchronization engine, so everyone hears the same beat drop at the same time.

Read more 

But wait, theres more...

Head over to the projects page to see all of the things I've published over the years!

See all my projects