// hobby developer · Stuttgart, Germany

Hi, I'm Nikita.
I build bots, firmware & tools.

14-year-old student at Wilhelms-Gymnasium Stuttgart, into software architecture, automation and hardware–software integration. Lead maintainer of telegraf-hardened and a few other open-source organizations.

33 public repos on GitHub since 2022 bot: @siakinnik-assistant
Nikita Siakin's GitHub avatar

01Tech stack

What I reach for most often.

Languages

JavaScriptTypeScript C++ learningJava learning

Backend & bots

Node.jsExpress Telegraf.jsnode-telegram-bot-api

Hardware / IoT

ESP32ESP8266PlatformIO ArduinoWebSocketsFastLED

Data & AI

SQLiteGoogle Gemini APIREST APIs

02Projects

Curated list · loading live data from GitHub…

maintainer

telegraf-hardened

Hardened Telegraf.js: strict input validation, fail-fast initialization, and community bug fixes that upstream ignored.

TypeScriptMIT
latest

LumenC3

Firmware for driving WS2812B / SK6812 addressable LED strips from an ESP32-C3 SuperMini. PlatformIO + FastLED.

C++GPL-3.0

UntisTelegramBotV2

WebUntis timetable bot with instant notifications for substitutions and cancellations. AI-powered, speaks RU / EN / DE.

JavaScriptGemini

oracle-free-vps-catcher

Node.js tool using the native OCI REST API to keep requesting Always Free Ampere ARM instances in congested regions, controlled via Telegram.

Node.jsGPL-3.0

KahootFlow

Telegram client for Kahoot! sessions: real-time game stream monitoring, optional answer lookup and interactive session management.

TypeScript

film-finder-bot

AI-powered Telegram bot that finds movies from a description. Telegraf.js, Gemini API and SQLite, with sessions and RU/EN/DE.

JavaScriptGemini

essembly-monitor

Lightweight C++ bot that watches the Essembly makerspace status via SpaceAPI and pings Telegram when it changes.

C++MIT

roomba-websocket

ESP8266 firmware that lets you drive a Roomba over WebSockets (tested on the e5).

C++ESP8266

InventoryManager

Open-source platform for tracking devices, components and materials across workshops, labs, small production and hobby projects.

Open source

sqlite-CLI

Command-line tool for working with SQLite databases, available in C++ and Node.js versions.

C++ · Node.js

birdhouse

3D-printable, weather-resistant birdhouse for titmice and other small birds, tuned for easy printing on consumer printers.

3D print

TelegramSubscriptionBot

Telegraf bot that lets users download a file only after they subscribe to a channel.

JavaScript

max-bot-api-client-hardened

Hardened fork of the Max Bot API client: fixed MIT attribution to Telegraf.js, better typings, optimized network core.

TypeScript

WebUntis-js-api-hardened

Hardened JavaScript WebUntis API client, used under the hood by my Untis bots.

JavaScriptMIT

03Activity

My GitHub contributions over the last year.

Loading…

04Petition

Why this site's legal page looks the way it does.

Petition 201428 · German Bundestag · 25 May 2026

Reform the Impressum obligation for non-commercial projects

German law (§ 5 DDG) can force private developers, open-source maintainers and clubs (e.V.) to publish their home address online — even minors. Vague terms like “geschäftsmäßig” mean a GitHub link or a donation button can be read as commercial activity, and formal mistakes get monetized by a paid-warning (Abmahnung) industry.

No visitor scans a private site for an Impressum. The rule protects nobody from fraud — it just makes citizens and minors expose where they live. An email address is enough to get in touch.

I filed this petition asking the Bundestag to fix that.

  1. Safe harborFull exemption from the Impressum duty for non-commercial projects — private, open-source, e.V. Server donations must not count as “commercial”.
  2. Judge the source, not the renderDisclosure duties assessed on server-delivered source code, not browser display. Machine-readable APIs/JSON fully exempt.
  3. Standard privacy noticeA legally standardized short-form privacy policy for non-commercial sites.
  4. Stop paid first warningsNotice-and-takedown instead: no costly first Abmahnung for formal DDG/GDPR errors, plus a free 14-day correction period.