Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
YouTube Security VideosGoogle Cloud Tech: Gemini is coming to your city(24.09.2026 um 15:00 Uhr)
AI & KI NachrichtenGoogle’s latest moonshot to put machine learning in space(24.09.2026 um 15:12 Uhr)
Windows Tipps & SecurityPoll: What's your favorite Surface of 2026?(24.09.2026 um 14:58 Uhr)
Sichere ProgrammierungStreaming Materialized Views for Live Read Models (2026)(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA Day Is Not 86400 Seconds: The DST Bug in Your Date Math(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungSetting up Traefik: reverse proxy with automatic HTTPS(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA 200 OK response does not prove a secret leak(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungHow hot do you like it?(24.09.2026 um 15:05 Uhr)
YouTube Security VideosGoogle Cloud Tech: Gemini is coming to your city(24.09.2026 um 15:00 Uhr)
AI & KI NachrichtenGoogle’s latest moonshot to put machine learning in space(24.09.2026 um 15:12 Uhr)
Windows Tipps & SecurityPoll: What's your favorite Surface of 2026?(24.09.2026 um 14:58 Uhr)
Sichere ProgrammierungStreaming Materialized Views for Live Read Models (2026)(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA Day Is Not 86400 Seconds: The DST Bug in Your Date Math(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungSetting up Traefik: reverse proxy with automatic HTTPS(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungA 200 OK response does not prove a secret leak(24.09.2026 um 15:02 Uhr)
Sichere ProgrammierungHow hot do you like it?(24.09.2026 um 15:05 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

How I Built My Portfolio Website with React + Vite: Themes, Particles, GitHub Visualizations, and a Dev.to-Powered Posts Page

How I Built My Portfolio Website with React + Vite: Themes, Particles, GitHub Visualizations, and a Dev.to-Powered Posts Page I recently rebuilt my personal portfolio to reflect how I like to build products: clear architecture,…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




How I Built My Portfolio Website with React + Vite: Themes, Particles, GitHub Visualizations, and a Dev.to-Powered Posts Page



I recently rebuilt my personal portfolio to reflect how I like to build products: clear architecture, expressive UI, strong performance defaults, and data-backed sections that stay fresh.



Live website: https://singhamandeep007.github.io/



Repository: https://github.com/singhAmandeep007/singhAmandeep007.github.io



Portfolio Home






Table of Contents




  • Project Overview

  • Design Direction

  • Architecture At A Glance

  • Theme Engine (Multi Theme)

  • Particles Background With Floating Tech Logos

  • Resume Open Animation

  • Projects Page

  • Posts Page (Powered By Dev.to API)

  • About Page + GitHub Contributions + GitHub Showcase

  • Responsive UX + Sidebar Navigation

  • Performance + Developer Experience

  • What I Would Improve Next

  • Final Thoughts






Project Overview



This portfolio is built with:




  • React 18 + TypeScript

  • Vite 5

  • styled-components

  • React Router (lazy route loading)

  • tsParticles for animated background motion

  • Dev.to API integration for articles

  • GitHub GraphQL API integration for contribution and profile showcase widgets



The goal was simple:




  1. Keep the UI visually alive without becoming noisy.

  2. Keep content dynamic where possible (GitHub + Dev.to).

  3. Keep the codebase modular and easy to personalize.






Design Direction



I wanted the experience to feel like a blend of developer identity and product polish:




  • bright accent colors that can switch at runtime,

  • subtle glassmorphism where it helps depth,

  • playful details (handwave animation, envelope-style resume interaction),

  • high-density information modules on About (contributions, profile metrics, repo cards).



The whole layout stays section-based, with each page having a clear visual job:




  • Home: first impression + CTA

  • Projects: proof of work

  • Posts: writing and thought process

  • About: profile depth + GitHub signal






Architecture At A Glance



I use a shared layout route that always renders:




  • sidebar menu,

  • active route outlet,

  • theme toggler,

  • particle background.




flowchart LR
A[ThemeProvider + GlobalStyle] --> B[Shared Layout]
B --> C[SidebarMenu]
B --> D[Route Outlet]
B --> E[ToggleTheme]
B --> F[ParticlesContainer]

D --> H[Home]
D --> I[Projects]
D --> J[Posts]
D --> K[About]

K --> L[GitHub Contributions GraphQL]
K --> M[GitHub Showcase GraphQL]
J --> N[Dev.to Articles API]






This structure keeps global behavior centralized while pages remain focused.






Theme Engine (Multi Theme)



One of my favorite parts is the theme system.




  • Themes are created through a small theme factory (createTheme) using primary/background/font values.

  • The app generates CSS variables for each theme class.

  • Theme switching is class-based on document.documentElement for instant variable swapping.

  • A small transition class smooths the color shift.



I also map theme colors into GitHub contribution chart palettes, so the data visuals feel native to whichever theme is active.



Theme Toggle Open






Particles Background With Floating Tech Logos



The background uses tsParticles in two layers:




  • baseline moving particles,

  • floating image particles sourced from my tech logo list.



A batched loader progressively injects logo particles so the effect ramps up instead of appearing all at once. It gives the page ambient motion while keeping content readable.






Resume Open Animation



Instead of a normal download button, I built a small envelope interaction:




  • a cover flap rotates with rotateX,

  • the letter slides out,

  • click opens/closes,

  • click on letter triggers resume download.



It is intentionally playful, but still functional and accessible.



Resume Animation State






Projects Page



The Projects page is data-driven from a single projects data source:




  • markdown-supported descriptions,

  • per-project stack icons,

  • image/video slide support,

  • fullscreen preview support.



I alternate layout direction between odd/even project items for visual rhythm on larger screens, then collapse to a single-column flow on mobile.



Projects Page






Posts Page (Powered By Dev.to API)



The Posts page fetches articles directly from my Dev.to account and renders them as cards with:




  • cover image,

  • tags,

  • publish date,

  • comments count,

  • reactions count.



I filter out repost-like items by checking reading time so the page emphasizes full technical pieces.



Posts Page






About Page + GitHub Contributions + GitHub Showcase



This page combines static profile context with live GitHub data.






1) Contributions Calendar



I fetch contribution years and calendars from GitHub GraphQL, then render a custom SVG chart.



Features include:




  • virtualized week rendering for smoother scroll,

  • multiple visual modes (Heatmap, Forest, Garden, Skyline),

  • year jump controls,

  • auto-scroll playback,

  • palette adaptation by active theme.



Contributions Forest Theme






2) GitHub Showcase



I also built a profile showcase module using GraphQL to display:




  • follower and repo metrics,

  • contribution metrics (commits/PRs),

  • language distribution bar,

  • pinned/top repositories with topic badges.



GitHub Showcase Section



Full About page context:



About Page






Responsive UX + Sidebar Navigation



Responsiveness is handled through centralized breakpoints and component-level media rules.



Key UX behaviors:




  • focus-trapped sidebar menu,

  • click-outside to close overlays,

  • blur treatment on background content when overlays are active,

  • typography scaling by breakpoint,

  • horizontal overflow handling for dense visual modules.



This keeps keyboard and touch interactions practical across sizes.






Performance + Developer Experience



Some implementation decisions that helped:




  • route-level lazy imports,

  • manual chunk grouping for vendor and particle libraries,

  • optional dev-time TypeScript/ESLint checking via environment toggles,

  • build visualizer output for bundle inspection,

  • strict TypeScript config and lint/format scripts.



For deployment, GitHub Actions builds and ships to GitHub Pages.






What I Would Improve Next



If I take this further, I would like to add:




  1. richer skeleton/loading states instead of blank transitions,

  2. offline support + cache strategy for API-backed sections,

  3. more accessibility audits (focus indicators, reduced-motion pathways),

  4. analytics on which projects/posts get most engagement.






Final Thoughts



This portfolio became more than a profile page. It is now a living frontend playground where I can experiment with UI systems, data visualizations, and interaction patterns in production.



If you want to explore or fork it:





I would love feedback on the architecture and UX decisions.

IoC Intelligence (1 Indikatoren)
dev[.]to
CTI Threat Relationship Graph2 Knoten / 1 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
SOC Incident Playbook: Remote Code Execution (RCE) Defense
title: Detect Exploitation - How I Built My Portfolio Website with React + Vite: Themes, Particles, GitHub Visualizations, and a Dev.to-Powered Posts Page
id: 04164ed6-7def-4499-94d8-73fa0b18c27e
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-24
logsource:
  category: network_connection
  product: any
detection:
  selection:
      DestinationHostname:
        - 'dev.to'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-24"
        description = "YARA Signature for "
    strings:
        $str = "How I Built My Portfolio Websi" ascii wide
    condition:
        any of them
}
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich How I Built My Portfolio Website with Re.... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten How I Built My Portfolio Website with React + Vite: Themes, Particles, GitHub Visualizations, and a Dev.to-Powered Posts Page

Thematisch verwandte Begriffe: Built, Portfolio, Website, with · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-97152 | Nanomsg versions 0.5-beta through 1.x before 1.2.3 has a remotely exploi…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel TTP ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick