.profile/README.de.md

109 lines
9.2 KiB
Markdown
Raw Normal View History

2026-08-13 15:06:57 +02:00
# Moin! Ich bin Daniel. 👋
[English version](./README.md)
### Papi 1.0 | Generation X | T-Shirt & Tattoos | Kaffeetrinker
Zwischen Home-Office, Rock-Konzerten und Gaming-Sessions schlägt mein Herz fürs Tüfteln und Nerden. Aktuell entwickle ich SongFlip, einen plattformübergreifenden Musik-Link-Konverter für Android & iOS, den FamWake Familienwecker für stressfreie Morgenroutinen sowie MapFlip. Dabei bin ich ständig auf der Suche nach neuen Ideen und baue an weiteren Projekten.
2026-08-13 15:06:57 +02:00
Wenn ich nicht gerade an neuen Features schraube, findet man mich wahrscheinlich auf dem nächsten Festival oder mit einem Controller in der Hand. :)
---
### 📂 Projekte & Portfolio
#### 🔓 Open Source
**[SongFlip](https://github.com/thefraggle/songflip)** – Automatischer Zero-Click Musik-Link-Konverter für Android & iOS zwischen Spotify, Apple Music, YouTube Music, Tidal, Deezer & Amazon Music.
*Lizenz:* GPL-3.0 | *Stack:* Kotlin Multiplatform (KMP), Jetpack Compose, Swift, SwiftUI, Ktor, Firebase Cloud Functions, Aptabase
👉 **[APK herunterladen](https://github.com/thefraggle/songflip/releases)** | **Google Play (Closed Testing)** | **[Landingpage (songflip.link)](https://songflip.link)** | **[Quellcode](https://github.com/thefraggle/songflip)**
**[FamWake](https://github.com/thefraggle/familienwecker)** (Familienwecker) – Eine smarte Wecker-App, die den morgendlichen Stress einer Familie durch Struktur und Entspannung ersetzt. 🏆 *#3 Daily Winner bei Uneed*
*Lizenz:* GPL-3.0 | *Stack:* Kotlin, Jetpack Compose, Swift, SwiftUI, Firebase Auth/Firestore/Cloud Functions, Aptabase, RevenueCat
👉 **[Im App Store laden](https://apps.apple.com/app/famwake-family-alarm-clock/id6770643027)** | **[Bei Google Play herunterladen](https://play.google.com/store/apps/details?id=de.familienwecker.famwake)** | **[Landingpage (familienwecker.de)](https://familienwecker.de)** | **[Quellcode](https://github.com/thefraggle/familienwecker)**
**[MapFlip](https://github.com/thefraggle/mapflip)** – Fängt Karten-Links (Apple Maps, Bing, OpenStreetMap, HERE, Waze) auf Android ab und leitet sie nahtlos an die favorisierte Navigations-App weiter (Google Maps, Waze, Organic Maps, OsmAnd). 🏆 *#2 Daily Winner bei Uneed*
*Lizenz:* MIT | *Stack:* Kotlin, Jetpack Compose (Material 3), FOSS Flavor (Zero Permissions) & Play Flavor (Aptabase)
👉 **[Bei Google Play herunterladen](https://play.google.com/store/apps/details?id=de.goork.mapflip)** | **[APK herunterladen](https://github.com/thefraggle/mapflip/releases)** | **[Landingpage (goork.de/mapflip)](https://goork.de/mapflip/)** | **[Quellcode](https://github.com/thefraggle/mapflip)**
**[Pulse](https://github.com/thefraggle/pulse)** – Eine moderne, selbst-hostbare Mentimeter-Alternative für Live-Umfragen und Wordclouds.
2026-08-23 10:17:42 +02:00
*Lizenz:* MIT | *Stack:* React (Vite), Tailwind CSS v4, Socket.io, Node.js/Express, Prisma (SQLite)
👉 **[Live Demo](https://pulse.goork.de/GHJGCM)** | **[Quellcode](https://github.com/thefraggle/pulse)**
2026-08-13 15:06:57 +02:00
#### 🌐 Webprojekte
2026-08-13 15:06:57 +02:00
**[goork.de](https://goork.de)** – Mein zentraler App- und Service-Hub für öffentliche und private Projekte (FamWake, MapFlip, Pulse, Goork.it).
*Stack:* Vanilla HTML/CSS/JS (ohne Framework)
👉 **[goork.de besuchen](https://goork.de)**
**[goork.it](https://goork.it)** – Schlanker URL-Shortener mit Wunsch-Aliasen, Auto-Expiry, Admin-Dashboard und n8n-API-Schnittstelle.
*Stack:* React (Vite), Tailwind CSS v4, Node.js/Express, Prisma (SQLite)
👉 **[goork.it besuchen](https://goork.it)**
2026-08-13 15:06:57 +02:00
**[notthoff.org](https://notthoff.org)** – Meine digitale Visitenkarte im Linktree-Stil mit einem Dark-Glassmorphism-Design.
*Stack:* Vanilla HTML/CSS/JS (ohne Framework)
👉 **[notthoff.org besuchen](https://notthoff.org)**
**[schlawinerdogs.de](https://schlawinerdogs.de)** – Eine responsive Landingpage für eine Beißkorb-Beratung.
*Stack:* Vanilla HTML/CSS/JS
👉 **[schlawinerdogs.de besuchen](https://schlawinerdogs.de)**
#### ⚙️ Self-Hosted, Automation & Infrastruktur
**Forgejo Git-Infrastruktur** – Meine selbstgehostete Forgejo-Instanz als primäre Entwicklungsplattform und Haupt-Repository, mit automatisiertem Push-Mirroring und Backup-Replikation nach GitHub.
*Stack:* Forgejo, Git, Docker, Bash
**n8n Automation ("Neo")** – Mein selbstgehosteter Telegram-basierter KI-Assistent „Neo“, gesteuert über 15+ n8n Workflows, GPT-4o und diverse Tools (Mail-Klassifizierung, Kalender-Sync, Web-Recherche).
*Stack:* n8n, Node.js, Docker, Nginx Proxy Manager, OpenAI API
**Paperless-ngx** – Selbstgehostetes Dokumenten-Management-System mit automatischer OCR-Texterkennung und Archivierung für die papierlose Organisation.
*Stack:* Paperless-ngx, OCR, PostgreSQL, Redis, Docker
**Umami Analytics** – Selbstgehostete, datenschutzfreundliche Web-Analytics-Plattform ohne Cookies oder Consent-Banner für alle eigenen Webprojekte.
*Stack:* Umami, Next.js, PostgreSQL, Docker
**Aptabase & TeleGoork Analytics** – Selbstgehostete, datenschutzfreundliche In-App-Telemetrie für mobile Apps auf Basis von ClickHouse & PostgreSQL (`telemetry-apps.goork.de`), aggregiert in einem eigenen Mobile-First PWA-Dashboard (`tele.goork.de`).
*Stack:* Aptabase, ClickHouse, PostgreSQL, Hono, PWA, Docker
2026-08-13 15:06:57 +02:00
---
### 🛠 Tech Stack & Tools
[![Kotlin](https://img.shields.io/badge/kotlin-%237F52FF.svg?style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/)
[![Kotlin Multiplatform](https://img.shields.io/badge/Kotlin_Multiplatform-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/docs/multiplatform.html)
2026-08-13 15:06:57 +02:00
[![Swift](https://img.shields.io/badge/swift-F54A2A?style=for-the-badge&logo=swift&logoColor=white)](https://developer.apple.com/swift/)
[![Android](https://img.shields.io/badge/Android-3DDC84?style=for-the-badge&logo=android&logoColor=white)](https://developer.android.com/)
[![iOS](https://img.shields.io/badge/iOS-000000?style=for-the-badge&logo=ios&logoColor=white)](https://developer.apple.com/ios/)
[![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
2026-08-13 15:06:57 +02:00
[![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
[![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)](https://react.dev/)
[![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/HTML)
[![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/CSS)
2026-08-13 15:06:57 +02:00
[![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white)](https://tailwindcss.com/)
[![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)
[![Firebase](https://img.shields.io/badge/Firebase-FFA611?style=for-the-badge&logo=firebase&logoColor=white)](https://firebase.google.com/)
[![PostgreSQL](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white)](https://www.postgresql.org/)
[![Prisma](https://img.shields.io/badge/Prisma-3982CE?style=for-the-badge&logo=Prisma&logoColor=white)](https://www.prisma.io/)
[![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge&logo=sqlite&logoColor=white)](https://www.sqlite.org/)
2026-08-13 15:06:57 +02:00
[![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/)
[![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)](https://www.linux.org/)
[![Nginx](https://img.shields.io/badge/nginx-%23009639.svg?style=for-the-badge&logo=nginx&logoColor=white)](https://nginx.org/)
[![Forgejo](https://img.shields.io/badge/Forgejo-%23F25923.svg?style=for-the-badge&logo=forgejo&logoColor=white)](https://forgejo.org/)
[![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white)](https://git-scm.com/)
2026-08-13 15:06:57 +02:00
[![n8n](https://img.shields.io/badge/n8n-EA4B71?style=for-the-badge&logo=n8n&logoColor=white)](https://n8n.io/)
[![OpenAI](https://img.shields.io/badge/OpenAI-%23412991.svg?style=for-the-badge&logo=openai&logoColor=white)](https://openai.com/)
2026-08-13 15:06:57 +02:00
---
### 💬 Lass uns vernetzen!
[![Website](https://img.shields.io/badge/notthoff.org-My_Hub-222222?style=for-the-badge&logo=safari&logoColor=white)](https://notthoff.org)
[![LinkedIn](https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/daniel-notthoff)
[![Bluesky](https://img.shields.io/badge/Bluesky-0285FF?style=for-the-badge&logo=bluesky&logoColor=white)](https://bsky.app/profile/thefraggle.bsky.social)
[![Instagram](https://img.shields.io/badge/Instagram-%23E4405F.svg?style=for-the-badge&logo=Instagram&logoColor=white)](https://instagram.com/dnotthoff)
---
### ✊ Haltung
**#fckafd #noafd #fcknzs**
Kein Platz für Intoleranz. 🏳️‍🌈
---
*“Stay hungry, stay foolish (and drink more coffee).”* ☕️
[![Umami telemetry](https://telemetry.goork.de/p/huUqAzoUK)](https://telemetry.goork.de)