.profile/README.md

90 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 the FamWake Family Alarm, a smart alarm clock app that replaces a family's morning stress with structure and relaxation.
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
**[Pulse](/thefraggle/pulse)** – A modern, self-hostable Mentimeter alternative for live polling and wordclouds.
*Stack:* React (Vite), Tailwind CSS v4, Socket.io, Node.js/Express, Prisma (SQLite)
👉 **[Live Demo](https://pulse.goork.de/GHJGCM)** | **[Source Code](/thefraggle/pulse)**
**[MapFlip](/thefraggle/mapflip)** – Automatically redirect Apple Maps links to Google Maps on Android. Set up once, then it works invisibly in the background. 🏆 *#2 Daily Winner on Uneed*
*Stack:* Kotlin, Jetpack Compose (Material 3)
👉 **[Download on Google Play](https://play.google.com/store/apps/details?id=de.goork.mapflip)** | **[Download APK](/thefraggle/mapflip/releases)** | **[Source Code](/thefraggle/mapflip)**
#### 📱 Apps & Web Projects
**FamWake (Family Alarm)** – A smart alarm clock app designed to replace a family's morning stress with structure and relaxation. 🏆 *#3 Daily Winner on Uneed*
*Stack:* Kotlin, Jetpack Compose, Swift, SwiftUI, Firebase Auth/Firestore/Cloud Functions, TelemetryDeck, 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)**
**[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)**
**[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
---
### 🛠 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/)
[![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/)
---
### 💬 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)