[{"content":"My server (\u0026ldquo;smartS\u0026rdquo;) runs all the services behind this website: an nginx reverse proxy with Let\u0026rsquo;s Encrypt certificates, file storage, calendar, work tools and more — everything in Docker Compose.\nAn important part of it is my own sync workflow: the configuration of all services lives in a repo and is pushed to the server via scripts. This keeps the server reproducible and every service documents itself in its own INFO.md.\nI occasionally write about individual services and the hurdles I solve along the way in this blog.\n","permalink":"https://smartstevie.de/en/projects/homelab/","summary":"\u003cp\u003eMy server (\u0026ldquo;smartS\u0026rdquo;) runs all the services behind this website: an nginx\nreverse proxy with Let\u0026rsquo;s Encrypt certificates, file storage, calendar,\nwork tools and more — everything in Docker Compose.\u003c/p\u003e\n\u003cp\u003eAn important part of it is my own sync workflow: the configuration of all\nservices lives in a repo and is pushed to the server via scripts. This\nkeeps the server reproducible and every service documents itself in its\nown \u003ccode\u003eINFO.md\u003c/code\u003e.\u003c/p\u003e","title":"My Homelab"},{"content":"A server-rendered Express app with SQLite where group members lend books to each other: ISBN scan via phone camera, lending state machine (requested → borrowed → returning → returned), multilingual (EN/DE) and an admin area.\nBuilt with a \u0026ldquo;boring stack\u0026rdquo; in mind: Express, EJS, SQLite — no build step, no client framework.\n","permalink":"https://smartstevie.de/en/projects/book-exchange/","summary":"\u003cp\u003eA server-rendered Express app with SQLite where group members lend books to\neach other: ISBN scan via phone camera, lending state machine\n(\u003ccode\u003erequested → borrowed → returning → returned\u003c/code\u003e), multilingual (EN/DE) and\nan admin area.\u003c/p\u003e\n\u003cp\u003eBuilt with a \u0026ldquo;boring stack\u0026rdquo; in mind: Express, EJS, SQLite — no build step,\nno client framework.\u003c/p\u003e","title":"Book Exchange"},{"content":"A service that generates one fact plus a small quiz every day and delivers it through the channels you choose — Telegram, Discord webhook, ntfy, email, webhook or RSS. Interactive answers work directly in the Telegram bot or via the API.\nIf no API key is available, the service falls back to Wikipedia and a built-in fact pool.\n","permalink":"https://smartstevie.de/en/projects/dailylearn/","summary":"\u003cp\u003eA service that generates one fact plus a small quiz every day and delivers\nit through the channels you choose — Telegram, Discord webhook, ntfy, email,\nwebhook or RSS. Interactive answers work directly in the Telegram bot or\nvia the API.\u003c/p\u003e\n\u003cp\u003eIf no API key is available, the service falls back to Wikipedia and a\nbuilt-in fact pool.\u003c/p\u003e","title":"dailylearn"},{"content":"Design and build of an enclosure for my 3D printer: a frame made of milled wood, an acrylic hood, an activated carbon filter against odours and a ventilated, quiet printing environment.\nThe enclosure itself was designed in CAD; some small parts (bowden guide, sensor mounts) were printed directly on the printer.\n","permalink":"https://smartstevie.de/en/projects/3d-printer-enclosure/","summary":"\u003cp\u003eDesign and build of an enclosure for my 3D printer: a frame made of milled\nwood, an acrylic hood, an activated carbon filter against odours and a\nventilated, quiet printing environment.\u003c/p\u003e\n\u003cp\u003eThe enclosure itself was designed in CAD; some small parts (bowden guide,\nsensor mounts) were printed directly on the printer.\u003c/p\u003e","title":"3D Printer Enclosure"},{"content":"A sturdy table for my CNC router: a frame made of birch plywood, a bolted-on spoiler-board layout with threaded inserts and integrated dust extraction so the chips don\u0026rsquo;t pile up in the workshop.\nThe table keeps the router accurate enough to machine larger workpieces from wood and aluminium.\n","permalink":"https://smartstevie.de/en/projects/cnc-router-table/","summary":"\u003cp\u003eA sturdy table for my CNC router: a frame made of birch plywood, a bolted-on\nspoiler-board layout with threaded inserts and integrated dust extraction\nso the chips don\u0026rsquo;t pile up in the workshop.\u003c/p\u003e\n\u003cp\u003eThe table keeps the router accurate enough to machine larger workpieces\nfrom wood and aluminium.\u003c/p\u003e","title":"CNC Router Table"},{"content":"A cube of 64 LED animation dots, hand-soldered on self-etched boards. The firmware runs on a microcontroller, animates patterns and can be controlled via a small web UI or over serial.\nA project that combines electronics, soldering and firmware development — from schematic to finished animation.\n","permalink":"https://smartstevie.de/en/projects/led-cube/","summary":"\u003cp\u003eA cube of 64 LED animation dots, hand-soldered on self-etched boards. The\nfirmware runs on a microcontroller, animates patterns and can be controlled\nvia a small web UI or over serial.\u003c/p\u003e\n\u003cp\u003eA project that combines electronics, soldering and firmware development —\nfrom schematic to finished animation.\u003c/p\u003e","title":"LED Cube"},{"content":"Welcome to my site!\nThis is my digital showcase: a gallery of the projects I\u0026rsquo;m currently working on or have built in the past — sorted by type, from software projects over 3D printing to the CNC workshop — plus a blog where I note down what I learn along the way.\nThe site itself is part of my homelab and is built from a repo (Hugo + PaperMod behind the nginx proxy). That fits the bar I set for my own projects: lean, maintainable, under my control.\nEnjoy browsing — and if you have questions or ideas, the contact details are in the imprint.\n","permalink":"https://smartstevie.de/en/blog/welcome/","summary":"\u003cp\u003eWelcome to my site!\u003c/p\u003e\n\u003cp\u003eThis is my digital showcase: a gallery of the projects I\u0026rsquo;m currently working\non or have built in the past — sorted by type, from software projects over\n3D printing to the CNC workshop — plus a blog where I note down what I learn\nalong the way.\u003c/p\u003e\n\u003cp\u003eThe site itself is part of my homelab and is built from a repo\n(Hugo + PaperMod behind the nginx proxy). That fits the bar I set for my\nown projects: lean, maintainable, under my control.\u003c/p\u003e","title":"Welcome!"},{"content":"I\u0026rsquo;m Stefan — a student with a passion for software and hardware.\nI enjoy building things, both digital and physical. I develop web applications and work on my own software projects — most of all around programming, AI and mathematics. Besides that I run my own server with a handful of self-hosted services — many of these projects are shown on this site.\nI also spend time in my workshop: the 3D printer produces parts for the next idea, and the CNC router and laser cut or mill wood, aluminium or acrylic into exactly the shape that is needed. What fascinates me most is how software, electronics and physical things come together — from CAD model to running service.\nOn this site I show a selection of my projects and write about what I build and learn in the blog.\nContact Questions or ideas? Write me an email at contact [at] smartstevie [dot] de .\nYou can also find me on GitHub as smartStevie.\n","permalink":"https://smartstevie.de/en/about/","summary":"\u003cp\u003eI\u0026rsquo;m \u003cstrong\u003eStefan\u003c/strong\u003e — a student with a passion for software and hardware.\u003c/p\u003e\n\u003cp\u003eI enjoy building things, both digital and physical. I develop web applications\nand work on my own software projects — most of all around programming, AI and\nmathematics. Besides that I run my own server with a handful of self-hosted\nservices — many of these projects are shown on this site.\u003c/p\u003e\n\u003cp\u003eI also spend time in my workshop: the 3D printer produces parts for the next\nidea, and the CNC router and laser cut or mill wood, aluminium or acrylic into\nexactly the shape that is needed. What fascinates me most is how software,\nelectronics and physical things come together — from CAD model to running\nservice.\u003c/p\u003e","title":"About me"},{"content":"Contact This website is a purely private, non-commercial offering.\nOperator: Stefan Email: contact [at] smartstevie [dot] de Liability for content The content of this site is created with the greatest possible care. However, no liability is accepted for its accuracy, completeness and timeliness.\nLiability for links This website may contain links to external third-party websites whose content I cannot influence. The respective provider or operator is always responsible for the content of the linked pages.\n","permalink":"https://smartstevie.de/en/impressum/","summary":"\u003ch2 id=\"contact\"\u003eContact\u003c/h2\u003e\n\u003cp\u003eThis website is a purely private, non-commercial offering.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eOperator:\u003c/strong\u003e Stefan\n\u003cstrong\u003eEmail:\u003c/strong\u003e \u003ca class=\"email-obf\" href=\"#\" rel=\"nofollow noopener\" data-e=\"Y29udGFjdEBzbWFydHN0ZXZpZS5kZQ==\"\u003econtact [at] smartstevie [dot] de\u003c/a\u003e\n\u003c/p\u003e\n\u003ch2 id=\"liability-for-content\"\u003eLiability for content\u003c/h2\u003e\n\u003cp\u003eThe content of this site is created with the greatest possible care. However,\nno liability is accepted for its accuracy, completeness and timeliness.\u003c/p\u003e\n\u003ch2 id=\"liability-for-links\"\u003eLiability for links\u003c/h2\u003e\n\u003cp\u003eThis website may contain links to external third-party websites whose content\nI cannot influence. The respective provider or operator is always responsible\nfor the content of the linked pages.\u003c/p\u003e","title":"Imprint"},{"content":"1. Responsible entity This website is a purely private, non-commercial offering.\nController: Stefan Email: contact [at] smartstevie [dot] de 2. Principle of data minimisation This website is built so that as little personal data as possible is created. It sets no cookies, uses no analytics or tracking services (such as Google Analytics) and loads no external content, fonts or scripts from third parties. Search also runs entirely in the browser.\n3. Server log files When you access the website, processing takes place on my own server in Germany.\nNo access logs are kept. Which pages are visited by which visitors is not logged. Only in the event of a technical fault can an error log be written. It may contain the IP address, the time and the requested URL. This data is used solely to fix the fault, is not analysed and is not combined with any other data. The legal basis for processing is Art. 6(1)(f) GDPR (legitimate interest in the secure and stable operation of the website).\n4. Local browser storage (not a cookie) The site offers a light/dark mode toggle. Your selection is stored exclusively in the local browser storage (localStorage) of your device and never leaves it. This is not a cookie and no data is transmitted to the server.\n5. No transfer to third parties No third-party services are embedded (no CDNs, no fonts, no embedded media). Accordingly, no data is transmitted to third parties when visiting this site, and there is no transfer to third countries.\n6. Contact by email If you email me at the address above, I process your email address, your name (if you provide it) and the content of the message in order to answer your request. Receiving and storing the mail takes place on my own mail server, which is also operated in Germany; no data is passed on to third parties.\nThe legal basis is Art. 6(1)(b) GDPR where the request aims at entering into or performing a contract, otherwise Art. 6(1)(f) GDPR (legitimate interest in handling contact requests). The data is deleted once it is no longer needed to handle the request and no statutory retention obligations apply.\n7. Encryption The website is served over HTTPS. The connection between your browser and the server is encrypted.\n8. Rights of data subjects Under the GDPR you have the right to access, rectification, erasure, restriction of processing, data portability and objection. Contact the email address above to exercise these rights.\nYou also have the right to lodge a complaint with a data protection supervisory authority — usually the authority of your habitual residence or the authority responsible for the controller.\n","permalink":"https://smartstevie.de/en/datenschutz/","summary":"\u003ch2 id=\"1-responsible-entity\"\u003e1. Responsible entity\u003c/h2\u003e\n\u003cp\u003eThis website is a purely private, non-commercial offering.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eController:\u003c/strong\u003e Stefan\n\u003cstrong\u003eEmail:\u003c/strong\u003e \u003ca class=\"email-obf\" href=\"#\" rel=\"nofollow noopener\" data-e=\"Y29udGFjdEBzbWFydHN0ZXZpZS5kZQ==\"\u003econtact [at] smartstevie [dot] de\u003c/a\u003e\n\u003c/p\u003e\n\u003ch2 id=\"2-principle-of-data-minimisation\"\u003e2. Principle of data minimisation\u003c/h2\u003e\n\u003cp\u003eThis website is built so that as little personal data as possible is created.\nIt sets \u003cstrong\u003eno cookies\u003c/strong\u003e, uses \u003cstrong\u003eno analytics or tracking services\u003c/strong\u003e (such as\nGoogle Analytics) and loads \u003cstrong\u003eno external content, fonts or scripts\u003c/strong\u003e from\nthird parties. Search also runs entirely in the browser.\u003c/p\u003e","title":"Privacy Policy"}]