Nico Gräf

Nico Gräf

Software Engineer from Freiburg, Germany

Latest Articles

Strategisches Domain Driven Design: Große Domänen aufteilen

Wie Subdomains, Bounded Contexts und Context Maps große Domänen in unabhängig entwickelbare Bereiche aufteilen.

Taktisches Domain Driven Design: Fachlogik im Code abbilden

Entity, Value Object, Aggregate, Repository und Domain Event: die fünf Bausteine, mit denen taktisches DDD Fachlogik im Code abbildet.

Domain Driven Design: Wenn der Code die Fachsprache lernt

Wie Domain Driven Design die Lücke zwischen Fachabteilung und Code schließt, mit Ubiquitous Language, Bounded Contexts und taktischen Bausteinen.

Projects

jotti / since 2025 visit website

PostgreSQL Go React Vite Docker TypeScript Linux Caddy shadcn/ui Tailwind CSS JWT Argon2id zod Event Sourcing DDD KassenSichV/TSE

jotti is a free, source-available mobile point-of-sale system for clubs and non-profit organizations, built for Vereinsfeste, Christmas markets, and concerts. As a former club board member myself, I know Vereinsfeste from behind the cash box. Service staff take orders, confirm handout, collect payment, and handle cancellations straight from their own smartphones: table by table, all in the browser. No special hardware, no cloud subscription, no payment gateway. And it's built for Germany's cash-register regulation (KassenSichV): jotti ships the fiscal building blocks: a cloud TSE that signs every transaction, receipts per § 146a AO, an append-only cash journal, and a DSFinV-K export for the tax authorities. Self-hosted via Docker, jotti lets admins manage products, tables, and users, prints receipts at the counter, handles cash sessions with a proper daily close, and breaks down revenue per table and per staff member, all backed by an audit-proof, event-sourced history.

jotti / since 2025

Haufe Akademie / since 2024 Visit website

AWS Serverless TypeScript Event-Driven DDD GitLab CDK Linux React Material UI SAP ABAP PHP

The Haufe Akademie is the training and education division of Haufe Group. Since 2024 I have been part of a Scrum team building technical solutions for the company.

Haufe Akademie / since 2024

Idana / 2020-2024 Visit website

Google Cloud E2EE Go TypeScript SQL MongoDB Electron Vue.js Material UI Firebase Angular GitHub

Idana is a German startup that provides a digital assistant for the healthcare sector. I joined the team as a fullstack developer and grew into a team lead position, leading a team of five developers, including people management. I led the migration of the JavaScript backend to a Go architecture and measurably improved team satisfaction along the way.

Idana / 2020-2024

Early Projects & Experiments

Freiburg Challenge / 2020

UI/UX Design Adobe XD PWA Docker TypeScript Firebase NoSQL React

A location-based social game for Freiburg that I once built an MVP for. The idea was to create a game where users can explore the city and collect points by visiting different locations.

Freiburg Challenge / 2020

What The Flag / 2019 github repo

Express.js MongoDB Linux Docker JavaScript React PWA

A Quizduell-like game with questions about countries, capitals and flags where users can challenge each other. Developed for my roommates as a Progressive Web App with the MERN Stack.

What The Flag / 2019

Sudoku Android App / 2016 github repo

Java Android Firebase Google Play Store

A native android app to learn and play sudoku puzzles. I started this project in early 2016 because I wanted to know how native app development works. After publishing the first version I made a total revamp including a new design and a Sudoku of the Week.

Sudoku Android App / 2016

Lokalrunde / 2020 github repo

Hackathon AngularJS Firebase

For the Germany-wide online hackathon #WirVsVirus, my team designed and prototyped an app to support local bars and cafes during the Covid-19 crisis.

Lokalrunde / 2020

Smart Coffee / 2015 watch video

Arduino C++ 3D-Printing Embedded

As part of a student project a fellow student and I hacked a coffee machine to accept orders via wifi. We also built a robot arm to serve cups and improved some sensors.

Smart Coffee / 2015

Tutorial Runner Game / 2015 watch video

Unreal Engine C++ Game Dev

Back in 2015 I dreamed of being a game developer. So I decided to try out the Unreal Engine. After completing a tutorial I created this runner game. I also composed the music, created the game sounds and some textures.

Tutorial Runner Game / 2015

Board Games App / 2018 Watch demo

Cordova Framework7 Mockup Prototype

A functional mockup for a board games community app based on Framework7 and Cordova/Phonegap I designed for a friend's student project.

Board Games App / 2018

Sudoku Solver / 2016 github repo

Java Desktop Algorithms

A Java GUI application to solve Sudokus, created out of curiosity back in 2016. I wanted to find out if I could come up with a Sudoku-solving algorithm on my own.

Sudoku Solver / 2016

ML Classification / 2016 github repo

AI Python Machine Learning Java Classification

After completing an online course about Machine Learning I played around with the MNIST-dataset, implemented my own version of a genetic algorithm and coded a feed-forward neural network.

ML Classification / 2016

Wirkraft / 2018 Visit website

Vue.js Cordova CouchDB Android HTML CSS JavaScript

In 2018 I developed a native android app, a hybrid app and several features for the web backend of a community platform.

Wirkraft / 2018

MSH Sportpferde / 2017 Visit website

HTML CSS Web Design Online Marketing Instagram Google

As a webdesign freelancer I designed and (hand-)coded the website for an equestrian farm. Later they asked me to help build an online presence. That's kind of how I got into online marketing.

MSH Sportpferde / 2017

Meisterwunder Pop-up Store / 2015 watch video

Startup Art

As my first startup-like project, a friend and I opened a pop-up store before Christmas 2015. We offered custom portrait art and showed some art hacking experiments at our opening.

Meisterwunder Pop-up Store / 2015

Wiwili / 2019 Play with it

Data Visualisation D3.js Open Data

In Freiburg there's a bridge called Wiwili and it has a bicycle counter built into the ground. I downloaded the data from FRITZ (the open data platform of Freiburg) and used it to play around with D3.js.

Wiwili / 2019

Project 0742 / 2016 watch video

HTML CSS Node.js Web Design

A simple website maker I made to learn some Node.js stuff. Sadly, I lost the final version of my code and this repo only represents the alpha version.

Project 0742 / 2016

Kuunery / 2019

Online Marketing Instagram Shopify Art

As an experiment in online marketing I invented an art magazine startup, set up an online shop with Shopify and used Instagram for marketing.

Kuunery / 2019

Country Quiz NPM Module / 2019 npm package

NPM Travis CI Documentation Test Coverage JavaScript

I created this module as part of the What The Flag project and published it to NPM just out of curiosity. It lets you create questions and quizzes about countries, flags and capitals. Later, I used this as a training project for testing and Travis CI.

Country Quiz NPM Module / 2019