The Making of Sarah's Forge .Dev

Every developer, at some point, gets the itch to build their own little corner of the internet. A place to host projects, share ideas, and maybe even sell a digital product or two. This site, Sarah's Forge, is the result of me scratching that itch. Instead of reaching for a pre-built CMS like WordPress or a heavy framework, I decided to build it from the ground up, the old-fashioned way: with pure PHP, a dash of SQL, and a clear vision.

This post is a look "under the hood" at the tech, the features, and the lessons learned while forging the Forge.

The Philosophy: Keep it Simple, Keep it Fast

In a world of complex JavaScript frameworks and multi-megabyte library bundles, I wanted to go in the opposite direction. The core philosophy of this site is simplicity and performance.

The entire backend is powered by vanilla PHP connected to a MySQL database. There are no large frameworks abstracting the process; every query, every session, and every file upload is handled directly. This approach offers a few key advantages:

  • Blazing Speed: With no overhead from third-party frameworks, pages are incredibly light and load almost instantly.
  • Total Control: Every line of code serves a specific purpose. This makes debugging straightforward and customization limitless.
  • A Learning Experience: Building from scratch forces a deeper understanding of how the web actually works, from handling HTTP requests to securing a user's session.

The frontend is equally lean, using vanilla JavaScript only where necessary for interactive elements like the shopping cart and the terminal-style "typing" animation on the homepage.

Core Features: A Modular Build

The site wasn't built all at once. It was assembled as a series of distinct, modular features that all plug into the central system. Here are some of the key components we've built:

  • Dynamic Admin Panel: A secure, tabbed dashboard for managing all site content.
  • User Authentication: A complete system for local registration and login, augmented with a Discord OAuth2 integration for social logins.
  • Blog & Portfolio: Both are powered by Markdown (Parsedown.php for rendering), allowing for easy content creation directly from the admin panel.
  • Digital Storefront: A complete e-commerce solution with a product management backend.
  • Shopping Cart & Invoicing: A session-based shopping cart and a custom invoicing system for my consulting work.
  • Stripe Integration: Secure payment processing for both store products and client invoices, managed via the Stripe Checkout API.
  • GitHub Integration: An admin tool that connects to the GitHub API via cURL to automatically pull in my latest open-source projects.

The Look & Feel: A Retro-Terminal Vibe

I wanted the design to reflect a developer's workspace. The aesthetic is heavily inspired by modern code editors and terminal color schemes.

The core of the design is a simple color palette and two carefully chosen fonts:

  • Fira Mono: Used for headers, navigation, and code snippets to give everything a distinct, technical feel.
  • Inter: A clean, highly readable sans-serif font used for body text.

This combination, along with the "window card" layout for content blocks, creates the feeling of navigating a desktop environment, which is exactly the vibe I was going for.

Challenges & Lessons Learned

Building from scratch isn't without its challenges. The two biggest hurdles were OAuth integration and server permissions. Getting the infamous "invalid redirect uri" error from Discord's API was a lesson in meticulous configuration. Similarly, the classic "permission denied" error on file uploads was a stark reminder of how critical proper server administration (chmod and chown) is.

One of the most valuable lessons was the power of reusable components. Early on, many pages had duplicated HTML for the header and footer. Refactoring this into a simple template system was a huge win for maintainability.