Personal portfolio and technical hub focused on Network Automation, Software-Defined Networking, NDN/ICN, LEO/NTN systems, Go backend systems, distributed systems, and future network architectures.
https://yasinenginn.github.io/
This site presents my engineering projects, case studies, technical notes, research reading list, Netreka Academy content, CV, and contact information. It is designed as a professional portfolio system rather than a single static landing page.
Primary identity:
Yasin Engin - Computer Engineering Student | Network Automation, Future Networks & Go Distributed Systems
Short profile line:
I build reproducible network automation labs, future-network research experiments, and Go-based distributed systems.
- Network Automation
- Software-Defined Networking
- Named Data Networking / Information-Centric Networking
- LEO Satellite Networking / NTN
- Go Backend Systems
- Distributed Systems
- CCNA / CCNP Labs
- Containerlab / Ansible / gNMI / YANG
- Future Network Architectures
- Projects
- Case Studies
- Research Library
- Engineering Notes
- Politecnico di Torino Diaries
- Torino Erasmus Map
- Netreka Academy
- CV
- Contact
- HTML5
- Modular CSS architecture
- Modular vanilla JavaScript
- GitHub Pages
- JSON-LD structured data
- Open Graph / Twitter metadata
- Sitemap / RSS / robots.txt
- Performance-aware lightweight mode
- External JSON translation data
git clone https://github.com/YasinEnginn/YasinEnginn.github.io.git
cd YasinEnginn.github.io
npm run serveThen open:
http://localhost:8000
Generate the Torino diary collection before previewing content changes:
npm run build:diaryPublished diary entries live in content/torino-diary/posts/ as Markdown and drafts live in content/torino-diary/drafts/. The generator creates clean post URLs, task-oriented filters, tag and category archives, a search index, RSS, JSON-LD metadata, and a dedicated sitemap without adding a runtime framework or database. Its configuration, content loader, templates, and generated artifacts are separated under scripts/diary/ so each concern can evolve independently. Drafts can be previewed with:
node scripts/build_torino_diary.mjs --draftsYou can also run the server directly:
python -m http.server 8000The generated stylesheet at assets/css/app.css is built from the CSS partials in assets/css/01-tokens.css through assets/css/08-responsive.css.
npm run build:cssRun this command after editing the CSS partials.
The portfolio JavaScript is split by responsibility under assets/js/:
performance.jssets adaptive device and rendering profiles.i18n.jsloadsassets/data/translations.jsonand applies UI translations.theme.jsmanages time-aware theme state.contact.jsowns email copy and contact form behavior.library.jspowers the reading-library filters and search.command-palette.jshandles the Ctrl+K command palette.projects.jshandles project/video tracking helpers.main.jscoordinates page initialization and shared UI behavior.
npm run check:js
npm run check:sitemap
npm run check:site
npm run checkcheck:js verifies JavaScript syntax and JSON data files. check:sitemap verifies that every page URL listed through the sitemap index maps to an existing local file. check:site verifies local HTML links, anchors, assets, and CSS url() references. check runs the CSS build, JS/data check, sitemap check, JSON-LD parse check, and site integrity check together.
The site uses adaptive performance profiles instead of a single visual mode:
desktop-full: rich canvas, terminal, command palette, and cinematic effectsdesktop-balanced: reduced effects with a lower-cost canvas profiletablet-balanced: low-FPS canvas, reduced shadows/blur, no terminalmobile-lite: no canvas or terminal, minimal animation, shorter first project list
The site automatically reduces visual effects on:
- mobile screens
- tablet screens
- low-memory devices
- low-CPU devices
- slow connections
- data-saver mode
- reduced-motion preference
Manual overrides:
?lite=1or?performance=liteforces the lightweight version.?lite=0or?performance=fullforces the full visual version.
- Canonical URL
- Sitemap index plus page, project, note, image, and video sitemaps
- robots.txt
- RSS feed
- Dedicated Torino diary RSS feed and generated search index
- Page-level Open Graph metadata
- Page-level Twitter/X card metadata
- Dedicated 1200x630 social preview images under
assets/img/social/ - Matching social metadata on legacy convenience redirect URLs
- JSON-LD Person / ProfilePage / WebSite / VideoObject / ItemList data
- Page-level TechArticle / SoftwareSourceCode / BreadcrumbList data
- Image and video sitemap files
- IndexNow submission script for page, project, note, and video URLs
- llms.txt AI-readable profile index
- humans.txt
After deploying to GitHub Pages, submit these sitemap URLs manually in Google Search Console, Bing Webmaster Tools, and Yandex Webmaster:
https://yasinenginn.github.io/sitemap.xml
https://yasinenginn.github.io/sitemap-pages.xml
https://yasinenginn.github.io/sitemap-projects.xml
https://yasinenginn.github.io/sitemap-notes.xml
https://yasinenginn.github.io/sitemap-torino-diary.xml
The image and video sitemaps are linked from sitemap.xml and robots.txt for crawler discovery.
Priority URLs to inspect/request indexing:
https://yasinenginn.github.io/
https://yasinenginn.github.io/cv.html
https://yasinenginn.github.io/projects/
https://yasinenginn.github.io/projects.html
https://yasinenginn.github.io/notes/
https://yasinenginn.github.io/videos/
https://yasinenginn.github.io/videos.html
https://yasinenginn.github.io/research-library/
https://yasinenginn.github.io/library.html
https://yasinenginn.github.io/projects/tolerex/
https://yasinenginn.github.io/projects/tolerex.html
https://yasinenginn.github.io/projects/rehydrator/
https://yasinenginn.github.io/projects/rehydrator.html
https://yasinenginn.github.io/projects/network-automation-labs/
https://yasinenginn.github.io/projects/network-automation-labs.html
Legacy convenience URLs redirect to the canonical directory-style pages and carry matching Open Graph / Twitter card metadata for share previews.
After deployment, test the live URLs in LinkedIn Post Inspector and Meta Sharing Debugger:
https://yasinenginn.github.io/
https://yasinenginn.github.io/cv.html
https://yasinenginn.github.io/projects/
https://yasinenginn.github.io/projects.html
https://yasinenginn.github.io/notes/
https://yasinenginn.github.io/videos/
https://yasinenginn.github.io/videos.html
https://yasinenginn.github.io/research-library/
https://yasinenginn.github.io/library.html
https://yasinenginn.github.io/projects/tolerex.html
https://yasinenginn.github.io/projects/rehydrator.html
https://yasinenginn.github.io/projects/network-automation-labs.html
Check that each preview uses the expected title, description, canonical URL, and assets/img/social/ image.
GitHub profile README:
# Yasin Engin
Yasin Engin - Computer Engineering Student | Network Automation, Future Networks & Go Distributed Systems
I build reproducible network automation labs, future-network research experiments, and Go-based distributed systems.
Portfolio: https://yasinenginn.github.io/
Netreka Academy: https://www.youtube.com/@Netreka_Akademi
Current Focus: Satellite Networks, NDN, Network Automation
LinkedIn headline:
Computer Engineering Student | Network Automation & Future Networks | SDN, NDN, Go, CCNA/CCNP Labs
YouTube channel/about snippet:
Personal portfolio and technical notes:
https://yasinenginn.github.io/
Suggested future custom domain:
yasinengin.dev
After deploying changes to GitHub Pages, notify IndexNow-supported search engines with:
npm run indexnowThe script reads sitemap-pages.xml, uses the hosted key file at /6f8d2a9b4c1e7f5038a0d6c9b2e4f1a7.txt, and submits the current page URLs.
Suggested repository description:
Personal portfolio and technical hub focused on Network Automation, SDN, NDN, Go backend systems, and future network architectures.
Suggested website:
https://yasinenginn.github.io/
Suggested topics:
portfolio, network-automation, sdn, ndn, golang, grpc, distributed-systems, ccna, ccnp, ansible, containerlab, gns3, ndnsim, network-engineering, future-networks, github-pages
MIT