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