~> whoami

Ahmad Syamim (syamxm).

Final-year CS student at UiTM Shah Alam, DevSecOps specialisation. I self-host everything I ship — the code, the pipeline, and the server it runs on. Mostly because I want to know how it all actually works.

role student · devsecops host self-hosted / tailscale shell fish status all systems green

Projects

~> ls ~/projects # 7 dirs · sorted by importance

Stack

~> skills ps --all # 42 units · depth = how much of the stack leans on it
infra/6 units
dockerrunning7 projects
debian 13runningevery service
nginxrunningreverse proxy
cloudflare tunnelrunning6 public hosts
tailscalerunning4 projects
bashrunningops scripts
ci-cd/4 units
github actionspassing4 pipelines
gitclean7 projects
docker composerunning7 projects
ssh deployover tailscale4 pipelines
security/9 units
gitleaksgate ok3 pipelines
semgrepgate ok2 pipelines
trivygate ok2 pipelines
ufwenforcinghomeserver
fail2banenforcinghomeserver
crowdsecenforcinghomeserver
jwt + bcryptenforcing4 projects
csrf + rate limitenforcing3 projects
nmapon demandrecon labs
observability/4 units
prometheusscrapinghomeserver
grafanarunninghomeserver
lokiingestingauth + fail2ban logs
umamirunningsyamxm.com
backend/7 units
fastapilistening3 projects
node + expresslistening2 projects
rest api designshipped5 projects
postgresqlrunningcv-api
mongodbrunning2 projects
mariadbrunningbeanthere
redisrunningrate-limited login
frontend/5 units
reactbuilt2 projects
vanilla js + cssbuiltthis site
tailwind cssbuilt2 projects
fluttershippedstudent reminder
android · kotlinbuildingfinal year project
languages/7 units
javascriptfluent4 projects
pythonfluent3 projects
sqlfluent4 projects
bashfluentops scripts
phpworkingbeanthere
javaworkingenigma-java
kotlin · dartworking2 mobile apps

Security posture

~> cat security.txt # security posture — facts, not marketing
CSPdefault-src 'self' — no third-party origins, no inline eval
passwordsbcrypt — salted, work-factor tuned, never reversible
queriesprepared statements only — zero string-built SQL
SASTsemgrep gate — build fails on new findings
secretsgitleaks gate — no key reaches a commit
imagestrivy scan — deploy blocked on known CVEs
transportdeploys over Tailscale SSH; public traffic via Cloudflare Tunnel — zero open inbound ports
requestsCSRF tokens + per-route rate limiting on every mutating path

Contact

~> cat contact.txt

If you're building something similar or just want to talk shop, reach out.

~>
syamxm@homeserver — built by hand, deployed over tailscale 6/6 gates · fail-closed