{"id":48521125,"url":"https://github.com/firsttris/firsttris","last_synced_at":"2026-04-07T21:01:30.969Z","repository":{"id":335539251,"uuid":"1146207993","full_name":"firsttris/firsttris","owner":"firsttris","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-17T19:06:02.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-21T23:06:00.023Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firsttris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-30T19:07:33.000Z","updated_at":"2026-02-17T19:06:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/firsttris/firsttris","commit_stats":null,"previous_names":["firsttris/firsttris"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/firsttris/firsttris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firsttris%2Ffirsttris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firsttris%2Ffirsttris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firsttris%2Ffirsttris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firsttris%2Ffirsttris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firsttris","download_url":"https://codeload.github.com/firsttris/firsttris/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firsttris%2Ffirsttris/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-07T21:00:53.588Z","updated_at":"2026-04-07T21:01:30.942Z","avatar_url":"https://github.com/firsttris.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome, I'm Tristan 👋\n\n📍 **Bühl, Germany** | 💻 **Software Craftsman** | 🏢 **[Teufel IT](https://teufel-it.de)**\n\n![Web](https://img.shields.io/badge/-Web-4285F4?style=flat-square\u0026logo=google-chrome\u0026logoColor=white)\n![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat-square\u0026logo=typescript\u0026logoColor=white)\n![Go](https://img.shields.io/badge/-Go-00ADD8?style=flat-square\u0026logo=go\u0026logoColor=white)\n![Node.js](https://img.shields.io/badge/-Node.js-339933?style=flat-square\u0026logo=node.js\u0026logoColor=white)\n![Deno](https://img.shields.io/badge/-Deno-000000?style=flat-square\u0026logo=deno\u0026logoColor=white)\n![Bun](https://img.shields.io/badge/-Bun-000000?style=flat-square\u0026logo=bun\u0026logoColor=white)\n![Astro](https://img.shields.io/badge/-Astro-FF5D01?style=flat-square\u0026logo=astro\u0026logoColor=white)\n![React](https://img.shields.io/badge/-React-61DAFB?style=flat-square\u0026logo=react\u0026logoColor=black)\n![VS Code](https://img.shields.io/badge/-VS_Code-007ACC?style=flat-square\u0026logo=visual-studio-code\u0026logoColor=white)\n![Linux](https://img.shields.io/badge/-Linux-FCC624?style=flat-square\u0026logo=linux\u0026logoColor=black)\n![Docker](https://img.shields.io/badge/-Docker-2496ED?style=flat-square\u0026logo=docker\u0026logoColor=white)\n![Podman](https://img.shields.io/badge/-Podman-892CA0?style=flat-square\u0026logo=podman\u0026logoColor=white)\n\nI’m a **Software Architect \u0026 Developer Experience Expert.** I enjoy building things that make development less painful and systems more resilient.\nCurrently doing some heavy lifting in enterprise environments, but always keeping my hands dirty with Open Source.\n\n## Specialized Consulting\n\nI help companies bridge the gap between complex requirements and maintainable, high-quality software.\nWith a decade of enterprise experience and deep developer tooling knowledge, I make your codebase an asset, not a liability.\n\nHow I can support your team:\n- **Architecture \u0026 Strategic Consulting**: expert feedback on system design and scaling modern software ecosystems.\n- **Modernization \u0026 Refactoring**: migrate legacy codebases to modern, clean, testable, high-performance stacks.\n- **Developer Experience \u0026 Tooling**: build testing and automation infrastructure based on my experience with thousands of users. I help teams build resilient systems and scale developer velocity.\n\nLet's build something that lasts.\n\n[![Website](https://img.shields.io/badge/-Let's_talk-FF5722?style=flat-square\u0026logo=google-chrome\u0026logoColor=white)](https://teufel-it.de) [![Email](https://img.shields.io/badge/-Contact_me-EA4335?style=flat-square\u0026logo=gmail\u0026logoColor=white)](mailto:tristanteufel@googlemail.com)\n\n## Things I built because I needed them\n\n### PWA's\n- 🖥️ **[ccu-addon-mui](https://github.com/firsttris/ccu-addon-mui)** - Modern PWA UI for HomeMatic CCU3 with dashboards and device control\n- 🗄️ **[snapraid-ui](https://github.com/firsttris/snapraid-ui)** - Clean web dashboard for SnapRAID status, sync, and scrub\n- 💨 **[reactive-volcano-app](https://github.com/firsttris/reactive-volcano-app)** - Bluetooth control panel for Storz \u0026 Bickel vaporizers\n- ✈️ **[Flugwetterdaten](https://github.com/firsttris/Flugwetterdaten)** - METAR/TAF viewer and flight weather data for Baden-Airpark\n- 📄 **[astro-cv](https://github.com/firsttris/astro-cv)** - CV site built with Astro and a content-first layout\n- 🌐 **[teufel-it-astro](https://github.com/firsttris/teufel-it-astro)** - Teufel IT website built with Astro, optimized for speed\n\n### Chrome Extensions\n- 🎬 **[chrome.sendtokodi](https://github.com/firsttris/chrome.sendtokodi)** - Send web video streams to Kodi with one click\n- 🧹 **[oneclickhistorycleaner](https://github.com/firsttris/oneclickhistorycleaner)** - One-click browsing history cleaner for Chrome\n\n### VSCode Extensions\n- 🧪 **[vscode-jest-runner](https://github.com/firsttris/vscode-jest-runner)** - The industry-standard Test integration for VS Code. High-performance test orchestration used by thousands of developers to maintain velocity in complex Monorepos.\n- 📦 **[vscode-distrobox-reveal](https://github.com/firsttris/vscode-distrobox-reveal)** - Reveal Folder in Host Explorer from Distrobox containers directly in VS Code\n- 🗣️ **[vscode-speech-language-switch](https://github.com/firsttris/vscode-speech-language-switch)** - Quickly switch VS Code speech recognition language\n\n### Kodi Plugins\n- 📺 **[plugin.video.sendtokodi](https://github.com/firsttris/plugin.video.sendtokodi)** - Stream URLs to Kodi using yt-dlp\n- 🏠 **[repository.sendtokodi](https://github.com/firsttris/repository.sendtokodi)** - Kodi repository for SendToKodi add-ons\n\n\n### Smart Home\n- ⚡ **[esphome-energy-dashboard](https://github.com/firsttris/esphome-energy-dashboard)** - ESPHome-based energy dashboard with realtime charts\n- 🧵 **[esp32c6-thread-router](https://github.com/firsttris/esp32c6-thread-router)** - ESP32-C6 Thread router to extend mesh coverage\n- 📡 **[esp32c6-zigbee-router](https://github.com/firsttris/esp32c6-zigbee-router)** - ESP32-C6 Zigbee router to extend network coverage\n\n### Tools\n\n\n- 📞 **[snom-xml](https://github.com/firsttris/snom-xml)** - Sync Google Contacts to Snom IP phones via XML\n\n\n\n### Archived Projects\n- 📡 **[mfrc522-rpi](https://github.com/firsttris/mfrc522-rpi)** - MFRC522 RFID control library for Raspberry Pi\n- 📦 **[html-webpack-multi-build-plugin](https://github.com/firsttris/html-webpack-multi-build-plugin)** - Webpack plugin for modern/legacy dual builds\n- 🏠 **[node-red-contrib-homematic](https://github.com/firsttris/node-red-contrib-homematic)** - Node-RED nodes for Homematic devices\n- 💾 **[urbackup-docker](https://github.com/firsttris/urbackup-docker)** - Docker image for UrBackup server\n- ⏱️ **[react-track](https://github.com/firsttris/react-track)** - Time tracking app with simple reporting\n- 📹 **[chrome.ipcamviewer](https://github.com/firsttris/chrome.ipcamviewer)** - Chrome IP camera viewer and monitor\n\n## What I'm known for:\n\n🚀 vscode-jest-runner: My contribution to the JS testing ecosystem. Used by thousands of developers to keep their Testing flow smooth.\n\n🏠 IoT \u0026 Hardware: Hacking everything from HomeMatic to Bluetooth-controlled devices. If it has an API (or I can reverse-engineer one), I’ll automate it.\n\n🏗️ Clean Architecture: I’m a big believer in code that stays maintainable even when the requirements go wild.\n\n## Beyond Coding: Catch Me Wingfoiling\n\n![Wingfoiling](./Wingfoiling.jpeg)\n\n[![Instagram](https://img.shields.io/badge/-Follow_me_on_Instagram-E4405F?style=flat-square\u0026logo=instagram\u0026logoColor=white)](https://www.instagram.com/tristan.teufel/)\n\n## Connect\n\n[![Website](https://img.shields.io/badge/-teufel--it.de-FF5722?style=flat-square\u0026logo=google-chrome\u0026logoColor=white)](https://teufel-it.de)\n[![CV](https://img.shields.io/badge/-CV-4CAF50?style=flat-square\u0026logo=read-the-docs\u0026logoColor=white)](https://cv.teufel-it.de)\n[![LinkedIn](https://img.shields.io/badge/-Tristan_Teufel-0077B5?style=flat-square\u0026logo=linkedin\u0026logoColor=white)](https://linkedin.com/in/tristanteufel)\n[![GitHub](https://img.shields.io/badge/-Follow-181717?style=flat-square\u0026logo=github\u0026logoColor=white)](https://github.com/firsttris)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirsttris%2Ffirsttris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirsttris%2Ffirsttris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirsttris%2Ffirsttris/lists"}