Constant deprecation and breaking changes in npm packages cause "software rot" even for content-focused frontend micro-sites like my personal portfolio website. Thanks to progressive enhancement and static site building using Eleventy's JAMStack framework, I can still update my content and run my existing npm build jobs, but that's not the biggest problem, anyway.

Coding in the Age of Constant Deprecation?
Ingo Steinke, web developer ・ Aug 7
I've come a long way, from Notepad++, Dreamweaver, Flash and Perl to the ever-channging modern frontend-focused full-stack web development and a diverse range of conceptual approaches, including
- Tutorial-Driven Development (we're all beginners at some point)
- Invoice-Driven Development (driven by customer demands)
- Content-Driven Development (focusing on marketing and SEO)
- Emotion-Driven Development (getting upset about WordPress and Shopware)
- Test-Driven Development (better quality control)
- Test-Assisted Development (a more pragmatic compromise)
- CV-Driven Development (React Recap, Astro, TypeScript, Tailwind)
My personal portfolio project saw a major relaunch in 2021, replacing its initial placeholder-business-card predecessor from 2012.

Creating a Fast ⚡ and Beautiful 🌼 Portfolio Website using HTML, CSS 🎨, Eleventy and Netlify
Ingo Steinke, web developer ・ Feb 23 '21
It's still mostly in the same state, a little less concise and more accessible, thanks to some half-hearted minor updates. The tech stack includes JavaScript/ES6, Babel, ESLint, HTML 5, CSS 3, PostCSS, Stylelint, Eleventy (11ty), Liquid, Netlify (for cloud hosting), CodeceptJS and BrowserStack (for testing), Git and GitHub for versioning and project management, and npm to update most of this software.
Not explicitly listed: http-server for a local preview, PHP for some simple back-end tasks, esbuild as a lightweight alternative to Webpack, and JSDoc as a lightweight alternative to TypeScript.

Upgrading and refactoring a portfolio web project
Ingo Steinke, web developer ・ Jan 23 '24
Having neglected to maintain my personal portfolio website project for a while, it proves that there can be technical debt even in a very small project.
Upgrading and refactoring a portfolio web project
- improve test coverage before anything else
- fix navigation inconsistencies
- fix graphic and typographic inconsistencies
- fix inconsistent code
- upgrade outdated software components
- add case studies
- revise landing pages for specific audiences
- end-customers (startups, small businesses, preferably with an ethcial focus)
- recruiters and "agencies" (B2B web development companies)
- fellow developers to collaborate with
- designers to collaborate with.
While this is still mostly focused on design, content and marketing, the "non-functional" aspects include
- ensure and improve accessibility and usability
- ensure and improve "web performance" (loading speed)
- ensure and improve maintainablility (decrease "technical debt")
- follow modern coding best practices.
Strategies and Synergies
Strategies for better maintainability and coding assistance:
- use popular mainstream tools
- replace Codecept by Cypress or Playwright
- evaluate if Eleventy is still a good choice
- verify that the code still follow current best practices
- verify that LLM-based AI tools can "understand" my code
As a part of my professional marketing strategy,
- ensure that my content is consistent across
- my portfolio website (Ingo-Steinke.de)
- my blog posts (DEV, Open Mind Culture, Substack)
- social media
- CV (PDF documents)
- public profiles (LinkedIn, Freelancermap, GitHub Pages, etc.)
- internal profiles (recruiters, business partners)
- business cards
Atomic Steps
Prioritize, avoid perfection, and split work it into small, actionable units, and use a straightforward tool like GitHub projects to track and organize.
Top comments (10)
I believe GitHub Projects could be improved to be more useful. It's just not there yet. I'm a linear enjoyer.
But yea, this reminds me I need to do some plumbing and fixing on my websites as well.
I think I've been doing that lately xD
Nice approach
Constant refactoring keeps the code healthy, and adding some automated tests could make it even more maintainable.
Great post
"avoid perfection" ... great advice @ingosteinke
If I try to make an AI agent produce higher-quality code than an average engineer and be more deterministic than an average human being, yet the agent costs under $100 a month to run, am I being an idiot?
If someone would make an AI agent constantly producing quality code, even on the level of senior engineers, that would be a huge step forward beyond the unreliable and undeterministic hype agents and assistants that everyone keeps discussion right now. So, no, you've got a good goal in the right direction, I guess.
That was actually intended to be a rhetorical question @ingosteinke, but reading my post again I can see I failed that writing task :) What I meant to say is that I sometimes find myself trying to reach perfection when creating my agents. Then I step back and realize I'm already saving a ton of money and trying to perfect the agent is not gaining me much.
Many insights, thank you for sharing!
That's an interesting perspective. Thanks for sharing 😊
Some comments may only be visible to logged-in visitors. Sign in to view all comments.