# 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 automatischen Zero-Click Musik-Link-Konverter für Android, sowie den FamWake Familienwecker, eine smarte Wecker-App, die den morgendlichen Stress einer Familie durch Struktur und Entspannung ersetzt. Dabei bin ich ständig auf der Suche nach neuen Ideen und baue an weiteren Projekten. 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](/thefraggle/songflip)** – Automatischer Zero-Click Musik-Link-Konverter für Android zwischen Spotify, Apple Music, YouTube Music, Tidal, Deezer & Amazon Music. *Lizenz:* GPL-3.0 | *Stack:* Kotlin, Jetpack Compose (Material 3), OkHttp, Coroutines 👉 **[APK herunterladen](/thefraggle/songflip/releases)** | **Google Play (Closed Testing)** | **[Landingpage (songflip.link)](https://songflip.link)** | **[Quellcode](/thefraggle/songflip)** **[FamWake](/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, TelemetryDeck, 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](/thefraggle/familienwecker)** **[MapFlip](/thefraggle/mapflip)** – Leitet Apple-Maps-Links auf Android automatisch an Google Maps weiter. Einmal einrichten, dann läuft es unsichtbar im Hintergrund. 🏆 *#2 Daily Winner bei Uneed* *Lizenz:* MIT | *Stack:* Kotlin, Jetpack Compose (Material 3) 👉 **[Bei Google Play herunterladen](https://play.google.com/store/apps/details?id=de.goork.mapflip)** | **[APK herunterladen](/thefraggle/mapflip/releases)** | **[Quellcode](/thefraggle/mapflip)** **[Pulse](/thefraggle/pulse)** – Eine moderne, selbst-hostbare Mentimeter-Alternative für Live-Umfragen und Wordclouds. *Lizenz:* MIT | *Stack:* React (Vite), Tailwind CSS v4, Socket.io, Node.js/Express, Prisma (SQLite) 👉 **[Live Demo](https://pulse.goork.de/GHJGCM)** | **[Quellcode](/thefraggle/pulse)** #### 🌐 Webprojekte **[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)** **[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 --- ### 🛠 Tech Stack & Tools [![Kotlin](https://img.shields.io/badge/kotlin-%237F52FF.svg?style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/) [![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/) [![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) [![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/) [![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/) [![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/) --- ### 💬 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)