About Peter Shaan
24 years old from Indonesia. I'm a fullstack software engineer with 3+ years of experience shipping apps all the way to production, and also into machine learning & AI, graphic design and video editing. Happiest when I'm building things people actually use.
Back in high school an online course got me obsessed with programming (huge thanks to Kak Justify for kickstarting it). I started out as a local video editor, which made me fall for design and code at the same time. Now I'm all about both.
I truly believe sharing programming knowledge helps people become creators, not just users of apps.
Moments































My toolkit




















Experience
Aug 2025 — now
Fullstack Software Developer
Building the official website and internal products end to end.
Stack: Next.js, Go microservices
Dec 2024 — Jul 2025
Fullstack Software Engineer
Fullstack engineer on internal projects for PT Sarana Multi Infrastruktur, working in Scrum.
Stack: Laravel, Livewire
May 2024 — Aug 2024
Backend Engineer
Led Laravel backend development for the website and web app.
Revived and migrated Peduly.com and its admin panel, and built the Midtrans payment integration from scratch.
Aug 2023 — May 2024
Website Developer
Led design, development and deployment of unai.edu and news.unai.edu.
Built new features and data queries for the UNAI administrator module.
Writings
- AI Prompts CollectionA growing collection of AI prompts for image enhancement, logo design, and more.
- go mod tidy with Private GitLabFix go mod tidy failing on private GitLab modules using .netrc for authentication.
- psql Commands I Keep ForgettingQuick reference for everyday PostgreSQL commands — connecting, navigating, and querying.
- Terminal Commands I Keep ForgettingA quick reference for everyday terminal commands — file management, navigation, and useful one-liners.
- Pull Environment Variables from VercelUse Vercel CLI to pull environment variables from your project into a local .env file.
- Check File URL with Node FetchChecking response status and file content-type from a URL using Node.js
- Wrong Base Branch Commitmove a feature branch to another parent branch
- Enable UFW FirewallMengaktifkan firewall UFW dan membuka port aplikasi



