Home

The Sys.

The Sys.

A Spotify-style documentation browser running on EC2. Built to stay focused.


What This Is

A Node.js/Express server that renders markdown files with a card-based UI featuring:

All your personal docs (system reference, letters, blog posts) accessible via browser at port 3040.


Setup

Components:

  1. Express server (server.js) - Serves markdown files as HTML with Spotify-style UI
  2. Request logging - Every visit logged to access.log
  3. systemd service - Runs as system service, auto-starts on boot, auto-restarts on crashes
  4. PWA support - Manifest, service worker, installable app

Files:


Running the Server

# Start
sudo systemctl start yap

# Check status
sudo systemctl status yap

# View logs
sudo journalctl -u yap -f

Manual (development):

cd /home/ubuntu/workplace/repos/yap
node server.js

Accessing the Blog

URL:

http://[EC2-PUBLIC-IP]:3040

Get your EC2 public IP:

curl -s ifconfig.me

Useful Commands

Service Management:

# Check if running
sudo systemctl status yap

# Start/stop/restart
sudo systemctl start yap
sudo systemctl stop yap
sudo systemctl restart yap

# Disable/enable auto-start on boot
sudo systemctl disable yap
sudo systemctl enable yap

Viewing Logs:

# Access logs (who's visiting)
tail -f /home/ubuntu/workplace/repos/yap/access.log

# systemd logs (server output)
sudo journalctl -u yap -f

# Last 50 lines of systemd logs
sudo journalctl -u yap -n 50

After Making Changes:

# If you edit server.js or markdown files
sudo systemctl restart yap

# If you edit the service file
sudo systemctl daemon-reload
sudo systemctl restart yap

Markdown Frontmatter

Documents use YAML frontmatter for metadata:

---
title: "Document Title"
category: "Personal"
repo: "yap"
dateAdded: "2025-11-25"
tags: ["tag1", "tag2"]
---

# Your content here...

Categories: Personal, System, Stories, Design, Meta, Setup


Adding New Docs

Just add a .md file with frontmatter. It'll show up automatically.

No restart needed - the server scans for markdown files on each load.


systemd Service Configuration

Located at /home/ubuntu/workplace/repos/yap/yap.service (symlinked to /etc/systemd/system/yap.service):

[Unit]
Description=The Sys. Documentation Browser
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/workplace/repos/yap
ExecStart=/usr/bin/node server.js
Restart=on-failure
RestartSec=10
Environment=NODE_ENV=production
Environment=PORT=3040

[Install]
WantedBy=multi-user.target

UI Design


Troubleshooting

Server not responding:

sudo systemctl status yap
sudo journalctl -u yap -n 50

Port 3040 not accessible:

After EC2 restart: Service should auto-start. If not:

sudo systemctl start yap

Built With

Philosophy: Simple. No frameworks. No build step. Just markdown files and a vanilla server.


Last updated: December 2025

READ i