Spetsura@terminal:~$ nano site_build_notes.txt

[0] VPS provisioning on Oracle Cloud (Free Tier instance)

- Registered an Oracle Cloud account and activated the Always Free Tier.

- Created a VM instance (Ubuntu 22.04), picking a region with available resources.

- Set up SSH access and updated the system (apt update && apt upgrade).

- Installed UFW, opened ports 22 (SSH), 80 and 443 (HTTP/HTTPS).

[1] Domain registration, DNS setup, Cloudflare integration, HTTPS

- Bought the domain spetsura.com via Dynadot.

- Connected it to Cloudflare (free tier) and configured DNS (A-record pointing to the VPS).

- Enabled proxying and generated an Origin SSL certificate via Cloudflare.

- Deployed the certificate to /etc/ssl/cloudflare/ and configured Nginx for HTTPS.

[2] Ubuntu setup: Nginx, systemd, firewall config

- Installed Nginx via apt, configured site block in /etc/nginx/sites-available/default.

- Added HTTP → HTTPS redirect, enabled gzip compression and basic caching headers.

- Enabled systemd service and ensured Nginx autostarts on boot.

- Configured UFW rules with `ufw allow 'Nginx Full'` and basic security settings.

[3] Manual HTML/CSS structure, no frameworks, responsive layout

- Built the entire HTML/CSS layout from scratch without using templates or frameworks.

- Designed the site in a terminal-style aesthetic, using only plain HTML and CSS.

- Implemented responsive design with media queries.

- Created a modular style.v5.css and linked it using cache-busting (?v=9999).

[4] Scroll-triggered animations with IntersectionObserver

- Used the IntersectionObserver API to animate sections on scroll.

- Elements with .hidden class are revealed by toggling .visible when they enter the viewport.

- Applied to sections like #about-me, #work-experience, and #certifications.

- All handled with plain JavaScript — no libraries involved.

[5] Editing and deploying, cache busting, GitHub integration

- I currently edit and deploy manually using WebStorm, pushing changes directly to the VPS over SFTP/SSH.

- Implemented basic cache busting with query strings (?v=9999) for styles and assets.

- I plan to eventually set up proper CI/CD using GitHub Actions or a similar tool to automate deployments, ensure version integrity, and streamline the publishing process.

[6] Lessons learned and potential improvements

- Proved to myself I can build and deploy a website from scratch without any frameworks.

- Improved my CSS and layout skills, especially around responsiveness.

- Worked with Cloudflare, SSL, and domain-level configurations.

Next steps I’m considering:

- Adding a /resume endpoint or .well-known metadata

- Including a sitemap and better SEO structure

- Eventually building a mini admin interface for dynamic content

← Back to main page