Skip to content
Back to Case Studies
Next.jsGitHub PagesStatic WebsiteAdmin PanelAutomation

How I Made My Static Website Editable — Without a Server or Database

This portfolio site is hosted completely free with no server behind it. Here's how I still gave myself a private dashboard to update every part of it from a browser, without adding a server or a database.

July 18, 2026Personal Project3 min read
Share:

The Problem

This portfolio site is hosted for free, and the hosting only serves fixed, unchanging pages — there's no server running behind it, and no database. That's great for cost and reliability, but it meant every small update — a new job, a new testimonial, a tweak to a project description — required me to open the code myself, edit it by hand, and publish it. There was no simple way to update the site's content the way you'd update a normal website through an admin dashboard, without paying for hosting or running a database somewhere.

The Solution

I built a private control panel, locked behind a password, that lets me edit every part of the site — experience, projects, services, testimonials, and more — directly from a browser, from any device.

Behind the scenes, all of the site's content is stored as simple, organized files inside the same project that runs the website. The control panel doesn't talk to a database — it talks directly to where those files already live. When I save a change in the panel, it writes the update straight back into the project itself, the same way I would if I were editing the code by hand — except now it happens automatically, in seconds, from a form instead of a code editor. The website then rebuilds and republishes itself automatically, the same way it already does whenever I ship a code change.

To keep it safe, the control panel sits behind a password screen, and beyond that, a personal access key that only I have is required before any change can actually be saved. Without that key, nothing can be published — someone could reach the login screen, but they could never change anything on the live site.

I also designed it to behave like a proper content editor, not just a raw text form:

  • Photo uploads — I can upload a new photo for a testimonial or project, and the panel replaces the old one automatically so nothing unused is left behind.
  • Reordering — I can rearrange items (like which testimonial shows first) with simple up/down controls, and nothing changes on the live site until I explicitly hit "Save."
  • Show/hide toggles — Any section, like a menu link or an entire page, can be hidden from visitors with one checkbox, without deleting the content — useful for drafts I'm not ready to publish yet.

The Results

  • A fully editable website — content updates now take seconds from a form, not a code change and a manual publish.
  • Still completely free to host, since no database or server was added — it's the exact same lightweight, free website underneath.
  • Every change is automatically recorded with a full history, the same way the rest of the website's code already is — so I can always see what changed and undo it if needed.
  • I can now update the site from my phone or any browser, without opening a code editor.