56,966 blogs · [ { "id": "01a08781-47cc-7294-bc9d-367f6323a32f", "title": "AI in Production: Agentic Engineering Across the SDLC", "url": "https://www.hansreinl.de/blog/agentic-engineering-across-the-software-development-lifecycle", "published_at": "2026-05-08T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f632641ae", "title": "Beyond the Static Plan: Why I'm Building N+One", "url": "https://www.hansreinl.de/blog/beyond-the-static-plan-why-im-building-nplusone", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f637829b8", "title": "From Vibe Coding to Agentic Engineering", "url": "https://www.hansreinl.de/blog/from-vibe-coding-agentic-engineering", "published_at": "2026-04-24T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f64465986", "title": "Latest LLMs in the Test: GPT 5.1 Codex Max vs. Gemini Pro 3 vs. Opus 4.5", "url": "https://www.hansreinl.de/blog/ai-coding-benchmark-gpt-5-1-gemini-3-opus-4-5", "published_at": "2025-12-07T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f645abb40", "title": "AI Frontend Generator Comparison: Claude Code vs v0 vs Cursor vs Replit", "url": "https://www.hansreinl.de/blog/ai-code-generators-frontend-comparison", "published_at": "2025-10-29T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f653ab142", "title": "Building High-Performing Remote Engineering Teams", "url": "https://www.hansreinl.de/blog/remote-engineering-leadership", "published_at": "2025-01-20T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f65845da7", "title": "Building a Metric Program That Actually Works", "url": "https://www.hansreinl.de/blog/building-effective-metric-program", "published_at": "2024-12-18T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f66448a3d", "title": "How GenAI Transforms the Landscape of Front-End Development", "url": "https://www.hansreinl.de/blog/ai-powered-front-end-development", "published_at": "2023-11-28T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f66a61c26", "title": "The Crucial Role of an Engineering Manager in a Company's Success", "url": "https://www.hansreinl.de/blog/the-crucial-role-of-an-engineering-manager-in-a-companies-success", "published_at": "2023-11-17T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f6770c189", "title": "From Engineer to Engineering Leadership: What You Need to Know", "url": "https://www.hansreinl.de/blog/from-engineering-into-management", "published_at": "2023-09-20T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f67f7f5c4", "title": "Top Software Architecture Podcasts", "url": "https://www.hansreinl.de/blog/top-software-architecture-podcasts", "published_at": "2023-03-17T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f6806f92a", "title": "The AI Future of Frontend Development", "url": "https://www.hansreinl.de/blog/ai-future-of-frontend-engineering", "published_at": "2023-03-06T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f68de9e7b", "title": "Introducing ResumerX - Elevate your CV using AI", "url": "https://www.hansreinl.de/blog/introducing-resumerx-ai-powered-cv", "published_at": "2023-02-14T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f69305bf2", "title": "Scrum Refinement: Achieving Excellence in Your Scrum Process", "url": "https://www.hansreinl.de/blog/scrum-refinement-excellence", "published_at": "2023-01-20T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f697fbf7d", "title": "On Building Successful Engineering Teams", "url": "https://www.hansreinl.de/blog/building-engineering-teams", "published_at": "2023-01-05T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f6a4ca306", "title": "What You Can Do to Advance Your Software Engineering Career", "url": "https://www.hansreinl.de/blog/advance-your-software-engineering-career", "published_at": "2022-07-26T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f6abc9076", "title": "Community Draft - German Speaking Engineering and Design Community", "url": "https://www.hansreinl.de/blog/community-draft", "published_at": "2022-06-09T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f6ba20de2", "title": "Career Path - Advancing in Engineering Roles", "url": "https://www.hansreinl.de/blog/career-path-engineering-roles", "published_at": "2022-05-12T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f6bc9d79b", "title": "Member of The Mentoring Club", "url": "https://www.hansreinl.de/blog/mentoring-club", "published_at": "2022-03-07T00:00:00+00:00" }, { "id": "01a08781-47cc-7294-bc9d-367f6c16dd0e", "title": "How to Keep 1.6 Million Podcasts Up to Date", "url": "https://www.hansreinl.de/blog/keeping-up-with-podcast-updates", "published_at": "2022-01-10T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab29b52ad", "title": "6 Podcasts for Tech Leads, Engineering Managers & Software Architects", "url": "https://www.hansreinl.de/blog/engineering-leads-podcasts", "published_at": "2021-10-15T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab376f3e7", "title": "Sunsetting Warhol", "url": "https://www.hansreinl.de/blog/sunsetting-warhol", "published_at": "2021-07-28T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab3b22e8e", "title": "Starting with Deno - porting an existing Express application", "url": "https://www.hansreinl.de/blog/starting-with-deno-porting-express-app", "published_at": "2020-05-20T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab3be479a", "title": "Introducing Warhol", "url": "https://www.hansreinl.de/blog/introducing-warhol", "published_at": "2019-09-25T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab476aa55", "title": "Structuring Complex Components with Conceptual Components", "url": "https://www.hansreinl.de/blog/conceptual-components", "published_at": "2019-09-24T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab4bdc5d0", "title": "Migrating from JavaScript to TypeScript in a Real World React Project", "url": "https://www.hansreinl.de/blog/from-js-to-typescript", "published_at": "2019-09-07T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab4eba196", "title": "The change of a developer’s advance", "url": "https://www.hansreinl.de/blog/cycle-of-development", "published_at": "2018-03-06T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab56a9117", "title": "I got the keys: Communication", "url": "https://www.hansreinl.de/blog/i-got-the-keys-communication", "published_at": "2017-08-12T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab62b66ad", "title": "How to set up a Node.js app on Heroku in 6 steps", "url": "https://www.hansreinl.de/blog/how-to-set-up-herokuapp", "published_at": "2017-01-31T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab69142ed", "title": "⚡ Transmit content from any Contentful type to Algolia indexes", "url": "https://www.hansreinl.de/blog/contentful-to-algolia", "published_at": "2017-01-26T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab74dac35", "title": "Solving npm scripts problems in JavaScript projects", "url": "https://www.hansreinl.de/blog/solving-npm-scripts-problems", "published_at": "2017-01-02T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab7cf6e56", "title": "A Checklist for Website Reviews", "url": "https://www.hansreinl.de/blog/frontend-checklist", "published_at": "2016-12-05T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab8c17005", "title": "Simplicity in Front-End Tooling", "url": "https://www.hansreinl.de/blog/simplicity-in-front-end-tooling", "published_at": "2015-10-05T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab93cab21", "title": "Testing ES6 Modules with Mocha using Babel with Browserify", "url": "https://www.hansreinl.de/blog/es6-modules-using-browserify-mocha", "published_at": "2015-08-17T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab9787d20", "title": "Using npm as a build system for your next project", "url": "https://www.hansreinl.de/blog/npm-builds", "published_at": "2015-08-04T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ab97bb9a4", "title": "Learnings from using Sass in large scale projects", "url": "https://www.hansreinl.de/blog/learnings-from-using-sass-in-large-scale-projects", "published_at": "2015-04-22T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390aba4d024e", "title": "Introducing INIT – A Boilerplate Framework for Front-End Projects", "url": "https://www.hansreinl.de/blog/init-boilerplate-framework-front-end-projects", "published_at": "2013-11-20T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abb0d1759", "title": "Add the -Element to Modernizr 2.6.2", "url": "https://www.hansreinl.de/blog/add-main-element-modernizr", "published_at": "2013-07-11T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abc007927", "title": "A Few More Words on Accessible Dialogs/Modals", "url": "https://www.hansreinl.de/blog/accessible-dialogs-modals", "published_at": "2013-07-01T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abce12085", "title": "Introducing CSS Modal", "url": "https://www.hansreinl.de/blog/introducing-css-modal", "published_at": "2013-05-06T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abd995502", "title": "Printing The Web", "url": "https://www.hansreinl.de/blog/printing-the-web", "published_at": "2013-03-25T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abe310d62", "title": "Speaking Engagements, the .net-Awards and Freelancing", "url": "https://www.hansreinl.de/blog/speaking-engagements-net-awards-freelancing", "published_at": "2013-03-08T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abe5fd6bc", "title": "TakeOff Conference: Talking About Good Code", "url": "https://www.hansreinl.de/blog/takeoff-conference-talking-about-good-code", "published_at": "2013-01-18T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abf2de509", "title": "The REM Fallback with Sass or LESS", "url": "https://www.hansreinl.de/blog/rem-fallback-sass-less", "published_at": "2013-01-02T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390abf505fb8", "title": "Working Draft Revision 100", "url": "https://www.hansreinl.de/blog/working-draft-100", "published_at": "2012-12-12T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac009a859", "title": "New Resource for Web Devs: The Nitty Gritty", "url": "https://www.hansreinl.de/blog/the-nitty-gritty-new-resource-for-web-devs", "published_at": "2012-12-04T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac0d9c1ce", "title": "Conferencing and Test The Web Forward", "url": "https://www.hansreinl.de/blog/conference-test-the-web-forward", "published_at": "2012-10-10T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac192c430", "title": "Writing Awesome Code – Fronteers Jam Session 2012", "url": "https://www.hansreinl.de/blog/writing-awesome-code", "published_at": "2012-10-05T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac278e576", "title": "Yeoman – Level-up Your Daily Workflow", "url": "https://www.hansreinl.de/blog/yeoman", "published_at": "2012-09-14T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac3743718", "title": "HTML5 Boilerplate v4.0.0", "url": "https://www.hansreinl.de/blog/html5bp-v4-0-0", "published_at": "2012-08-29T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac3ec4dcf", "title": "An Approach on Building an Advanced Initial Boilerplate", "url": "https://www.hansreinl.de/blog/building-advanced-initial-boilerpalte", "published_at": "2012-07-10T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac4ba6deb", "title": "Principles of writing consistent, idiomatic CSS", "url": "https://www.hansreinl.de/blog/principles-of-writing-consistent-idiomatic-css", "published_at": "2012-06-08T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac591162f", "title": "SASS vs. LESS", "url": "https://www.hansreinl.de/blog/sass-vs-less", "published_at": "2012-05-17T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac5d5259b", "title": "My Coding Style and Guidelines", "url": "https://www.hansreinl.de/blog/my-coding-style-and-guidelines", "published_at": "2012-04-23T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac67973f4", "title": "RECESS – A CSS cleaning tool build on top of LESS", "url": "https://www.hansreinl.de/blog/twitter-recess-css-cleaning-tool-build-on-less", "published_at": "2012-04-17T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac7058475", "title": "About CSS Variables", "url": "https://www.hansreinl.de/blog/about-css-variables", "published_at": "2012-03-18T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac7496339", "title": "About The CSS Hierarchies Module Level 3", "url": "https://www.hansreinl.de/blog/the-css-hierarchies-module-level-3", "published_at": "2012-02-17T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac750287a", "title": "Dabblet Chrome App", "url": "https://www.hansreinl.de/blog/dabblet-chrome-app", "published_at": "2012-01-29T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac84302f7", "title": "About Git's Cherry-Picking", "url": "https://www.hansreinl.de/blog/about-gits-cherry-picking", "published_at": "2012-01-06T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac87db80a", "title": "Effects for the Web!", "url": "https://www.hansreinl.de/blog/effects-for-the-web", "published_at": "2011-12-27T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac9032df1", "title": "Is Mothereffin' jQuery Up?", "url": "https://www.hansreinl.de/blog/is-mothereffin-jquery-up", "published_at": "2011-12-07T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ac9688aaf", "title": "Responsive Media", "url": "https://www.hansreinl.de/blog/responsive-media", "published_at": "2011-11-19T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390aca651554", "title": "A Travel Through Time - and Back", "url": "https://www.hansreinl.de/blog/a-travel-through-time-and-back", "published_at": "2011-11-04T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390acaef6bfd", "title": "Lea Verou's Animatable", "url": "https://www.hansreinl.de/blog/lea-verous-animatable", "published_at": "2011-10-30T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390acbb13b8f", "title": "How to Build an Accordion-Menu using CSS and a bit of jQuery", "url": "https://www.hansreinl.de/blog/how-to-build-accordion-using-css-and-jquery", "published_at": "2011-10-23T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390acc9dd779", "title": "Resize Elements with CSS3", "url": "https://www.hansreinl.de/blog/restrict-textareas-resize-css3", "published_at": "2011-10-17T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390accf4e139", "title": "Where Are My Rounded Corners? - German Translation", "url": "https://www.hansreinl.de/blog/where-are-my-rounded-corners", "published_at": "2011-10-10T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390acdf3ac77", "title": "Wo sind meine abgerundeten Ecken?", "url": "https://www.hansreinl.de/blog/wo-sind-meine-abgerundeten-ecken", "published_at": "2011-10-10T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ace06f140", "title": "CSS3: Rotate Images on Click", "url": "https://www.hansreinl.de/blog/css3-rotate-images-on-click", "published_at": "2011-10-02T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ace997b77", "title": "Touch-Icons for Android-Devices: Y U No Working?", "url": "https://www.hansreinl.de/blog/touch-icons-for-android-devices-y-u-no-working", "published_at": "2011-09-23T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390acecee07e", "title": "Text-Shadow in Internet Explorer", "url": "https://www.hansreinl.de/blog/text-shadow-in-internet-explorer", "published_at": "2011-09-14T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390acf0bd887", "title": "HTML5 Boilerplate Favicon PSD-Template", "url": "https://www.hansreinl.de/blog/html5-boilerplate-favicons-psd-template", "published_at": "2011-09-12T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390acfb57786", "title": "Pseudo-Elements in Print-Styles for References in Links", "url": "https://www.hansreinl.de/blog/pseudo-classes-in-print-styles-for-references-in-links", "published_at": "2011-09-08T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ad078b434", "title": "Add Style-Syntax in Comments with `, _ and *", "url": "https://www.hansreinl.de/blog/style-syntax-in-comments", "published_at": "2011-09-04T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ad176fafd", "title": "Offer Files as Download with a@download", "url": "https://www.hansreinl.de/blog/offer-files-as-download-with-adownload", "published_at": "2011-08-28T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ad1ffb1cf", "title": "Mobile Design is not only Responsive", "url": "https://www.hansreinl.de/blog/mobile-design-is-not-only-responsive", "published_at": "2011-08-25T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ad2565dc2", "title": "CSS3: Auto Hyphenation for Text-Elements", "url": "https://www.hansreinl.de/blog/css3-auto-hyphenation-for-text-elements", "published_at": "2011-08-21T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ad32dbcee", "title": "The Difference between Push and Pull", "url": "https://www.hansreinl.de/blog/the-difference-between-push-and-pull", "published_at": "2011-08-20T00:00:00+00:00" }, { "id": "01a08781-47cd-72fc-9ab9-390ad36c9122", "title": "This is what it's all about!", "url": "https://www.hansreinl.de/blog/this-is-what-its-all-about", "published_at": "2011-08-15T00:00:00+00:00" } ] posts Claim your blog
Back to hansreinl.de
Blog · corpus.blog/blogs/hansreinl.de/posts

hansreinl.de

hansreinl.de

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2013

2012

2011