This website/server started as a personal site for me to write random blog posts and run some custom software for myself, but over the course of the year, I also started to use it for my freelance work.
Now, it hosts my portfolio (which you're currently looking at) and resume, information on my freelance services, and some web tools for myself and other registered users.
Development Process: I do all of my development using VSCode, git, and the PostgreSQL command line client. I wrote a makefile that uses a few Go and git related commands and rsync for deployment. I also use a very simple custom migration process for database management.
Custom CSS Animations
- I implemented custom site-wide animations without any third-party libraries.
- Uses
transition
andanimation
CSS properties or custom Javascript. - All animations are paused until they enter the viewport.
- Animations play even with Javascript disabled. With some reduced functionality.
- Animations respect user operating system setting for reduced animation and can be disabled via the settings page.
Responsive Design
- I created a design system that looks good on desktop and mobile.
- Operating system dark and light modes are supported.
- Uses CSS
@media
queries override desktop styles for mobile layout. - Uses CSS
@supports
media queries for advanced features.
Efficient, Secure, and Private
- I configured this web server myself and wrote a custom Go-based backend.
- All resources are served via HTTPS.
- No third-party tracking.
- Uses a PostgreSQL server located in the same data center and uses self-written, optimized SQL queries.
- Uses in-process Go memory cache when possible.
Custom Website Admin Pages
- I designed and developed custom website administration features, including Account, Post, Comment, and Color Theme management.
- Backed by PostgreSQL database.
- Supports file uploads and third party (Steam, Spotify, OpenWeather) API management.
- Custom contact form Message handling (with spam management).