<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Felipe Oñoro</title>
    <description>The latest articles on DEV Community by Felipe Oñoro (@fonoro).</description>
    <link>https://dev.to/fonoro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4100536%2F5433eeb3-83d4-4576-8c1b-874b6ecf306a.jpg</url>
      <title>DEV Community: Felipe Oñoro</title>
      <link>https://dev.to/fonoro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fonoro"/>
    <language>en</language>
    <item>
      <title>20 years of IT operations, and why my side projects have no build step</title>
      <dc:creator>Felipe Oñoro</dc:creator>
      <pubDate>Sun, 30 Aug 2026 01:32:15 +0000</pubDate>
      <link>https://dev.to/fonoro/20-years-of-it-operations-and-why-my-side-projects-have-no-build-step-npd</link>
      <guid>https://dev.to/fonoro/20-years-of-it-operations-and-why-my-side-projects-have-no-build-step-npd</guid>
      <description>&lt;p&gt;I'm Felipe. I've spent more than twenty years managing IT departments, the last seventeen of them at the same organization on the Pacific coast of Costa Rica. The work is infrastructure and operations: fiber networks, directory services, monitoring, and the business systems that have to keep running whether or not anything else does.&lt;/p&gt;

&lt;p&gt;Twenty years of that teaches you something specific. You are the person who gets called when it breaks, and you will be maintaining your own decisions for a very long time. It changes your taste. You stop being impressed by cleverness and start being impressed by &lt;em&gt;still working in year six with nobody touching it&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;On nights and weekends I build web applications, alone. Everything runs on a VPS I administer myself — Git hosting, Postgres, email, the lot. I like composable pieces I can reason about more than managed services I have to trust.&lt;/p&gt;

&lt;p&gt;The current project is a bookmark manager. Not a novel category, I know. It started because my own bookmarks had become a folder tree I never opened, full of links that had quietly died. The part that turned out to be genuinely interesting to build was the link checker: naive URL checking produces false positives constantly, because a surprising share of the web answers &lt;code&gt;403&lt;/code&gt; to anything that looks like a bot. What ships now only flags a link after repeated failures over time, and distinguishes "gone" from "needs a login" from "moved."&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that gets me strange looks
&lt;/h2&gt;

&lt;p&gt;The frontend is vanilla JavaScript. No build step, no bundler, no framework. The backend is PostgREST sitting directly in front of Postgres, with row-level security handling multi-tenancy and most of the business logic living in SQL functions. Background work runs as Python scripts on cron.&lt;/p&gt;

&lt;p&gt;There is no application server of my own anywhere in that description.&lt;/p&gt;

&lt;p&gt;That's deliberate, and it comes straight from the day job. Every layer I add is a layer I'll be debugging at 11pm in three years, alone. So the question I ask about a dependency isn't "is this good?" but "what happens when this breaks and I'm the only one here?"&lt;/p&gt;

&lt;p&gt;It isn't free. There are things a framework would have handed me in an afternoon that cost me a week. Drag and drop is the clearest example: reordering cards across topic columns is a solved problem in every framework ecosystem, and writing it by hand cost me several evenings I would rather have spent elsewhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  The platform kept getting better
&lt;/h2&gt;

&lt;p&gt;I have been programming since before the web. By the time the internet took off in the mid-nineties I was already working in ColdFusion, now almost forgotten, and in PHP, which had just been released. Since then I have watched a long procession of application servers and frameworks arrive, dominate, and quietly disappear.&lt;/p&gt;

&lt;p&gt;In parallel I have watched the core stack — HTML, CSS, JavaScript — get faster and more capable every year. The standards absorbed a great deal of what used to require an external library: &lt;code&gt;fetch&lt;/code&gt; for HTTP, &lt;code&gt;querySelectorAll&lt;/code&gt; for selection, grid and flexbox for layout, custom properties for theming. A surprising amount of what I once reached for a library to do is now simply the platform, and it will still be there when today's frameworks are the next ColdFusion.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I plan to write about
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What PostgREST plus row-level security is actually like as an application backend, including where it stops being a good idea.
&lt;/li&gt;
&lt;li&gt;Building a link checker that doesn't cry wolf.
&lt;/li&gt;
&lt;li&gt;Whatever I learn turning private side projects into something public — the current experiment, and going about as slowly as everyone warns you it will.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you build things solo, run infrastructure you're personally responsible for, or have opinions about how much machinery a small web app really needs, I'd like to hear from you. Especially the disagreements.&lt;/p&gt;

&lt;p&gt;Thanks for reading.  &lt;/p&gt;

</description>
      <category>programming</category>
      <category>discuss</category>
      <category>webdev</category>
      <category>postgres</category>
    </item>
  </channel>
</rss>
