.profile/README.md

110 lines
9.1 KiB
Markdown
Raw Normal View History

2026-08-13 15:05:09 +02:00
# Hi! I'm Daniel. 👋
[Deutsche Version](./README.de.md)
### Dad 1.0 | Generation X | T-Shirt & Tattoos | Coffee drinker
Between home office, rock concerts and gaming sessions, my heart beats for tinkering and nerding out. I am currently developing SongFlip, a cross-platform music link redirector for Android & iOS, FamWake Family Alarm for stress-free morning routines, and MapFlip. I'm constantly exploring fresh ideas and tinkering on new projects.
2026-08-13 15:05:09 +02:00
When I'm not tweaking new features, you'll probably find me at the next festival or with a controller in my hand. :)
---
### 📂 Featured Projects & Portfolio
#### 🔓 Open Source
**[SongFlip](https://github.com/thefraggle/songflip)** – Automatic, zero-click music link redirector for Android & iOS across Spotify, Apple Music, YouTube Music, Tidal, Deezer, Amazon Music, SoundCloud & Bandcamp.
*License:* GPL-3.0 | *Stack:* Kotlin Multiplatform (KMP), Jetpack Compose, Swift, SwiftUI, Ktor, Firebase Cloud Functions, Aptabase
👉 **[Download on Google Play](https://play.google.com/store/apps/details?id=de.goork.songflip)** | **[iOS Beta (TestFlight)](https://testflight.apple.com/join/c2ceF8ZK)** | **[Landing Page (songflip.link)](https://songflip.link)** | **[Source Code](https://github.com/thefraggle/songflip)**
**[FamWake](https://github.com/thefraggle/familienwecker)** (Family Alarm) – A smart alarm clock app designed to replace a family's morning stress with structure and relaxation. 🏆 *#3 Daily Winner on Uneed*
*License:* GPL-3.0 | *Stack:* Kotlin, Jetpack Compose, Swift, SwiftUI, Firebase Auth/Firestore/Cloud Functions, Aptabase, RevenueCat
👉 **[Download on App Store](https://apps.apple.com/app/famwake-family-alarm-clock/id6770643027)** | **[Download on Google Play](https://play.google.com/store/apps/details?id=de.familienwecker.famwake)** | **[Landing Page (family-alarm.com)](https://family-alarm.com)** | **[Source Code](https://github.com/thefraggle/familienwecker)**
**[MapFlip](https://github.com/thefraggle/mapflip)** – Intercepts map links (Apple Maps, Bing, OpenStreetMap, HERE, Waze) on Android and seamlessly redirects them to your favorite navigation app (Google Maps, Waze, Organic Maps, OsmAnd). 🏆 *#2 Daily Winner on Uneed*
*License:* MIT | *Stack:* Kotlin, Jetpack Compose (Material 3), FOSS Flavor (Zero Permissions) & Play Flavor (Aptabase)
👉 **[Download on Google Play](https://play.google.com/store/apps/details?id=de.goork.mapflip)** | **[Download APK](https://github.com/thefraggle/mapflip/releases)** | **[Landing Page (goork.de/mapflip)](https://goork.de/mapflip/)** | **[Source Code](https://github.com/thefraggle/mapflip)**
**[Pulse](https://github.com/thefraggle/pulse)** – A modern, self-hostable Mentimeter alternative for live polling and wordclouds.
2026-08-23 10:17:42 +02:00
*License:* MIT | *Stack:* React (Vite), Tailwind CSS v4, Socket.io, Node.js/Express, Prisma (SQLite)
👉 **[Live Demo](https://pulse.goork.de/GHJGCM)** | **[Source Code](https://github.com/thefraggle/pulse)**
2026-08-13 15:05:09 +02:00
#### 🌐 Web & Projects
2026-08-13 15:05:09 +02:00
**[goork.de](https://goork.de)** – My central app and service hub showcasing public and private projects (FamWake, MapFlip, Pulse, Goork.it).
*Stack:* Vanilla HTML/CSS/JS (no framework)
👉 **[Visit goork.de](https://goork.de)**
**[goork.it](https://goork.it)** – Lightweight URL shortener featuring custom aliases, auto-expiry, admin dashboard, and n8n API integration.
*Stack:* React (Vite), Tailwind CSS v4, Node.js/Express, Prisma (SQLite)
👉 **[Visit goork.it](https://goork.it)**
2026-08-13 15:05:09 +02:00
**[notthoff.org](https://notthoff.org)** – My central Linktree-style digital business card and hub with a dark glassmorphism design.
*Stack:* Vanilla HTML/CSS/JS (no framework)
👉 **[Visit notthoff.org](https://notthoff.org)**
**[schlawinerdogs.de](https://schlawinerdogs.de)** – A responsive landing page for a dog muzzle consultancy.
*Stack:* Vanilla HTML/CSS/JS
👉 **[Visit schlawinerdogs.de](https://schlawinerdogs.de)**
#### ⚙️ Self-Hosted, Automation & Infrastructure
**Forgejo Git Infrastructure** – My self-hosted Forgejo instance serving as my primary Git forge and development hub, featuring automated push-mirroring and backup replication to GitHub.
*Stack:* Forgejo, Git, Docker, Bash
**n8n Automation ("Neo")** – My self-hosted Telegram-based AI assistant "Neo" built with 15+ n8n workflows, GPT-4o, and various custom tools (mail classification, calendar sync, web research).
*Stack:* n8n, Node.js, Docker, Nginx Proxy Manager, OpenAI API
**Paperless-ngx** – Self-hosted document management system with automated OCR, tagging, and archiving for paperless household organization.
*Stack:* Paperless-ngx, OCR, PostgreSQL, Redis, Docker
**Umami Analytics** – Self-hosted, privacy-first web analytics platform without cookies or tracking banners across all my web projects.
*Stack:* Umami, Next.js, PostgreSQL, Docker
**Aptabase & TeleGoork Analytics** – Self-hosted, privacy-first in-app telemetry for mobile apps backed by ClickHouse & PostgreSQL, aggregated into a custom mobile-first PWA dashboard.
*Stack:* Aptabase, ClickHouse, PostgreSQL, Hono, PWA, Docker
2026-08-13 15:05:09 +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:05:09 +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:05:09 +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:05:09 +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:05:09 +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:05:09 +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:05:09 +02:00
---
### 💬 Let's connect!
[![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)
---
### ✊ Stance
**#fckafd #noafd #fcknzs**
No place for intolerance. 🏳️‍🌈
---
*“Stay hungry, stay foolish (and drink more coffee).”* ☕️
[![Umami telemetry](https://telemetry.goork.de/p/huUqAzoUK)](https://telemetry.goork.de)