Skip to content

deepdeyiitgn/My-Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

474 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Deep Dey

🌌 Deep Dey β€” Portfolio & System Architecture

Software Architect Β· AI Prompt Engineer Β· JEE Advanced 2027 Aspirant

Live React TypeScript Vite Tailwind CSS

License Security Contributing Code of Conduct Support Changelog Setup Manual CI

"100% effort + extra 1% = Dream Achieved."

🌐 Live Site Β· πŸ“¬ Contact Β· πŸ”— Links Hub Β· πŸ“– Journal


πŸ“– Overview

This repository is the complete source code of Deep Dey's personal portfolio platform β€” a production-grade, high-fidelity web application built with a cinematic Dark-Amber design language (zinc-950 backgrounds Β· amber-500 glowing accents).

It is not just a portfolio site. It is a system-architecture-themed personal brand platform that combines:

  • 3+ years of self-taught full-stack experience
  • A live Build Journal (markdown CMS with MongoDB backend)
  • A Content Dashboard for managing journals, images, and categories
  • A YouTube Live Stream hub with tab filters and pagination
  • A Smart Contact Router that auto-maps inquiry types to correct email channels
  • Max-level Technical SEO with JSON-LD structured data

All while the author simultaneously prepares for JEE Advanced 2027 targeting IIT KGP CSE.


🧾 Summary

  • Fully responsive React + TypeScript portfolio with API-backed dynamic modules.
  • /live now supports category-aware content listing (Stream/Video/Shorts), enriched metadata, and paginated browsing.
  • /api/live supports no-key fallback mode plus richer YouTube stats/comments when API key is configured.
  • Root auth shortcut URLs are supported: /?signup, /?login, /?logout, and /?password=<SPACE_PASSWORD>.
  • Google shortcut callback on /contact?googleAuth=1&intent=... now persists session identity so login/signup both remain signed in consistently.
  • Home page section flow is ordered as: Hero β†’ Journey Marquee β†’ Tech Galaxy β†’ Projects β†’ Timeline β†’ Top Reads β†’ Feedback β†’ Community β†’ Countdown β†’ Collaboration CTA β†’ System Status & Owner Access.
  • Full self-setup documentation is available in PORTFOLIO_SETUP_DEPLOYMENT_MANUAL.md.

πŸ–±οΈ Cursor SVG Exports

All cursor SVG assets are now exported in the public folder:

  • public/cursors/visual/ β†’ custom floating cursor variants used by the pointer renderer
  • public/cursors/system/ β†’ SVGs used in CSS system cursor mode by interaction type
  • public/cursors/manifest.json β†’ export index

Custom Cursor Variants (public/cursors/visual)

SVG Preview Purpose
comet.svg Default pointer style with amber comet gradient
neon-needle.svg Default precision-style pointer
prism-arrow.svg Default prism/glass pointer
orbit.svg Default pointer with orbit ring accent
pulse-core.svg Default pointer with core glow
aurora-dart.svg Default pointer with aurora cyan highlight
glass-arrow.svg Default semi-glass arrow style
vector-wing.svg Action/hover state pointer
quantum-tip.svg Action state dark-tech pointer
flare-triangle.svg Action state with flare accent
spark-lance.svg Action state with spark burst
scribe.svg Text/input editing state
input-beam.svg Text/input I-beam style
ink-beam.svg Text/input beam with accent node
selection-ring.svg Selection state ring cursor
anchor-grid.svg Selection/drag anchor marker
click-burst.svg Click feedback state
nova-click.svg Click state with pulse orb
drag-node.svg Drag movement indicator
magnet-drag.svg Drag state with magnet cross lines

System Cursor SVGs (public/cursors/system)

SVG Preview Used for
default.svg Normal resting pointer
action.svg Hovering interactive elements
text.svg Text caret areas
input.svg Input-focused form fields
select.svg Active text selection
click.svg Mouse down / click state
drag.svg Dragging interactions

🧩 Project SVG Export Folder

All project SVGs are now also exported under public/project-svg/.

  • public/project-svg/brand/ β†’ core brand SVG icons used around the app
  • public/project-svg/cursors/ β†’ mirrored cursor SVG exports
  • public/project-svg/manifest.json β†’ export index

Brand SVGs (public/project-svg/brand)

SVG Preview Purpose
quicklink-logo.svg QuickLink branding mark
crown.svg Owner/crown identity icon
verified.svg Verified badge icon

πŸ“š Complete SVG Inventory (All Files)

This is the full list of all tracked project SVG files (60 files).

File Path Preview What work it does How to use
public/crown.svg Primary crown icon used for owner/identity branding. <img src="/crown.svg" alt="..." />
public/cursors/system/action.svg System-cursor SVG for action interaction mode in CSS cursor mapping. <img src="/cursors/system/action.svg" alt="..." />
public/cursors/system/click.svg System-cursor SVG for click interaction mode in CSS cursor mapping. <img src="/cursors/system/click.svg" alt="..." />
public/cursors/system/default.svg System-cursor SVG for default interaction mode in CSS cursor mapping. <img src="/cursors/system/default.svg" alt="..." />
public/cursors/system/drag.svg System-cursor SVG for drag interaction mode in CSS cursor mapping. <img src="/cursors/system/drag.svg" alt="..." />
public/cursors/system/input.svg System-cursor SVG for input interaction mode in CSS cursor mapping. <img src="/cursors/system/input.svg" alt="..." />
public/cursors/system/select.svg System-cursor SVG for select interaction mode in CSS cursor mapping. <img src="/cursors/system/select.svg" alt="..." />
public/cursors/system/text.svg System-cursor SVG for text interaction mode in CSS cursor mapping. <img src="/cursors/system/text.svg" alt="..." />
public/cursors/visual/anchor-grid.svg Custom floating pointer variant (anchor-grid) used by the runtime pointer renderer. <img src="/cursors/visual/anchor-grid.svg" alt="..." />
public/cursors/visual/aurora-dart.svg Custom floating pointer variant (aurora-dart) used by the runtime pointer renderer. <img src="/cursors/visual/aurora-dart.svg" alt="..." />
public/cursors/visual/click-burst.svg Custom floating pointer variant (click-burst) used by the runtime pointer renderer. <img src="/cursors/visual/click-burst.svg" alt="..." />
public/cursors/visual/comet.svg Custom floating pointer variant (comet) used by the runtime pointer renderer. <img src="/cursors/visual/comet.svg" alt="..." />
public/cursors/visual/drag-node.svg Custom floating pointer variant (drag-node) used by the runtime pointer renderer. <img src="/cursors/visual/drag-node.svg" alt="..." />
public/cursors/visual/flare-triangle.svg Custom floating pointer variant (flare-triangle) used by the runtime pointer renderer. <img src="/cursors/visual/flare-triangle.svg" alt="..." />
public/cursors/visual/glass-arrow.svg Custom floating pointer variant (glass-arrow) used by the runtime pointer renderer. <img src="/cursors/visual/glass-arrow.svg" alt="..." />
public/cursors/visual/ink-beam.svg Custom floating pointer variant (ink-beam) used by the runtime pointer renderer. <img src="/cursors/visual/ink-beam.svg" alt="..." />
public/cursors/visual/input-beam.svg Custom floating pointer variant (input-beam) used by the runtime pointer renderer. <img src="/cursors/visual/input-beam.svg" alt="..." />
public/cursors/visual/magnet-drag.svg Custom floating pointer variant (magnet-drag) used by the runtime pointer renderer. <img src="/cursors/visual/magnet-drag.svg" alt="..." />
public/cursors/visual/neon-needle.svg Custom floating pointer variant (neon-needle) used by the runtime pointer renderer. <img src="/cursors/visual/neon-needle.svg" alt="..." />
public/cursors/visual/nova-click.svg Custom floating pointer variant (nova-click) used by the runtime pointer renderer. <img src="/cursors/visual/nova-click.svg" alt="..." />
public/cursors/visual/orbit.svg Custom floating pointer variant (orbit) used by the runtime pointer renderer. <img src="/cursors/visual/orbit.svg" alt="..." />
public/cursors/visual/prism-arrow.svg Custom floating pointer variant (prism-arrow) used by the runtime pointer renderer. <img src="/cursors/visual/prism-arrow.svg" alt="..." />
public/cursors/visual/pulse-core.svg Custom floating pointer variant (pulse-core) used by the runtime pointer renderer. <img src="/cursors/visual/pulse-core.svg" alt="..." />
public/cursors/visual/quantum-tip.svg Custom floating pointer variant (quantum-tip) used by the runtime pointer renderer. <img src="/cursors/visual/quantum-tip.svg" alt="..." />
public/cursors/visual/scribe.svg Custom floating pointer variant (scribe) used by the runtime pointer renderer. <img src="/cursors/visual/scribe.svg" alt="..." />
public/cursors/visual/selection-ring.svg Custom floating pointer variant (selection-ring) used by the runtime pointer renderer. <img src="/cursors/visual/selection-ring.svg" alt="..." />
public/cursors/visual/spark-lance.svg Custom floating pointer variant (spark-lance) used by the runtime pointer renderer. <img src="/cursors/visual/spark-lance.svg" alt="..." />
public/cursors/visual/vector-wing.svg Custom floating pointer variant (vector-wing) used by the runtime pointer renderer. <img src="/cursors/visual/vector-wing.svg" alt="..." />
public/project-svg/brand/crown.svg Mirrored export copy of the crown brand icon. <img src="/project-svg/brand/crown.svg" alt="..." />
public/project-svg/brand/quicklink-logo.svg Mirrored export copy of the QuickLink brand logo. <img src="/project-svg/brand/quicklink-logo.svg" alt="..." />
public/project-svg/brand/verified.svg Mirrored export copy of the verified badge icon. <img src="/project-svg/brand/verified.svg" alt="..." />
public/project-svg/cursors/system/action.svg Mirrored export of system cursor action for centralized project SVG listing. <img src="/project-svg/cursors/system/action.svg" alt="..." />
public/project-svg/cursors/system/click.svg Mirrored export of system cursor click for centralized project SVG listing. <img src="/project-svg/cursors/system/click.svg" alt="..." />
public/project-svg/cursors/system/default.svg Mirrored export of system cursor default for centralized project SVG listing. <img src="/project-svg/cursors/system/default.svg" alt="..." />
public/project-svg/cursors/system/drag.svg Mirrored export of system cursor drag for centralized project SVG listing. <img src="/project-svg/cursors/system/drag.svg" alt="..." />
public/project-svg/cursors/system/input.svg Mirrored export of system cursor input for centralized project SVG listing. <img src="/project-svg/cursors/system/input.svg" alt="..." />
public/project-svg/cursors/system/select.svg Mirrored export of system cursor select for centralized project SVG listing. <img src="/project-svg/cursors/system/select.svg" alt="..." />
public/project-svg/cursors/system/text.svg Mirrored export of system cursor text for centralized project SVG listing. <img src="/project-svg/cursors/system/text.svg" alt="..." />
public/project-svg/cursors/visual/anchor-grid.svg Mirrored export of visual cursor anchor-grid for centralized project SVG listing. <img src="/project-svg/cursors/visual/anchor-grid.svg" alt="..." />
public/project-svg/cursors/visual/aurora-dart.svg Mirrored export of visual cursor aurora-dart for centralized project SVG listing. <img src="/project-svg/cursors/visual/aurora-dart.svg" alt="..." />
public/project-svg/cursors/visual/click-burst.svg Mirrored export of visual cursor click-burst for centralized project SVG listing. <img src="/project-svg/cursors/visual/click-burst.svg" alt="..." />
public/project-svg/cursors/visual/comet.svg Mirrored export of visual cursor comet for centralized project SVG listing. <img src="/project-svg/cursors/visual/comet.svg" alt="..." />
public/project-svg/cursors/visual/drag-node.svg Mirrored export of visual cursor drag-node for centralized project SVG listing. <img src="/project-svg/cursors/visual/drag-node.svg" alt="..." />
public/project-svg/cursors/visual/flare-triangle.svg Mirrored export of visual cursor flare-triangle for centralized project SVG listing. <img src="/project-svg/cursors/visual/flare-triangle.svg" alt="..." />
public/project-svg/cursors/visual/glass-arrow.svg Mirrored export of visual cursor glass-arrow for centralized project SVG listing. <img src="/project-svg/cursors/visual/glass-arrow.svg" alt="..." />
public/project-svg/cursors/visual/ink-beam.svg Mirrored export of visual cursor ink-beam for centralized project SVG listing. <img src="/project-svg/cursors/visual/ink-beam.svg" alt="..." />
public/project-svg/cursors/visual/input-beam.svg Mirrored export of visual cursor input-beam for centralized project SVG listing. <img src="/project-svg/cursors/visual/input-beam.svg" alt="..." />
public/project-svg/cursors/visual/magnet-drag.svg Mirrored export of visual cursor magnet-drag for centralized project SVG listing. <img src="/project-svg/cursors/visual/magnet-drag.svg" alt="..." />
public/project-svg/cursors/visual/neon-needle.svg Mirrored export of visual cursor neon-needle for centralized project SVG listing. <img src="/project-svg/cursors/visual/neon-needle.svg" alt="..." />
public/project-svg/cursors/visual/nova-click.svg Mirrored export of visual cursor nova-click for centralized project SVG listing. <img src="/project-svg/cursors/visual/nova-click.svg" alt="..." />
public/project-svg/cursors/visual/orbit.svg Mirrored export of visual cursor orbit for centralized project SVG listing. <img src="/project-svg/cursors/visual/orbit.svg" alt="..." />
public/project-svg/cursors/visual/prism-arrow.svg Mirrored export of visual cursor prism-arrow for centralized project SVG listing. <img src="/project-svg/cursors/visual/prism-arrow.svg" alt="..." />
public/project-svg/cursors/visual/pulse-core.svg Mirrored export of visual cursor pulse-core for centralized project SVG listing. <img src="/project-svg/cursors/visual/pulse-core.svg" alt="..." />
public/project-svg/cursors/visual/quantum-tip.svg Mirrored export of visual cursor quantum-tip for centralized project SVG listing. <img src="/project-svg/cursors/visual/quantum-tip.svg" alt="..." />
public/project-svg/cursors/visual/scribe.svg Mirrored export of visual cursor scribe for centralized project SVG listing. <img src="/project-svg/cursors/visual/scribe.svg" alt="..." />
public/project-svg/cursors/visual/selection-ring.svg Mirrored export of visual cursor selection-ring for centralized project SVG listing. <img src="/project-svg/cursors/visual/selection-ring.svg" alt="..." />
public/project-svg/cursors/visual/spark-lance.svg Mirrored export of visual cursor spark-lance for centralized project SVG listing. <img src="/project-svg/cursors/visual/spark-lance.svg" alt="..." />
public/project-svg/cursors/visual/vector-wing.svg Mirrored export of visual cursor vector-wing for centralized project SVG listing. <img src="/project-svg/cursors/visual/vector-wing.svg" alt="..." />
public/quicklink-logo.svg Primary QuickLink brand logo used in public branding contexts. <img src="/quicklink-logo.svg" alt="..." />
public/verified.svg Primary verified badge icon used for verification visuals. <img src="/verified.svg" alt="..." />

🎯 Feature Highlights

πŸ”­ Global Command Palette Search

Full-stack search engine at /search with typewriter-animated suggestions, trending query tracking, localStorage history, and a TF-IDF ML fallback. Searches journals, projects, FAQs, social links, live status, plus community users and comment permalinks. Fully indexed in the sitemap.

🧩 Dynamic Feature Atlas

Route family /feature provides a feature atlas index plus 30+ individually coded TSX feature pages. The index card list is loaded from src/features/feature-links.json (title/summary/link), with long summaries truncated using ........ Each feature page is a custom file in src/features/pages/, includes diagrams (SVG), points, workflow, visualization blocks, animation transitions, route-specific SEO metadata, and explicit back-to-feature actions.

πŸ“‘ Real-Time System Status Monitor

Live status page at /status probes all website-critical API routes every 60 s (heavy endpoints every 5 min) and displays latency, HTTP status, and connection quality. Monitored endpoints include auth, journal listing/search/top feeds, user profile/activity/community APIs, categories, projects, timeline, links, FAQs, YouTube live feed, contact (GET + POST), sitemap, and upload proxy route metadata. To reduce serverless cold-start distortion, automatic probes/ping use a warm-up call followed by a measured second call. Includes a Server Health panel with a highlighted System Specifications card showing RAM, storage, CPU model/cores/speed, OS type and kernel, architecture, runtime version, server region, and hostname. The third-party section now renders each provider separately with latest incident/maintenance summaries, status-page deep links, dynamic provider messages, resolved endpoint IP, hosting inference, and an "our infra match" marker when hosting aligns with the current server runtime. The Third-Party Status Aggregator endpoint row now measures ping from home-server health so external provider outages do not degrade the main overall system banner. A rate-limited "Refresh Now" button (global 20/min Β· per-IP 2/min) triggers a full health snapshot stored in MongoDB for historical tracking. Owner dashboard also controls status-page runtime mode (live, stop, maintenance, hiatus) from the existing /api/journal backend flow.

πŸ§ͺ Floating Live Status Widget

A global status widget is mounted at the app shell level and remains available across routes. It provides quick visibility into live API health without leaving the current page.

πŸ–₯️ Interactive Terminal 404 Experience

The * fallback route powers a command-driven terminal UI with route-aware cd navigation, API-backed status/links commands, command history, hidden easter-egg commands, and matrix-style effects.

🎬 Cinematic Loading Engine

A one-time-per-browser-session cinematic title sequence (Deep Dey's Portfolio β†’ A QLYNK Production) now plays before the normal loader. The normal loading screen enforces a strict minimum 3-second visibility, then waits for document load plus in-flight fetch calls to finish before disappearing. Progress percentage/bar are now synchronized with loader completion timing, and route-loader scroll reset now uses non-smooth top reset only on real route changes to avoid bounce/jump effects.

🎞️ Kinetic 3D PDF Portfolio Viewer

Custom react-pdf viewer wrapped in a Motion 3D physics engine (rotateY). Includes A4 aspect-ratio lock, zoom controls, and an external-URL fallback chain.

πŸ“¬ Smart Contact Routing Matrix

Backend-less intelligent intake. Routes 15 inquiry categories to the right email node with pre-filled mailto tickets and auto-generated ticket IDs. Contact now supports optional Google sign-in to prefill the actual Google account name + email and auto-attach each logged-in user's private service key in submission metadata (fallback label: NON LOGIN USER) without exposing the service key directly in the on-page contact UI. If an owner session is already authenticated (/api/auth cookie), Contact no longer asks for Google sign-up/sign-in. Contact page container keeps horizontal clipping only (overflow-x-hidden) so vertical scroll remains normal on mobile browsers.

πŸ” URL-Based Auth Shortcuts

Quick URL triggers are available from the root route:

  • /?signup β†’ calls backend auth URL builder, redirects to Google auth, then returns to Contact callback flow and redirects the signed-in user to /user/:userId
  • /?login β†’ calls backend auth URL builder, redirects to Google auth, then returns to Contact callback flow and redirects the signed-in user to /user/:userId
  • Both callbacks persist the Google identity in local storage after state + nonce validation, so Contact/login state stays synced after redirect.
  • /?logout β†’ calls backend logout, clears owner/community session state, then redirects to home (/)
  • /?password=<SPACE_PASSWORD> β†’ posts to owner auth and redirects to Dashboard (/dashboard)

πŸ““ Journal CMS with Embed Support

Full rich text / markdown / HTML journal system backed by MongoDB. Features per-visit view counting, one-like-per-session enforcement, native share API, image galleries, and embeddable output (/journal/embed/:id). Embed code now always uses the journal MongoDB _id for stable resolution, and embeds render the actual post body for all supported content types. HTML-type posts are served by /api/journal?action=html-file and rendered inline (non-iframe) in journal view/embed, while markdown/richtext behavior remains unchanged. Unpublishing a post keeps existing comments/replies intact and preserves the original publish timestamp for any later re-publish.

Journal tags and hashtags now support automatic generation from title, summary, and content when missing. Owner Dashboard includes an Auto Fill Missing control for tags/hashtags, while still allowing manual edits. Tag and hashtag values are normalized to uppercase by default for consistent indexing and routing. Auto-generation scoring now prioritizes repeated terms, longer/unique tokens, and deterministic cryptographic tie-breaking, with additional boosts for curated internet-popular terms and project/system terms (no third-party API key required). Tag/hashtag result pages now also expose public summary stats (total likes, views, average read time), plus the first created and latest post for the selected token.

πŸ“Ί YouTube Live Hub

Auto-loads the current live stream. Sidebar shows all channel content filtered by All / Stream / Video / Shorts tabs with newest-first sorting, views count, and Prev/Next pagination (20 per page).

πŸ–ΌοΈ CDN Image Upload & Media CMS (Dashboard)

Owner-only dashboard uploads images to static.qlynk.me via /api/upload-image proxy. Supports file picker, drag-and-drop, clipboard paste, and URL links. Rich text editor includes one-click embed buttons for Images, YouTube/MP4 Videos, and Audio β€” no manual HTML required.

🌐 Data-Driven Link-in-Bio Engine

A JSON-driven hub mapping 30+ internal/external nodes with dynamic inline SVG icons that auto-adapt to the Dark-Amber theme.

⏱️ Self-Aware Timeline

The milestone timeline uses new Date().getFullYear() to auto-highlight the current active phase with a glowing amber radar pulse (extends to 2035).

πŸ” Max-Level SEO

react-helmet-async drives per-route metadata injection: Canonical URLs, full OpenGraph tags (og:type, og:url, og:title, og:description, og:image, og:image:alt, og:site_name, og:locale), complete Twitter Card tags (twitter:card, twitter:url, twitter:title, twitter:description, twitter:image, twitter:image:alt), and Schema.org JSON-LD (Person, FAQPage, SoftwareApplication). The static index.html entry point carries the same complete tag set as the global baseline so crawlers and unfurlers always find valid metadata even before the SPA hydrates. A server-rendered HTML shell also injects the correct title/description/image for shared links, so WhatsApp, Twitter/X, Discord, and other unfurlers can read page-specific metadata. Journal posts automatically use a random uploaded post image for share cards, with /assets/images/myphoto.png as the fallback when a post has no uploaded images. All routes including /search, /user, /feedback, and /journal/comment are included in the XML sitemap.

🌍 12-Language i18n

Full UI translated across EN Β· BN Β· HI Β· ES Β· FR Β· DE Β· AR Β· RU Β· PT Β· JA Β· KO Β· ZH via a custom React Context provider.

πŸ’¬ Journal Comment System

Readers can leave comments on any journal post using Google Sign-In β€” no password needed. Supports threaded replies, likes, and direct comment permalinks (/journal/view/:id/comment/:commentId). A full comment thread view (/journal/view/:id/comments) shows all comments with sort (top/new/old) and pagination. The /journal/comment community guide now covers both comments and feedback, including small preview demos showing how each content type appears on the website.

⭐ Professional Feedback Management System

Dedicated public feedback page at /feedback with rating distribution bars, interactive 5-star submission, subject/sub-subject taxonomy, strict one-feedback-per-subject-sub-subject enforcement, and blacklist filtering that reuses the same comment_blacklist source as the journal comment system. Feedback text is only censored when a blacklist match is found; clean feedback stays unchanged. Owner dashboard includes full moderation (edit/delete), unlimited pinning, feedback category/sub-subject CRUD, and visibility of the original uncensored text for feedback entries flagged by blacklist filtering.

πŸ›‘οΈ Owner User Moderation & Destructive Controls

Dashboard user management now supports password-confirmed temporary deactivation for full account visibility, comments, profile, or feedback separately. Full deactivation hides profile/comments/replies/feedback and blocks new community activity, while scoped modes can independently hide comments, profile visibility, or feedback submission/listing. The owner can also delete a user's comments+feedback while keeping the profile, or permanently erase the user's profile, comments, replies, feedback, and moderation records β€” all from the existing dashboard/backend flow without adding a new API route file.

πŸ” Security Hardening & Soft Rate Limiting

  • Owner dashboard login now has in-memory IP-based attempt throttling with escalation: 5 failures/minute, then lockouts of 2m, 5m, 10m, 15m... capped at 60m for subsequent cycles.
  • Community posting now enforces minimum 100 characters for comments, replies, and feedback.
  • Posting cooldowns are now in-memory and per-IP with independent 2-minute windows for comment, reply, and feedback scopes (no database writes for rate-limit state).
  • Search now includes substring/character-token fallback matching so embedded tokens (e.g. hfxyzjw containing xyz) can still surface relevant results.

πŸ‘₯ Community User Profiles

Every reader who signs in gets a public profile at /user/:userId. Profiles show a customizable title, bio, social links (GitHub, Twitter, LinkedIn, Instagram, YouTube, Website, Custom with Google Favicon auto-detection), a 52-week contribution heatmap, and tabbed views for Overview, Comments, and Activity Log. The /user page lists all contributors with the owner card pinned at the top β€” styled with a glowing gradient-border frame, myphoto.png avatar with an amber halo, and a πŸ‘‘ Owner badge for a visually distinct king-vibe presence. Verified tick and crown badges are now rendered as frontend vector icons (not public image files) for a cleaner professional UI. The owner's /user/owner profile page carries the same premium styling.
When a user is logged into their own profile, they also get a private identity panel (not public): Google email plus a private 16-digit service key shown masked by default with reveal/hide, copy, and rotate controls.

πŸ—ΊοΈ Dynamic XML Sitemap with RAM Cache

/api/sitemap auto-generates a valid XML sitemap scoped exclusively to deepdey.vercel.app. It covers all static routes (excluding /dashboard and /journal/embed) including /feedback, dynamically fetches published journals and emits slug-based journal URLs, comment-thread pages, comment permalink routes, and user profile URLs from MongoDB. Results are stored in-memory and refreshed every 6 hours (Cache-Control: s-maxage=21600). Subsequent requests within the TTL window are served instantly from RAM (X-Sitemap-Cache: HIT).

Sitemap now also auto-includes dynamic journal tag and hashtag listing URLs (/journal/tags/:tag, /journal/hastags/:hashtag) at priority 0.4.

βš™οΈ Vercel Free Plan Compliance (Function Limit)

Feedback and moderation features are implemented by extending existing handlers (/api/journal, /api/categories) instead of creating new API files, keeping the deployment within the Vercel Free Plan serverless function limit.

πŸš€ Key Features of New Dashboard

  • Advanced Project Ecosystem: Manage portfolio projects through a custom dashboard. Switch seamlessly between static data files and a dynamic MongoDB database.
  • Overpowered Screenshot Bot: A custom 3-Layer backend architecture that automatically captures live website screenshots.
    • Uses Google's PageSpeed API, Global Geo-Proxies, and rotating Human-Agent headers to completely bypass bot protection (Cloudflare, CAPTCHAs) and Vercel's strict serverless timeout limits.
  • Smart UI Previews: Auto-crops and formats dynamic Base64 images directly on the client side to maintain perfect aspect ratios without overloading the backend.
  • Media Embeds: Insert images, YouTube iframes, MP4 videos, and audio tracks directly into journal posts via toolbar prompt buttons.
  • Owner User Monitoring: The Dashboard Users tab lists all registered commenters. Clicking a user reveals a detail panel with their full metadata including account creation datetime + IP + country, last activity datetime + IP + country, Google email (when available), a private 16-digit service key (masked by default with reveal/copy/rotate controls), comment history with abuse flags, quick-block controls, and a link to their public profile.

πŸ› οΈ Technology Stack

Layer Technology Version Purpose
UI Framework React 19.x Component-driven UI with concurrent rendering
Language TypeScript 5.x Static typing across all components and data
Build Tool Vite 6.x Sub-second HMR, tree-shaking, chunked bundles
Styling Tailwind CSS 4.x Utility-first Dark-Amber glassmorphism system
Animation Motion 12.x Physics-based transitions, 3D flips, scroll reveals
Routing React Router DOM 7.x Lazy-loaded SPA with wildcard 404 handling
PDF Renderer react-pdf 10.x Client-side A4 portfolio document renderer
SEO react-helmet-async 3.x Async head tag injection for rich snippets
Database MongoDB Atlas β€” Journal, category, status, health snapshot, and rate-limit persistence
CDN / Storage static.qlynk.me β€” Proxied secure image upload and hosting
Hosting Vercel β€” Global edge CDN, CI/CD, SPA rewrites

πŸ“‚ Project Structure

πŸ“¦ My-Portfolio
 ┣ πŸ“œ .env.example                # Environment variable template
 ┣ πŸ“œ README.md                  # You are here
 ┣ πŸ“œ LICENSE                    # Custom Restricted (View-Only) license
 ┣ πŸ“œ SECURITY.md                # Vulnerability reporting policy
 ┣ πŸ“œ CONTRIBUTING.md            # Contribution guidelines
 ┣ πŸ“œ CONTRIBUTOR.md             # Contributor acknowledgements
 ┣ πŸ“œ CHANGELOG.md               # Release notes and version history
 ┣ πŸ“œ PORTFOLIO_SETUP_DEPLOYMENT_MANUAL.md # Setup/deploy/ownership transfer guide
 ┣ πŸ“œ CODE_OF_CONDUCT.md         # Community behavior standards
 ┣ πŸ“œ SUPPORT.md                 # Support channels
 ┣ πŸ“œ package.json               # Scripts and dependency manifest
 ┣ πŸ“œ package-lock.json          # Exact npm dependency lockfile
 ┣ πŸ“œ tsconfig.json              # TypeScript compiler configuration
 ┣ πŸ“œ tailwind.config.js         # Tailwind theme customization
 ┣ πŸ“œ vite.config.ts             # Vite build and dev configuration
 ┣ πŸ“œ vercel.json                # Vercel routing rules and redirects
 ┣ πŸ“œ metadata.json              # Repository metadata
 ┣ πŸ“œ index.html                 # Vite HTML entry point
 ┣ πŸ“‚ api                        # Vercel serverless API routes
 ┃ ┣ πŸ“œ package.json             # API runtime metadata for serverless context
 ┃ ┣ πŸ“œ auth.js                  # Session authentication handler
 ┃ ┣ πŸ“œ categories.js            # Journal + feedback category/sub-subject CRUD
 ┃ ┣ πŸ“œ contact.js               # Contact form handler
 ┃ ┣ πŸ“œ faqs.js                  # FAQ data endpoint
 ┃ ┣ πŸ“œ journal.js               # Journal + feedback APIs Β· health Β· rate-limited refresh
 ┃ ┣ πŸ“œ links.js                 # Links data endpoint
 ┃ ┣ πŸ“œ live.js                  # YouTube live/videos/shorts aggregator with API-key + no-key fallback
 ┃ ┣ πŸ“œ logger.js                # Lightweight server logger helper
 ┃ ┣ πŸ“œ projects.js              # Projects CRUD endpoint
 ┃ ┣ πŸ“œ sitemap.js               # Dynamic XML sitemap generator
 ┃ ┣ πŸ“œ timeline.js              # Timeline milestones endpoint
 ┃ β”— πŸ“œ upload-image.js          # CDN image upload proxy
 ┣ πŸ“‚ public                     # Static assets (served as-is)
 ┃ ┣ πŸ“‚ .well-known
 ┃ ┃ β”— πŸ“œ discord                # Discord domain verification file
 ┃ ┣ πŸ“‚ assets/docs              # Portfolio PDF documents
 ┃ ┣ πŸ“‚ assets/images            # Static image files
 ┃ ┣ πŸ“œ verified.svg             # Verified badge icon source
 ┃ ┣ πŸ“œ crown.svg                # Crown badge icon source
 ┃ ┣ πŸ“œ robots.txt               # Crawl directives
 ┃ β”— πŸ“œ sitemap.xml.txt          # Static sitemap snapshot
 ┣ πŸ“‚ src
 ┃ ┣ πŸ“‚ components               # Reusable UI components
 ┃ ┃ ┣ πŸ“œ CommentSection.tsx     # Journal comments + replies + moderation UI
 ┃ ┃ ┣ πŸ“œ ContactForm.tsx        # Contact form UI block
 ┃ ┃ ┣ πŸ“œ FAQ.tsx                # Shared FAQ component
 ┃ ┃ ┣ πŸ“œ FeedbackAdminPanel.tsx # Owner feedback moderation + category manager
 ┃ ┃ ┣ πŸ“œ Footer.tsx             # Global footer with legal links
 ┃ ┃ ┣ πŸ“œ Header.tsx             # Responsive navigation header
 ┃ ┃ ┣ πŸ“œ IdentityBadges.tsx     # Inline SVG verified/crown badge renderer
 ┃ ┃ ┣ πŸ“œ JourneyMarquee.tsx     # GPU-accelerated timeline marquee
 ┃ ┃ ┣ πŸ“œ Layout.tsx             # Page layout wrapper (skips for embeds)
 ┃ ┃ ┣ πŸ“œ LoadingScreen.tsx      # Cinematic intro loading screen
 ┃ ┃ ┣ πŸ“œ ProjectPlaceholder.tsx # Project fallback card
 ┃ ┃ ┣ πŸ“œ ScrollToTop.tsx        # Scroll-to-top floating button
 ┃ ┃ ┣ πŸ“œ SEO.tsx                # JSON-LD + OpenGraph meta manager
 ┃ ┃ ┣ πŸ“œ SocialProof.tsx        # Dynamic feedback metrics + pinned testimonial scroller
 ┃ ┃ ┣ πŸ“œ StatusWidget.tsx       # Floating live-status popup widget
 ┃ ┃ β”— πŸ“œ TechGalaxy.tsx         # Animated tech stack visual
 ┃ ┣ πŸ“‚ context
 ┃ ┃ β”— πŸ“œ LanguageContext.tsx    # 12-language i18n context provider
 ┃ ┣ πŸ“‚ data                     # Static typed data models
 ┃ ┃ ┣ πŸ“œ contentData.ts         # Home/about copy blocks and UI content
 ┃ ┃ ┣ πŸ“œ faqData.ts             # FAQ questions and answers
 ┃ ┃ ┣ πŸ“œ linksData.ts           # Link hub node definitions
 ┃ ┃ ┣ πŸ“œ nowData.ts             # "Now" page structured updates
 ┃ ┃ ┣ πŸ“œ proofData.ts           # Proof page structured evidence blocks
 ┃ ┃ ┣ πŸ“œ projectsData.ts        # Project cards and detail data
 ┃ ┃ β”— πŸ“œ timelineData.ts        # Life milestone timeline data
 ┃ ┣ πŸ“‚ pages                    # Route-level page components
 ┃ ┃ ┣ πŸ“œ About.tsx              # About / philosophy page
 ┃ ┃ ┣ πŸ“œ AllUsers.tsx           # Community user listing (/user)
 ┃ ┃ ┣ πŸ“œ CommentGuide.tsx       # Step-by-step comment instructions (/journal/comment)
 ┃ ┃ ┣ πŸ“œ CommentPermalink.tsx   # Standalone comment permalink view
 ┃ ┃ ┣ πŸ“œ Contact.tsx            # Smart contact routing page
 ┃ ┃ ┣ πŸ“œ Copyright.tsx          # Copyright information
 ┃ ┃ ┣ πŸ“œ Dashboard.tsx          # Owner-only CMS dashboard
 ┃ ┃ ┣ πŸ“œ DMCA.tsx               # DMCA takedown policy
 ┃ ┃ ┣ πŸ“œ FAQ.tsx                # Searchable FAQ with accordion
 ┃ ┃ ┣ πŸ“œ Feedback.tsx           # Public feedback submission + listing page
 ┃ ┃ ┣ πŸ“œ Home.tsx               # Hero / landing page
 ┃ ┃ ┣ πŸ“œ Journal.tsx            # Journal listing page
 ┃ ┃ ┣ πŸ“œ JournalAllComments.tsx # Full comment thread for a post (/journal/view/:id/comments)
 ┃ ┃ ┣ πŸ“œ JournalEmbed.tsx       # Embeddable journal (no chrome)
 ┃ ┃ ┣ πŸ“œ JournalView.tsx        # Full journal detail page
 ┃ ┃ ┣ πŸ“œ LegalHub.tsx           # Legal hub index
 ┃ ┃ ┣ πŸ“œ Links.tsx              # Link-in-bio hub
 ┃ ┃ ┣ πŸ“œ Live.tsx               # YouTube Live & video hub
 ┃ ┃ ┣ πŸ“œ Me.tsx                 # Personal / creative profile
 ┃ ┃ ┣ πŸ“œ NotFound.tsx           # 404 fallback page
 ┃ ┃ ┣ πŸ“œ Now.tsx                # "What I'm doing now" page
 ┃ ┃ ┣ πŸ“œ Portfolio.tsx          # 3D PDF portfolio viewer
 ┃ ┃ ┣ πŸ“œ Privacy.tsx            # Privacy policy
 ┃ ┃ ┣ πŸ“œ Projects.tsx           # Projects listing
 ┃ ┃ ┣ πŸ“œ ProjectDetail.tsx      # Individual project deep-dive
 ┃ ┃ ┣ πŸ“œ Proof.tsx              # Proof of work page
 ┃ ┃ ┣ πŸ“œ SearchResults.tsx      # Global search results page
 ┃ ┃ ┣ πŸ“œ Status.tsx             # Real-time system status & server health
 ┃ ┃ ┣ πŸ“œ Terms.tsx              # Terms of service
 ┃ ┃ β”— πŸ“œ UserProfile.tsx        # Public user profile with heatmap & social links (/user/:userId)
 ┃ ┣ πŸ“œ App.tsx                  # Root router + animated routes
 ┃ ┣ πŸ“œ index.css                # Global CSS + Tailwind directives
 ┃ ┣ πŸ“œ main.tsx                 # React application entry point
 ┃ ┣ πŸ“œ vite-env.d.ts            # Vite ambient type declarations
 ┃ β”— πŸ“‚ utils
 ┃   β”— πŸ“œ iconMap.ts             # Dashboard icon registry and render helpers
 ┣ πŸ“‚ .github
 ┃ ┣ πŸ“‚ ISSUE_TEMPLATE           # Structured GitHub issue templates
 ┃ ┃ ┣ πŸ“œ api_backend.yml        # API/backend issue form
 ┃ ┃ ┣ πŸ“œ bug_report.yml         # Bug report form
 ┃ ┃ ┣ πŸ“œ performance.yml        # Performance issue form
 ┃ ┃ ┣ πŸ“œ feature_request.yml    # Feature request form
 ┃ ┃ ┣ πŸ“œ documentation.yml      # Documentation improvement form
 ┃ ┃ ┣ πŸ“œ question.yml           # Question / discussion form
 ┃ ┃ ┣ πŸ“œ user_profile.yml       # User profile/community issue form
 ┃ ┃ β”— πŸ“œ config.yml             # Issue template chooser + contact links
 ┃ ┣ πŸ“‚ workflows
 ┃ ┃ ┣ πŸ“œ ci.yml                 # GitHub Actions CI (type-check + build)
 ┃ ┃ β”— πŸ“œ keep-alive.yml         # Scheduled keep-alive workflow
 ┃ ┣ πŸ“œ CODEOWNERS               # Code ownership declarations
 ┃ ┣ πŸ“œ FUNDING.yml              # Sponsorship links
 ┃ ┣ πŸ“œ dependabot.yml           # Automated dependency updates
 ┃ β”— πŸ“œ pull_request_template.md # Standardized PR template
 β”— πŸ“‚ dist                       # Production build output (git-ignored)

🧭 Routes Reference

Route Description
/ Hero landing page with timeline, journal spotlight, community section, and CTA
/about Background, philosophy, and approach
/me Personal creative profile and current status
/now What I'm working on right now
/projects Full project listing grid
/projects/:id Individual project deep-dive detail
/feature Dynamic feature atlas with summary cards
/feature/<feature-slug> Individually routed custom TSX feature page
/portfolio 3D PDF architectural blueprint viewer
/proof Proof of work and achievements
/links Link-in-bio ecosystem hub (30+ nodes)
/contact Smart 15-category contact routing form
/journal Journal listing with metadata (likes, views, read time)
/journal/view/:id Full journal article with engagement actions
/journal/tags/:tag Journal listing filtered by tag with total post count, first created post, latest post, and public stats
/journal/hastags/:hashtag Journal listing filtered by hashtag with total post count, first created post, latest post, and public stats
/journal/view/:id/comments Full paginated comment thread for a post
/journal/comment/:commentId Legacy/short permalink route for a specific comment
/journal/view/:id/comment/:commentId Standalone comment permalink
/journal/comment Step-by-step guide for commenting and community rules
/journal/embed/:id Embeddable journal view (no header/footer), generated using journal _id
/feedback Public feedback page with rating summary, filters, sorting, and pagination
/user Community user listing β€” owner pinned at top, contributors below
/user/:userId Public user profile with bio, social links, contribution heatmap, and activity tabs
/live YouTube live stream + All/Stream/Video/Shorts hub
/search Full-stack global search with trending queries and easter eggs
/status Real-time API status, server health, and system specifications
/faq Searchable FAQ with accordion interface
/dashboard Owner-only content management dashboard
/legal Legal hub index
/privacy Privacy policy
/terms Terms of service
/dmca DMCA takedown policy
/copyright Copyright information

NEW:

==================================================================================================== GITHUB REPOSITORY STRUCTURE REPORT

Repository : deepdeyiitgn/My-Portfolio Branch : main Root Folder : My-Portfolio/ Total Items : 306

πŸ“‚ ROOT : My-Portfolio/

πŸ“ Folder : .github/ Path : .github/ Files : 6 β”œβ”€β”€ πŸ“„ CODEOWNERS β”‚ Type : No Extension β”‚ Size : 824 bytes β”‚ Path : .github/CODEOWNERS β”œβ”€β”€ πŸ“„ FUNDING.yml β”‚ Type : yml β”‚ Size : 172 bytes β”‚ Path : .github/FUNDING.yml β”œβ”€β”€ πŸ“„ ISSUE_TEMPLATE β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : .github/ISSUE_TEMPLATE β”œβ”€β”€ πŸ“„ dependabot.yml β”‚ Type : yml β”‚ Size : 1131 bytes β”‚ Path : .github/dependabot.yml β”œβ”€β”€ πŸ“„ pull_request_template.md β”‚ Type : md β”‚ Size : 1905 bytes β”‚ Path : .github/pull_request_template.md β”œβ”€β”€ πŸ“„ workflows β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : .github/workflows

β”‚ πŸ“ Folder : ISSUE_TEMPLATE/ β”‚ Path : .github/ISSUE_TEMPLATE/ β”‚ Files : 8 β”‚ β”œβ”€β”€ πŸ“„ api_backend.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 2964 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/api_backend.yml β”‚ β”œβ”€β”€ πŸ“„ bug_report.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 3223 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/bug_report.yml β”‚ β”œβ”€β”€ πŸ“„ config.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 819 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/config.yml β”‚ β”œβ”€β”€ πŸ“„ documentation.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 1585 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/documentation.yml β”‚ β”œβ”€β”€ πŸ“„ feature_request.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 3057 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/feature_request.yml β”‚ β”œβ”€β”€ πŸ“„ performance.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 2844 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/performance.yml β”‚ β”œβ”€β”€ πŸ“„ question.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 1649 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/question.yml β”‚ β”œβ”€β”€ πŸ“„ user_profile.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 3084 bytes β”‚ β”‚ Path : .github/ISSUE_TEMPLATE/user_profile.yml

β”‚ πŸ“ Folder : workflows/ β”‚ Path : .github/workflows/ β”‚ Files : 2 β”‚ β”œβ”€β”€ πŸ“„ ci.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 671 bytes β”‚ β”‚ Path : .github/workflows/ci.yml β”‚ β”œβ”€β”€ πŸ“„ keep-alive.yml β”‚ β”‚ Type : yml β”‚ β”‚ Size : 1464 bytes β”‚ β”‚ Path : .github/workflows/keep-alive.yml πŸ“ Folder : api/ Path : api/ Files : 13 β”œβ”€β”€ πŸ“„ auth.js β”‚ Type : js β”‚ Size : 7379 bytes β”‚ Path : api/auth.js β”œβ”€β”€ πŸ“„ categories.js β”‚ Type : js β”‚ Size : 14567 bytes β”‚ Path : api/categories.js β”œβ”€β”€ πŸ“„ contact.js β”‚ Type : js β”‚ Size : 2965 bytes β”‚ Path : api/contact.js β”œβ”€β”€ πŸ“„ faqs.js β”‚ Type : js β”‚ Size : 62394 bytes β”‚ Path : api/faqs.js β”œβ”€β”€ πŸ“„ journal.js β”‚ Type : js β”‚ Size : 175620 bytes β”‚ Path : api/journal.js β”œβ”€β”€ πŸ“„ links.js β”‚ Type : js β”‚ Size : 26263 bytes β”‚ Path : api/links.js β”œβ”€β”€ πŸ“„ live.js β”‚ Type : js β”‚ Size : 20086 bytes β”‚ Path : api/live.js β”œβ”€β”€ πŸ“„ logger.js β”‚ Type : js β”‚ Size : 136 bytes β”‚ Path : api/logger.js β”œβ”€β”€ πŸ“„ package.json β”‚ Type : json β”‚ Size : 25 bytes β”‚ Path : api/package.json β”œβ”€β”€ πŸ“„ projects.js β”‚ Type : js β”‚ Size : 34771 bytes β”‚ Path : api/projects.js β”œβ”€β”€ πŸ“„ sitemap.js β”‚ Type : js β”‚ Size : 18482 bytes β”‚ Path : api/sitemap.js β”œβ”€β”€ πŸ“„ timeline.js β”‚ Type : js β”‚ Size : 7834 bytes β”‚ Path : api/timeline.js β”œβ”€β”€ πŸ“„ upload-image.js β”‚ Type : js β”‚ Size : 9141 bytes β”‚ Path : api/upload-image.js πŸ“ Folder : dist/ Path : dist/ Files : 8 β”œβ”€β”€ πŸ“„ 69eb00ccd24c4d75c62cc04c.png β”‚ Type : png β”‚ Size : 488356 bytes β”‚ Path : dist/69eb00ccd24c4d75c62cc04c.png β”œβ”€β”€ πŸ“„ 69eb01798f30a15224010404.png β”‚ Type : png β”‚ Size : 1460162 bytes β”‚ Path : dist/69eb01798f30a15224010404.png β”œβ”€β”€ πŸ“„ 69eb01deef048160b7374d68.png β”‚ Type : png β”‚ Size : 71558 bytes β”‚ Path : dist/69eb01deef048160b7374d68.png β”œβ”€β”€ πŸ“„ 69eb02bff3d3b01f6326a557.jpg β”‚ Type : jpg β”‚ Size : 71370 bytes β”‚ Path : dist/69eb02bff3d3b01f6326a557.jpg β”œβ”€β”€ πŸ“„ assets β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : dist/assets β”œβ”€β”€ πŸ“„ index.html β”‚ Type : html β”‚ Size : 6906 bytes β”‚ Path : dist/index.html β”œβ”€β”€ πŸ“„ robots.txt β”‚ Type : txt β”‚ Size : 691 bytes β”‚ Path : dist/robots.txt β”œβ”€β”€ πŸ“„ sitemap.xml.txt β”‚ Type : txt β”‚ Size : 4403 bytes β”‚ Path : dist/sitemap.xml.txt

β”‚ πŸ“ Folder : assets/ β”‚ Path : dist/assets/ β”‚ Files : 4 β”‚ β”œβ”€β”€ πŸ“„ Portfolio-QCQEGvBO.css β”‚ β”‚ Type : css β”‚ β”‚ Size : 9222 bytes β”‚ β”‚ Path : dist/assets/Portfolio-QCQEGvBO.css β”‚ β”œβ”€β”€ πŸ“„ docs β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : dist/assets/docs β”‚ β”œβ”€β”€ πŸ“„ images β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : dist/assets/images β”‚ β”œβ”€β”€ πŸ“„ pdf.worker.min-qwK7q_zL.mjs β”‚ β”‚ Type : mjs β”‚ β”‚ Size : 1046214 bytes β”‚ β”‚ Path : dist/assets/pdf.worker.min-qwK7q_zL.mjs

β”‚ β”‚ πŸ“ Folder : docs/ β”‚ β”‚ Path : dist/assets/docs/ β”‚ β”‚ Files : 1 β”‚ β”‚ β”œβ”€β”€ πŸ“„ Deep_Dey_Portfolio.pdf β”‚ β”‚ β”‚ Type : pdf β”‚ β”‚ β”‚ Size : 1943075 bytes β”‚ β”‚ β”‚ Path : dist/assets/docs/Deep_Dey_Portfolio.pdf

β”‚ β”‚ πŸ“ Folder : images/ β”‚ β”‚ Path : dist/assets/images/ β”‚ β”‚ Files : 1 β”‚ β”‚ β”œβ”€β”€ πŸ“„ myphoto.png β”‚ β”‚ β”‚ Type : png β”‚ β”‚ β”‚ Size : 121296 bytes β”‚ β”‚ β”‚ Path : dist/assets/images/myphoto.png πŸ“ Folder : public/ Path : public/ Files : 56 β”œβ”€β”€ πŸ“„ .well-known β”‚ Type : well-known β”‚ Size : - bytes β”‚ Path : public/.well-known β”œβ”€β”€ πŸ“„ 69eb00ccd24c4d75c62cc04c.png β”‚ Type : png β”‚ Size : 488356 bytes β”‚ Path : public/69eb00ccd24c4d75c62cc04c.png β”œβ”€β”€ πŸ“„ 69eb01798f30a15224010404.png β”‚ Type : png β”‚ Size : 1460162 bytes β”‚ Path : public/69eb01798f30a15224010404.png β”œβ”€β”€ πŸ“„ 69eb01deef048160b7374d68.png β”‚ Type : png β”‚ Size : 71558 bytes β”‚ Path : public/69eb01deef048160b7374d68.png β”œβ”€β”€ πŸ“„ 69eb02bff3d3b01626326a557.jpg β”‚ Type : jpg β”‚ Size : 41744 bytes β”‚ Path : public/69eb02bff3d3b01626326a557.jpg β”œβ”€β”€ πŸ“„ 69eb02bff3d3b01f6326a557.jpg β”‚ Type : jpg β”‚ Size : 71370 bytes β”‚ Path : public/69eb02bff3d3b01f6326a557.jpg β”œβ”€β”€ πŸ“„ accessibility-improvement-log.html β”‚ Type : html β”‚ Size : 789 bytes β”‚ Path : public/accessibility-improvement-log.html β”œβ”€β”€ πŸ“„ ads.txt β”‚ Type : txt β”‚ Size : 58 bytes β”‚ Path : public/ads.txt β”œβ”€β”€ πŸ“„ android-chrome-192x192.png β”‚ Type : png β”‚ Size : 66530 bytes β”‚ Path : public/android-chrome-192x192.png β”œβ”€β”€ πŸ“„ android-chrome-512x512.png β”‚ Type : png β”‚ Size : 359949 bytes β”‚ Path : public/android-chrome-512x512.png β”œβ”€β”€ πŸ“„ api-reliability-playbook.html β”‚ Type : html β”‚ Size : 781 bytes β”‚ Path : public/api-reliability-playbook.html β”œβ”€β”€ πŸ“„ apple-touch-icon.png β”‚ Type : png β”‚ Size : 59724 bytes β”‚ Path : public/apple-touch-icon.png β”œβ”€β”€ πŸ“„ assets β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : public/assets β”œβ”€β”€ πŸ“„ collaboration-and-contact-workflow.html β”‚ Type : html β”‚ Size : 806 bytes β”‚ Path : public/collaboration-and-contact-workflow.html β”œβ”€β”€ πŸ“„ community-and-support-framework.html β”‚ Type : html β”‚ Size : 797 bytes β”‚ Path : public/community-and-support-framework.html β”œβ”€β”€ πŸ“„ content-strategy-manifest.html β”‚ Type : html β”‚ Size : 784 bytes β”‚ Path : public/content-strategy-manifest.html β”œβ”€β”€ πŸ“„ countdown.html β”‚ Type : html β”‚ Size : 22075 bytes β”‚ Path : public/countdown.html β”œβ”€β”€ πŸ“„ crown.svg β”‚ Type : svg β”‚ Size : 27153 bytes β”‚ Path : public/crown.svg β”œβ”€β”€ πŸ“„ cursors β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : public/cursors β”œβ”€β”€ πŸ“„ data-model-governance.html β”‚ Type : html β”‚ Size : 775 bytes β”‚ Path : public/data-model-governance.html β”œβ”€β”€ πŸ“„ deployment-and-release-story.html β”‚ Type : html β”‚ Size : 796 bytes β”‚ Path : public/deployment-and-release-story.html β”œβ”€β”€ πŸ“„ discord-activity-bot.png β”‚ Type : png β”‚ Size : 67050 bytes β”‚ Path : public/discord-activity-bot.png β”œβ”€β”€ πŸ“„ favicon-16x16.png β”‚ Type : png β”‚ Size : 778 bytes β”‚ Path : public/favicon-16x16.png β”œβ”€β”€ πŸ“„ favicon-32x32.png β”‚ Type : png β”‚ Size : 2570 bytes β”‚ Path : public/favicon-32x32.png β”œβ”€β”€ πŸ“„ favicon.ico β”‚ Type : ico β”‚ Size : 15406 bytes β”‚ Path : public/favicon.ico β”œβ”€β”€ πŸ“„ feature-delivery-timeline.html β”‚ Type : html β”‚ Size : 779 bytes β”‚ Path : public/feature-delivery-timeline.html β”œβ”€β”€ πŸ“„ future-innovation-lab.html β”‚ Type : html β”‚ Size : 767 bytes β”‚ Path : public/future-innovation-lab.html β”œβ”€β”€ πŸ“„ journal-platform-deep-dive.html β”‚ Type : html β”‚ Size : 782 bytes β”‚ Path : public/journal-platform-deep-dive.html β”œβ”€β”€ πŸ“„ learning-roadmap-and-goals.html β”‚ Type : html β”‚ Size : 782 bytes β”‚ Path : public/learning-roadmap-and-goals.html β”œβ”€β”€ πŸ“„ legal-and-compliance-summary.html β”‚ Type : html β”‚ Size : 788 bytes β”‚ Path : public/legal-and-compliance-summary.html β”œβ”€β”€ πŸ“„ m-qlynk-me-1024x768desktop-192b9e.png β”‚ Type : png β”‚ Size : 134193 bytes β”‚ Path : public/m-qlynk-me-1024x768desktop-192b9e.png β”œβ”€β”€ πŸ“„ magicbite-odoo-com-1024x768desktop-f5cc51.png β”‚ Type : png β”‚ Size : 725474 bytes β”‚ Path : public/magicbite-odoo-com-1024x768desktop-f5cc51.png β”œβ”€β”€ πŸ“„ mobile-experience-handbook.html β”‚ Type : html β”‚ Size : 787 bytes β”‚ Path : public/mobile-experience-handbook.html β”œβ”€β”€ πŸ“„ monitoring-and-status-notes.html β”‚ Type : html β”‚ Size : 793 bytes β”‚ Path : public/monitoring-and-status-notes.html β”œβ”€β”€ πŸ“„ performance-engineering-report.html β”‚ Type : html β”‚ Size : 801 bytes β”‚ Path : public/performance-engineering-report.html β”œβ”€β”€ πŸ“„ portfolio-case-study-node-server.html β”‚ Type : html β”‚ Size : 790 bytes β”‚ Path : public/portfolio-case-study-node-server.html β”œβ”€β”€ πŸ“„ portfolio-case-study-quicklink.html β”‚ Type : html β”‚ Size : 784 bytes β”‚ Path : public/portfolio-case-study-quicklink.html β”œβ”€β”€ πŸ“„ portfolio-case-study-studybot.html β”‚ Type : html β”‚ Size : 781 bytes β”‚ Path : public/portfolio-case-study-studybot.html β”œβ”€β”€ πŸ“„ portfolio-case-study-transparent-clock.html β”‚ Type : html β”‚ Size : 808 bytes β”‚ Path : public/portfolio-case-study-transparent-clock.html β”œβ”€β”€ πŸ“„ project-architecture-blueprint.html β”‚ Type : html β”‚ Size : 798 bytes β”‚ Path : public/project-architecture-blueprint.html β”œβ”€β”€ πŸ“„ project-retrospective-2026.html β”‚ Type : html β”‚ Size : 782 bytes β”‚ Path : public/project-retrospective-2026.html β”œβ”€β”€ πŸ“„ project-svg β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : public/project-svg β”œβ”€β”€ πŸ“„ pwa-192x192.png β”‚ Type : png β”‚ Size : 66530 bytes β”‚ Path : public/pwa-192x192.png β”œβ”€β”€ πŸ“„ quicklink-logo.svg β”‚ Type : svg β”‚ Size : 694 bytes β”‚ Path : public/quicklink-logo.svg β”œβ”€β”€ πŸ“„ robots.txt β”‚ Type : txt β”‚ Size : 691 bytes β”‚ Path : public/robots.txt β”œβ”€β”€ πŸ“„ security-hardening-notes.html β”‚ Type : html β”‚ Size : 784 bytes β”‚ Path : public/security-hardening-notes.html β”œβ”€β”€ πŸ“„ seo-and-indexing-guide.html β”‚ Type : html β”‚ Size : 778 bytes β”‚ Path : public/seo-and-indexing-guide.html β”œβ”€β”€ πŸ“„ site.webmanifest β”‚ Type : webmanifest β”‚ Size : 263 bytes β”‚ Path : public/site.webmanifest β”œβ”€β”€ πŸ“„ sitemap.xml.txt β”‚ Type : txt β”‚ Size : 4403 bytes β”‚ Path : public/sitemap.xml.txt β”œβ”€β”€ πŸ“„ static-pages-app.js β”‚ Type : js β”‚ Size : 4214 bytes β”‚ Path : public/static-pages-app.js β”œβ”€β”€ πŸ“„ static-pages-data.js β”‚ Type : js β”‚ Size : 8150 bytes β”‚ Path : public/static-pages-data.js β”œβ”€β”€ πŸ“„ static-pages.css β”‚ Type : css β”‚ Size : 3224 bytes β”‚ Path : public/static-pages.css β”œβ”€β”€ πŸ“„ static-pages.html β”‚ Type : html β”‚ Size : 876 bytes β”‚ Path : public/static-pages.html β”œβ”€β”€ πŸ“„ ui-design-system-overview.html β”‚ Type : html β”‚ Size : 781 bytes β”‚ Path : public/ui-design-system-overview.html β”œβ”€β”€ πŸ“„ user-feedback-operations.html β”‚ Type : html β”‚ Size : 776 bytes β”‚ Path : public/user-feedback-operations.html β”œβ”€β”€ πŸ“„ verified.svg β”‚ Type : svg β”‚ Size : 701 bytes β”‚ Path : public/verified.svg

β”‚ πŸ“ Folder : .well-known/ β”‚ Path : public/.well-known/ β”‚ Files : 1 β”‚ β”œβ”€β”€ πŸ“„ discord β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : 88 bytes β”‚ β”‚ Path : public/.well-known/discord

β”‚ πŸ“ Folder : assets/ β”‚ Path : public/assets/ β”‚ Files : 3 β”‚ β”œβ”€β”€ πŸ“„ docs β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : public/assets/docs β”‚ β”œβ”€β”€ πŸ“„ images β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : public/assets/images β”‚ β”œβ”€β”€ πŸ“„ js β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : public/assets/js

β”‚ β”‚ πŸ“ Folder : docs/ β”‚ β”‚ Path : public/assets/docs/ β”‚ β”‚ Files : 1 β”‚ β”‚ β”œβ”€β”€ πŸ“„ Deep_Dey_Portfolio.pdf β”‚ β”‚ β”‚ Type : pdf β”‚ β”‚ β”‚ Size : 1943075 bytes β”‚ β”‚ β”‚ Path : public/assets/docs/Deep_Dey_Portfolio.pdf

β”‚ β”‚ πŸ“ Folder : images/ β”‚ β”‚ Path : public/assets/images/ β”‚ β”‚ Files : 1 β”‚ β”‚ β”œβ”€β”€ πŸ“„ myphoto.png β”‚ β”‚ β”‚ Type : png β”‚ β”‚ β”‚ Size : 121296 bytes β”‚ β”‚ β”‚ Path : public/assets/images/myphoto.png

β”‚ β”‚ πŸ“ Folder : js/ β”‚ β”‚ Path : public/assets/js/ β”‚ β”‚ Files : 1 β”‚ β”‚ β”œβ”€β”€ πŸ“„ footer-extras.js β”‚ β”‚ β”‚ Type : js β”‚ β”‚ β”‚ Size : 29821 bytes β”‚ β”‚ β”‚ Path : public/assets/js/footer-extras.js

β”‚ πŸ“ Folder : cursors/ β”‚ Path : public/cursors/ β”‚ Files : 3 β”‚ β”œβ”€β”€ πŸ“„ manifest.json β”‚ β”‚ Type : json β”‚ β”‚ Size : 703 bytes β”‚ β”‚ Path : public/cursors/manifest.json β”‚ β”œβ”€β”€ πŸ“„ system β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : public/cursors/system β”‚ β”œβ”€β”€ πŸ“„ visual β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : public/cursors/visual

β”‚ β”‚ πŸ“ Folder : system/ β”‚ β”‚ Path : public/cursors/system/ β”‚ β”‚ Files : 7 β”‚ β”‚ β”œβ”€β”€ πŸ“„ action.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 296 bytes β”‚ β”‚ β”‚ Path : public/cursors/system/action.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ click.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 298 bytes β”‚ β”‚ β”‚ Path : public/cursors/system/click.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ default.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 478 bytes β”‚ β”‚ β”‚ Path : public/cursors/system/default.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ drag.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 296 bytes β”‚ β”‚ β”‚ Path : public/cursors/system/drag.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ input.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 331 bytes β”‚ β”‚ β”‚ Path : public/cursors/system/input.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ select.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 266 bytes β”‚ β”‚ β”‚ Path : public/cursors/system/select.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ text.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 272 bytes β”‚ β”‚ β”‚ Path : public/cursors/system/text.svg

β”‚ β”‚ πŸ“ Folder : visual/ β”‚ β”‚ Path : public/cursors/visual/ β”‚ β”‚ Files : 20 β”‚ β”‚ β”œβ”€β”€ πŸ“„ anchor-grid.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 351 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/anchor-grid.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ aurora-dart.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 442 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/aurora-dart.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ click-burst.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 276 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/click-burst.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ comet.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 383 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/comet.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ drag-node.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 312 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/drag-node.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ flare-triangle.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 260 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/flare-triangle.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ glass-arrow.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 276 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/glass-arrow.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ ink-beam.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 327 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/ink-beam.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ input-beam.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 278 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/input-beam.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ magnet-drag.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 280 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/magnet-drag.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ neon-needle.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 221 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/neon-needle.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ nova-click.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 280 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/nova-click.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ orbit.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 290 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/orbit.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ prism-arrow.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 462 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/prism-arrow.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ pulse-core.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 280 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/pulse-core.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ quantum-tip.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 266 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/quantum-tip.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ scribe.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 261 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/scribe.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ selection-ring.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 321 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/selection-ring.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ spark-lance.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 296 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/spark-lance.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ vector-wing.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 253 bytes β”‚ β”‚ β”‚ Path : public/cursors/visual/vector-wing.svg

β”‚ πŸ“ Folder : project-svg/ β”‚ Path : public/project-svg/ β”‚ Files : 3 β”‚ β”œβ”€β”€ πŸ“„ brand β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : public/project-svg/brand β”‚ β”œβ”€β”€ πŸ“„ cursors β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : public/project-svg/cursors β”‚ β”œβ”€β”€ πŸ“„ manifest.json β”‚ β”‚ Type : json β”‚ β”‚ Size : 703 bytes β”‚ β”‚ Path : public/project-svg/manifest.json

β”‚ β”‚ πŸ“ Folder : brand/ β”‚ β”‚ Path : public/project-svg/brand/ β”‚ β”‚ Files : 3 β”‚ β”‚ β”œβ”€β”€ πŸ“„ crown.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 27153 bytes β”‚ β”‚ β”‚ Path : public/project-svg/brand/crown.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ quicklink-logo.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 694 bytes β”‚ β”‚ β”‚ Path : public/project-svg/brand/quicklink-logo.svg β”‚ β”‚ β”œβ”€β”€ πŸ“„ verified.svg β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ Size : 701 bytes β”‚ β”‚ β”‚ Path : public/project-svg/brand/verified.svg

β”‚ β”‚ πŸ“ Folder : cursors/ β”‚ β”‚ Path : public/project-svg/cursors/ β”‚ β”‚ Files : 2 β”‚ β”‚ β”œβ”€β”€ πŸ“„ system β”‚ β”‚ β”‚ Type : No Extension β”‚ β”‚ β”‚ Size : - bytes β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system β”‚ β”‚ β”œβ”€β”€ πŸ“„ visual β”‚ β”‚ β”‚ Type : No Extension β”‚ β”‚ β”‚ Size : - bytes β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual

β”‚ β”‚ β”‚ πŸ“ Folder : system/ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/ β”‚ β”‚ β”‚ Files : 7 β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ action.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 296 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/action.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ click.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 298 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/click.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ default.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 478 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/default.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ drag.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 296 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/drag.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ input.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 331 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/input.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ select.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 266 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/select.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ text.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 272 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/system/text.svg

β”‚ β”‚ β”‚ πŸ“ Folder : visual/ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/ β”‚ β”‚ β”‚ Files : 20 β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ anchor-grid.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 351 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/anchor-grid.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ aurora-dart.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 442 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/aurora-dart.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ click-burst.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 276 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/click-burst.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ comet.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 383 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/comet.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ drag-node.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 312 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/drag-node.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ flare-triangle.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 260 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/flare-triangle.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ glass-arrow.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 276 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/glass-arrow.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ ink-beam.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 327 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/ink-beam.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ input-beam.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 278 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/input-beam.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ magnet-drag.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 280 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/magnet-drag.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ neon-needle.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 221 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/neon-needle.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ nova-click.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 280 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/nova-click.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ orbit.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 290 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/orbit.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ prism-arrow.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 462 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/prism-arrow.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ pulse-core.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 280 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/pulse-core.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ quantum-tip.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 266 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/quantum-tip.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ scribe.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 261 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/scribe.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ selection-ring.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 321 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/selection-ring.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ spark-lance.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 296 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/spark-lance.svg β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“„ vector-wing.svg β”‚ β”‚ β”‚ β”‚ Type : svg β”‚ β”‚ β”‚ β”‚ Size : 253 bytes β”‚ β”‚ β”‚ β”‚ Path : public/project-svg/cursors/visual/vector-wing.svg πŸ“ Folder : src/ Path : src/ Files : 10 β”œβ”€β”€ πŸ“„ App.tsx β”‚ Type : tsx β”‚ Size : 20830 bytes β”‚ Path : src/App.tsx β”œβ”€β”€ πŸ“„ components β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : src/components β”œβ”€β”€ πŸ“„ context β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : src/context β”œβ”€β”€ πŸ“„ data β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : src/data β”œβ”€β”€ πŸ“„ features β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : src/features β”œβ”€β”€ πŸ“„ index.css β”‚ Type : css β”‚ Size : 2612 bytes β”‚ Path : src/index.css β”œβ”€β”€ πŸ“„ main.tsx β”‚ Type : tsx β”‚ Size : 625 bytes β”‚ Path : src/main.tsx β”œβ”€β”€ πŸ“„ pages β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : src/pages β”œβ”€β”€ πŸ“„ utils β”‚ Type : No Extension β”‚ Size : - bytes β”‚ Path : src/utils β”œβ”€β”€ πŸ“„ vite-env.d.ts β”‚ Type : ts β”‚ Size : 38 bytes β”‚ Path : src/vite-env.d.ts

β”‚ πŸ“ Folder : components/ β”‚ Path : src/components/ β”‚ Files : 18 β”‚ β”œβ”€β”€ πŸ“„ CommentSection.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 40739 bytes β”‚ β”‚ Path : src/components/CommentSection.tsx β”‚ β”œβ”€β”€ πŸ“„ ContactForm.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 7470 bytes β”‚ β”‚ Path : src/components/ContactForm.tsx β”‚ β”œβ”€β”€ πŸ“„ CustomPointerSystem.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 15906 bytes β”‚ β”‚ Path : src/components/CustomPointerSystem.tsx β”‚ β”œβ”€β”€ πŸ“„ FAQ.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 3098 bytes β”‚ β”‚ Path : src/components/FAQ.tsx β”‚ β”œβ”€β”€ πŸ“„ FeedbackAdminPanel.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 15071 bytes β”‚ β”‚ Path : src/components/FeedbackAdminPanel.tsx β”‚ β”œβ”€β”€ πŸ“„ Footer.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 25762 bytes β”‚ β”‚ Path : src/components/Footer.tsx β”‚ β”œβ”€β”€ πŸ“„ Header.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 17136 bytes β”‚ β”‚ Path : src/components/Header.tsx β”‚ β”œβ”€β”€ πŸ“„ IdentityBadges.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 2597 bytes β”‚ β”‚ Path : src/components/IdentityBadges.tsx β”‚ β”œβ”€β”€ πŸ“„ JournalHtmlBlobRenderer.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 3464 bytes β”‚ β”‚ Path : src/components/JournalHtmlBlobRenderer.tsx β”‚ β”œβ”€β”€ πŸ“„ JourneyMarquee.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 3325 bytes β”‚ β”‚ Path : src/components/JourneyMarquee.tsx β”‚ β”œβ”€β”€ πŸ“„ Layout.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 1028 bytes β”‚ β”‚ Path : src/components/Layout.tsx β”‚ β”œβ”€β”€ πŸ“„ LoadingScreen.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 9297 bytes β”‚ β”‚ Path : src/components/LoadingScreen.tsx β”‚ β”œβ”€β”€ πŸ“„ ProjectPlaceholder.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 2903 bytes β”‚ β”‚ Path : src/components/ProjectPlaceholder.tsx β”‚ β”œβ”€β”€ πŸ“„ SEO.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 1911 bytes β”‚ β”‚ Path : src/components/SEO.tsx β”‚ β”œβ”€β”€ πŸ“„ ScrollToTop.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 1992 bytes β”‚ β”‚ Path : src/components/ScrollToTop.tsx β”‚ β”œβ”€β”€ πŸ“„ SocialProof.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 12442 bytes β”‚ β”‚ Path : src/components/SocialProof.tsx β”‚ β”œβ”€β”€ πŸ“„ StatusWidget.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 13348 bytes β”‚ β”‚ Path : src/components/StatusWidget.tsx β”‚ β”œβ”€β”€ πŸ“„ TechGalaxy.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 15250 bytes β”‚ β”‚ Path : src/components/TechGalaxy.tsx

β”‚ πŸ“ Folder : context/ β”‚ Path : src/context/ β”‚ Files : 1 β”‚ β”œβ”€β”€ πŸ“„ LanguageContext.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 5175 bytes β”‚ β”‚ Path : src/context/LanguageContext.tsx

β”‚ πŸ“ Folder : data/ β”‚ Path : src/data/ β”‚ Files : 8 β”‚ β”œβ”€β”€ πŸ“„ contentData.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 5328 bytes β”‚ β”‚ Path : src/data/contentData.ts β”‚ β”œβ”€β”€ πŸ“„ faqData.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 126236 bytes β”‚ β”‚ Path : src/data/faqData.ts β”‚ β”œβ”€β”€ πŸ“„ linksData.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 26480 bytes β”‚ β”‚ Path : src/data/linksData.ts β”‚ β”œβ”€β”€ πŸ“„ nowData.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 3137 bytes β”‚ β”‚ Path : src/data/nowData.ts β”‚ β”œβ”€β”€ πŸ“„ pointerAssets.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 12402 bytes β”‚ β”‚ Path : src/data/pointerAssets.tsx β”‚ β”œβ”€β”€ πŸ“„ projectsData.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 11155 bytes β”‚ β”‚ Path : src/data/projectsData.ts β”‚ β”œβ”€β”€ πŸ“„ proofData.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 4096 bytes β”‚ β”‚ Path : src/data/proofData.ts β”‚ β”œβ”€β”€ πŸ“„ timelineData.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 2645 bytes β”‚ β”‚ Path : src/data/timelineData.ts

β”‚ πŸ“ Folder : features/ β”‚ Path : src/features/ β”‚ Files : 4 β”‚ β”œβ”€β”€ πŸ“„ FeaturePageTemplate.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 6069 bytes β”‚ β”‚ Path : src/features/FeaturePageTemplate.tsx β”‚ β”œβ”€β”€ πŸ“„ feature-links.json β”‚ β”‚ Type : json β”‚ β”‚ Size : 8567 bytes β”‚ β”‚ Path : src/features/feature-links.json β”‚ β”œβ”€β”€ πŸ“„ pages β”‚ β”‚ Type : No Extension β”‚ β”‚ Size : - bytes β”‚ β”‚ Path : src/features/pages β”‚ β”œβ”€β”€ πŸ“„ types.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 654 bytes β”‚ β”‚ Path : src/features/types.ts

β”‚ β”‚ πŸ“ Folder : pages/ β”‚ β”‚ Path : src/features/pages/ β”‚ β”‚ Files : 32 β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureArchitectureLayers.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3330 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureArchitectureLayers.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureAtlasNavigation.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3301 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureAtlasNavigation.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureAuthoringStandards.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3331 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureAuthoringStandards.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureBackNavigation.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3284 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureBackNavigation.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureChangeImpact.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3272 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureChangeImpact.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureCompatibilityGuard.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3329 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureCompatibilityGuard.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureContentDensity.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3298 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureContentDensity.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureDataOwnership.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3283 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureDataOwnership.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureDiagramEngine.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3286 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureDiagramEngine.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureDiagramReadability.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3331 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureDiagramReadability.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureDynamicDiscovery.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3311 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureDynamicDiscovery.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureFaqKnowledge.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3277 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureFaqKnowledge.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureFutureExpansion.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3302 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureFutureExpansion.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureHeaderEntrypoint.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3310 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureHeaderEntrypoint.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureImplementationNotes.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3338 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureImplementationNotes.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureMaintenanceMode.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3301 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureMaintenanceMode.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureObservabilityHooks.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3328 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureObservabilityHooks.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeaturePerformanceBudget.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3320 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeaturePerformanceBudget.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureQualityGates.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3271 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureQualityGates.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureReleaseReadiness.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3308 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureReleaseReadiness.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureRenderPipeline.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3298 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureRenderPipeline.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureRiskRegister.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3275 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureRiskRegister.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureRoadmapTracks.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3281 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureRoadmapTracks.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureRoutingContract.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3298 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureRoutingContract.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureSchemaGovernance.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3321 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureSchemaGovernance.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureSecurityPosture.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3299 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureSecurityPosture.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureSeoContracts.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3267 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureSeoContracts.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureSitemapIntegration.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3326 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureSitemapIntegration.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureSummaryTruncation.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3311 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureSummaryTruncation.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureSystemCore.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3263 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureSystemCore.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureVisualizationPanels.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3340 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureVisualizationPanels.tsx β”‚ β”‚ β”œβ”€β”€ πŸ“„ FeatureWorkflowSequencer.tsx β”‚ β”‚ β”‚ Type : tsx β”‚ β”‚ β”‚ Size : 3317 bytes β”‚ β”‚ β”‚ Path : src/features/pages/FeatureWorkflowSequencer.tsx

β”‚ πŸ“ Folder : pages/ β”‚ Path : src/pages/ β”‚ Files : 34 β”‚ β”œβ”€β”€ πŸ“„ About.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 17673 bytes β”‚ β”‚ Path : src/pages/About.tsx β”‚ β”œβ”€β”€ πŸ“„ AllUsers.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 11024 bytes β”‚ β”‚ Path : src/pages/AllUsers.tsx β”‚ β”œβ”€β”€ πŸ“„ CommentGuide.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 12324 bytes β”‚ β”‚ Path : src/pages/CommentGuide.tsx β”‚ β”œβ”€β”€ πŸ“„ CommentPermalink.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 10574 bytes β”‚ β”‚ Path : src/pages/CommentPermalink.tsx β”‚ β”œβ”€β”€ πŸ“„ Contact.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 41900 bytes β”‚ β”‚ Path : src/pages/Contact.tsx β”‚ β”œβ”€β”€ πŸ“„ Copyright.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 3798 bytes β”‚ β”‚ Path : src/pages/Copyright.tsx β”‚ β”œβ”€β”€ πŸ“„ DMCA.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 3425 bytes β”‚ β”‚ Path : src/pages/DMCA.tsx β”‚ β”œβ”€β”€ πŸ“„ Dashboard.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 246027 bytes β”‚ β”‚ Path : src/pages/Dashboard.tsx β”‚ β”œβ”€β”€ πŸ“„ FAQ.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 14411 bytes β”‚ β”‚ Path : src/pages/FAQ.tsx β”‚ β”œβ”€β”€ πŸ“„ Features.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 4063 bytes β”‚ β”‚ Path : src/pages/Features.tsx β”‚ β”œβ”€β”€ πŸ“„ Feedback.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 30223 bytes β”‚ β”‚ Path : src/pages/Feedback.tsx β”‚ β”œβ”€β”€ πŸ“„ Home.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 47426 bytes β”‚ β”‚ Path : src/pages/Home.tsx β”‚ β”œβ”€β”€ πŸ“„ Journal.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 17865 bytes β”‚ β”‚ Path : src/pages/Journal.tsx β”‚ β”œβ”€β”€ πŸ“„ JournalAllComments.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 15524 bytes β”‚ β”‚ Path : src/pages/JournalAllComments.tsx β”‚ β”œβ”€β”€ πŸ“„ JournalEmbed.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 9760 bytes β”‚ β”‚ Path : src/pages/JournalEmbed.tsx β”‚ β”œβ”€β”€ πŸ“„ JournalTagResults.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 9683 bytes β”‚ β”‚ Path : src/pages/JournalTagResults.tsx β”‚ β”œβ”€β”€ πŸ“„ JournalView.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 19950 bytes β”‚ β”‚ Path : src/pages/JournalView.tsx β”‚ β”œβ”€β”€ πŸ“„ LegalHub.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 8211 bytes β”‚ β”‚ Path : src/pages/LegalHub.tsx β”‚ β”œβ”€β”€ πŸ“„ License.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 2876 bytes β”‚ β”‚ Path : src/pages/License.tsx β”‚ β”œβ”€β”€ πŸ“„ Links.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 12013 bytes β”‚ β”‚ Path : src/pages/Links.tsx β”‚ β”œβ”€β”€ πŸ“„ Live.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 20982 bytes β”‚ β”‚ Path : src/pages/Live.tsx β”‚ β”œβ”€β”€ πŸ“„ Me.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 10263 bytes β”‚ β”‚ Path : src/pages/Me.tsx β”‚ β”œβ”€β”€ πŸ“„ NotFound.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 34965 bytes β”‚ β”‚ Path : src/pages/NotFound.tsx β”‚ β”œβ”€β”€ πŸ“„ Now.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 3636 bytes β”‚ β”‚ Path : src/pages/Now.tsx β”‚ β”œβ”€β”€ πŸ“„ Portfolio.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 9154 bytes β”‚ β”‚ Path : src/pages/Portfolio.tsx β”‚ β”œβ”€β”€ πŸ“„ Privacy.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 6975 bytes β”‚ β”‚ Path : src/pages/Privacy.tsx β”‚ β”œβ”€β”€ πŸ“„ ProjectDetail.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 9030 bytes β”‚ β”‚ Path : src/pages/ProjectDetail.tsx β”‚ β”œβ”€β”€ πŸ“„ Projects.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 12946 bytes β”‚ β”‚ Path : src/pages/Projects.tsx β”‚ β”œβ”€β”€ πŸ“„ Proof.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 5212 bytes β”‚ β”‚ Path : src/pages/Proof.tsx β”‚ β”œβ”€β”€ πŸ“„ SearchResults.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 34403 bytes β”‚ β”‚ Path : src/pages/SearchResults.tsx β”‚ β”œβ”€β”€ πŸ“„ Security.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 3423 bytes β”‚ β”‚ Path : src/pages/Security.tsx β”‚ β”œβ”€β”€ πŸ“„ Status.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 59087 bytes β”‚ β”‚ Path : src/pages/Status.tsx β”‚ β”œβ”€β”€ πŸ“„ Terms.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 7570 bytes β”‚ β”‚ Path : src/pages/Terms.tsx β”‚ β”œβ”€β”€ πŸ“„ UserProfile.tsx β”‚ β”‚ Type : tsx β”‚ β”‚ Size : 41931 bytes β”‚ β”‚ Path : src/pages/UserProfile.tsx

β”‚ πŸ“ Folder : utils/ β”‚ Path : src/utils/ β”‚ Files : 4 β”‚ β”œβ”€β”€ πŸ“„ feedback.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 1407 bytes β”‚ β”‚ Path : src/utils/feedback.ts β”‚ β”œβ”€β”€ πŸ“„ iconMap.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 1067 bytes β”‚ β”‚ Path : src/utils/iconMap.ts β”‚ β”œβ”€β”€ πŸ“„ journalHtmlApiUrl.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 374 bytes β”‚ β”‚ Path : src/utils/journalHtmlApiUrl.ts β”‚ β”œβ”€β”€ πŸ“„ watermark.ts β”‚ β”‚ Type : ts β”‚ β”‚ Size : 978 bytes β”‚ β”‚ Path : src/utils/watermark.ts

Files directly inside ROOT:

πŸ“„ .env.example Type : example Size : 2729 bytes Path : .env.example

πŸ“„ .github Type : github Size : - bytes Path : .github

πŸ“„ .gitignore Type : gitignore Size : 73 bytes Path : .gitignore

πŸ“„ CHANGELOG.md Type : md Size : 24303 bytes Path : CHANGELOG.md

πŸ“„ CODE_OF_CONDUCT.md Type : md Size : 4094 bytes Path : CODE_OF_CONDUCT.md

πŸ“„ CONTRIBUTING.md Type : md Size : 6522 bytes Path : CONTRIBUTING.md

πŸ“„ CONTRIBUTOR.md Type : md Size : 1675 bytes Path : CONTRIBUTOR.md

πŸ“„ LICENSE Type : No Extension Size : 2068 bytes Path : LICENSE

πŸ“„ PORTFOLIO_SETUP_DEPLOYMENT_MANUAL.md Type : md Size : 261737 bytes Path : PORTFOLIO_SETUP_DEPLOYMENT_MANUAL.md

πŸ“„ README.md Type : md Size : 57326 bytes Path : README.md

πŸ“„ SECURITY.md Type : md Size : 5469 bytes Path : SECURITY.md

πŸ“„ SUPPORT.md Type : md Size : 3523 bytes Path : SUPPORT.md

πŸ“„ api Type : No Extension Size : - bytes Path : api

πŸ“„ dist Type : No Extension Size : - bytes Path : dist

πŸ“„ index.html Type : html Size : 7093 bytes Path : index.html

πŸ“„ metadata.json Type : json Size : 171 bytes Path : metadata.json

πŸ“„ package-lock.json Type : json Size : 208211 bytes Path : package-lock.json

πŸ“„ package.json Type : json Size : 1115 bytes Path : package.json

πŸ“„ public Type : No Extension Size : - bytes Path : public

πŸ“„ src Type : No Extension Size : - bytes Path : src

πŸ“„ tailwind.config.js Type : js Size : 659 bytes Path : tailwind.config.js

πŸ“„ tsconfig.json Type : json Size : 569 bytes Path : tsconfig.json

πŸ“„ vercel.json Type : json Size : 3096 bytes Path : vercel.json

πŸ“„ vite.config.ts Type : ts Size : 705 bytes Path : vite.config.ts


πŸ“‹ Changelog

See CHANGELOG.md for a full version history and release notes. For full ownership transfer and deployment instructions, see PORTFOLIO_SETUP_DEPLOYMENT_MANUAL.md.


πŸš€ Local Development

Prerequisites

  • Node.js β‰₯ 18.x
  • npm β‰₯ 9.x

Setup

# 1. Clone the repository
git clone https://github.com/deepdeyiitgn/My-Portfolio.git
cd My-Portfolio

# 2. Install dependencies
npm install

# 3. Start the development server
npm run dev

Available Scripts

Script Command Description
dev vite Start local dev server with HMR
build vite build Production build to ./dist
preview vite preview Preview production build locally
lint tsc --noEmit TypeScript type-check (no emit)

Environment Variables

Set the following in your Vercel project settings (or a .env.local for local development β€” never commit this file):

# MongoDB connection string for Journal + Category storage
MONGODB_URI=mongodb+srv://<user>:<password>@cluster.mongodb.net/portfolio

# CDN upload password for the static.qlynk.me proxy
SPACE_PASSWORD=your_space_password_here

# Optional but recommended: enforce audience check on Google identity token verification
GOOGLE_CLIENT_ID=your_google_oauth_client_id

Where to find each value:

  • MONGODB_URI: MongoDB Atlas β†’ Database β†’ Connect β†’ Drivers connection string URI.
  • SPACE_PASSWORD: from your static.qlynk.me/storage provider account credentials (the upload API secret you configure for /api/upload-image).
  • GOOGLE_CLIENT_ID: Google Cloud Console β†’ APIs & Services β†’ Credentials β†’ OAuth 2.0 Client IDs.
  • YOUTUBE_API_KEY / GOOGLE_API_KEY (optional): Google Cloud Console β†’ APIs & Services β†’ Credentials β†’ API key.
    Also enable YouTube Data API v3 in the same project under Library.

Note: The app runs in read-only mode without these variables. Journal CRUD and image upload require valid credentials.


🧩 Make This Your Own Portfolio (Complete Customization Guide)

If you want to turn this project into your own portfolio site, follow this checklist.

1) Personal Branding and Core Identity

  • Replace avatar/media assets in:
    • public/assets/images/
    • public/assets/docs/ (portfolio PDF)
  • Update name/title/identity copy across route pages:
    • src/pages/Home.tsx
    • src/pages/About.tsx
    • src/pages/Me.tsx
    • src/pages/Portfolio.tsx
  • Update owner metadata and badges where owner identity is rendered:
    • src/pages/AllUsers.tsx
    • src/pages/UserProfile.tsx
    • src/components/CommentSection.tsx

2) Content and Data You Can Edit Quickly

  • Projects: src/data/projectsData.ts
  • Feature listing JSON: src/features/feature-links.json
  • Feature page files: src/features/pages/*.tsx
  • Timeline/Journey: src/data/timelineData.ts
  • Links hub: src/data/linksData.ts
  • FAQ: src/data/faqData.ts
  • β€œNow” content: src/data/nowData.ts

These files are the fastest path for non-backend customization.

3) SEO, Domain, and Public Metadata

  • Global/per-page SEO component: src/components/SEO.tsx β€” injects full OG + Twitter Card tags on every route
  • Static baseline meta tags (OG + Twitter Card + JSON-LD) live in index.html β€” edit here for global fallback defaults
  • App route registration: src/App.tsx
  • Static crawler files:
    • public/robots.txt

4) How to Add a New Feature Page (Manual Flow)

  1. Create a new TSX page file in src/features/pages/ (copy any existing feature page format).
  2. Add its card metadata (title, summary, link) to src/features/feature-links.json.
  3. Add a lazy import in src/App.tsx.
  4. Add a new <Route path=\"/feature/<your-slug>\" element={<YourFeaturePage />} /> in src/App.tsx.
  5. Ensure page includes the standard back-to-feature button (/feature) and SEO metadata block.
  • public/sitemap.xml (plus dynamic API sitemap via /api/sitemap)
  • Update canonical domain references if you deploy to a new domain.

4) Dashboard and CMS Behavior

  • Owner dashboard UI: src/pages/Dashboard.tsx
  • Journal/feedback/user moderation APIs: api/journal.js
  • Categories and feedback taxonomy APIs: api/categories.js
  • Auth/session API: api/auth.js
  • Image upload proxy API: api/upload-image.js

For changes in admin workflows, prefer extending existing API files instead of creating new route files.

5) Identity, Privacy, and Community System

  • Public profile/community pages:
    • src/pages/AllUsers.tsx
    • src/pages/UserProfile.tsx
  • Privacy/legal pages:
    • src/pages/Privacy.tsx
    • src/pages/Terms.tsx
    • src/pages/DMCA.tsx
    • src/pages/Copyright.tsx

Current identity behavior:

  • Google-authenticated users can have private identity fields in account records (email + private 16-digit service key).
  • Service key is masked by default, reveal/copy/rotate-capable, and intended for support-side identity verification.

6) Verify Your Customized Build

npm ci
npm run lint
npm run build

If both checks pass, your customized portfolio is production-ready for Vercel deployment.


πŸ” Security

Security issues must not be reported via public GitHub issues. See SECURITY.md for the full responsible disclosure policy and response timeline.

  • Email a@qlynk.me or team.deepdey@gmail.com
  • Subject: [SECURITY REPORT] <Brief Description>
  • Critical patches deployed within 24 hours of triage

🀝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md before opening a pull request.

Quick rules:

  1. Fork β†’ branch β†’ PR (small, focused changes only)
  2. Run npm run lint and npm run build before submitting
  3. Maintain visual consistency with the Dark-Amber design system
  4. No secrets or private credentials in any commit

⏸️ Academic Hiatus Notice

Effective: April 9, 2026

All major external software projects (DEQLYNK, QuickLink, Transparent Clock) are on strict hiatus. Bandwidth is 100% reallocated to JEE Advanced 2027 preparation targeting IIT KGP CSE. Routine feature updates resume post-examination.

Bug fixes, security patches, and documentation improvements remain active.


©️ License & Copyright

Designed and Architected by Deep Dey Β© 2020–2026 Deep Dey Β· All Rights Reserved

This repository is published under a Custom Restricted (View-Only) License. See LICENSE for full terms.

For collaboration or architectural consultation, use the Contact Hub.


⚑ Offline Capabilities (PWA)

This portfolio features full offline capabilities via Service Workers. Vercel Serverless API responses are intelligently cached locally using a StaleWhileRevalidate strategy. Once loaded, the site and its dynamic data remain fully accessible without an internet connection on both mobile and desktop environments.

About

A production-grade, system-architecture-themed personal brand platform and portfolio. Built with React 19, TypeScript, and Tailwind CSS. Features include a MongoDB-backed Journal CMS, 3D PDF portfolio viewer, and smart contact routing.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Contributors