diff --git a/components/title-components/mobile-title.tsx b/components/title-components/mobile-title.tsx
index 18f9a323..30fa0e35 100644
--- a/components/title-components/mobile-title.tsx
+++ b/components/title-components/mobile-title.tsx
@@ -1,7 +1,6 @@
"use client";
import TitleText from "./mobile-title-text";
-import InteractiveNavigationMap from "../interactive-map/interactive-map";
import RegistrationButton from "@/components/themed-components/registration-link";
export default function MobileTitleComponent() {
diff --git a/components/title-components/title-text.tsx b/components/title-components/title-text.tsx
index 23e0939c..362e213f 100644
--- a/components/title-components/title-text.tsx
+++ b/components/title-components/title-text.tsx
@@ -1,44 +1,64 @@
"use client";
import { useState, useEffect } from "react";
-import RegistrationButton from "@/components/themed-components/registration-link";
-import InteractiveNavigationMap from "../interactive-map/interactive-map";
import Image from "next/image";
+import PixelSideBar from "../pixel-sidebar/pixel-sidebar";
export default function TitleText() {
const fullText = "HACK\u00A0\u00A0\u00A0RPI";
const [displayedText, setDisplayedText] = useState("");
- const [isDeleting, setIsDeleting] = useState(false);
const [index, setIndex] = useState(0);
+ const [isGlitching, setIsGlitching] = useState(false);
+ const [glitchCount, setGlitchCount] = useState(0);
+
+ // Helper to make random glitch characters
+ const randomChar = () => {
+ const chars = "@#$%&*!?/";
+ return chars[Math.floor(Math.random() * chars.length)];
+ };
useEffect(() => {
- const typingSpeed = isDeleting ? 100 : 150;
+ let timeout: NodeJS.Timeout;
+ const typingSpeed = isGlitching ? 50 : 120;
- const handleTyping = setTimeout(() => {
- if (!isDeleting) {
+ if (!isGlitching) {
+ // Normal typing phase
+ timeout = setTimeout(() => {
if (index < fullText.length) {
+ // Randomly start a glitch
+ if (Math.random() < 0.1 && index > 1) {
+ setIsGlitching(true);
+ setGlitchCount(0);
+ return;
+ }
setDisplayedText((prev) => prev + fullText[index]);
setIndex((prev) => prev + 1);
- } else {
- // finished typing, stop blinking
- return;
}
- } else {
- if (index > 0) {
- setDisplayedText((prev) => prev.slice(0, -1));
- setIndex((prev) => prev - 1);
+ }, typingSpeed);
+ } else {
+ // Glitch phase — happens for a few cycles
+ timeout = setTimeout(() => {
+ if (glitchCount < 5) {
+ // Replace last character(s) with random junk
+ setDisplayedText((prev) => {
+ const base = prev.slice(0, -1);
+ return base + randomChar();
+ });
+ setGlitchCount((prev) => prev + 1);
} else {
- setIsDeleting(false);
+ // End glitch, fix the text, and resume typing
+ setIsGlitching(false);
+ setDisplayedText(fullText.slice(0, index));
}
- }
- }, typingSpeed);
+ }, typingSpeed);
+ }
- return () => clearTimeout(handleTyping);
- }, [index, isDeleting]);
+ return () => clearTimeout(timeout);
+ }, [index, isGlitching, glitchCount]);
return (
- {/* Left side: Box with image */}
+ {/* Box with skyline image */}
- {/* Overlayed typing text */}
+ {/* Typing + glitch text */}
|
- {/* Overlayed typing text */}
-
- {displayedText}
- |
-
-
- {/* Overlayed typing text */}
+ {/* Colored glow layers */}
{displayedText}
- |
+ {/* Subtitle */}
-
- November 15-16, 2025 • Troy, NY
+
+ November 15-16, 2025 • Troy, NY
-
+
Retro V. Modern
- {/* Right side: Map overlapping the box */}
+ {/* Sidebar */}
);
diff --git a/data/members.ts b/data/members.ts
index b519bce9..806a3bde 100644
--- a/data/members.ts
+++ b/data/members.ts
@@ -1,11 +1,11 @@
-import xenia from "../public/team/photos/Xenia_Khusid.jpg";
-import cj from "../public/team/photos/CJ_Marino.jpg";
-import matthew from "../public/team/photos/Xenia_Khusid.jpg";
-import shankar from "../public/team/photos/Shankar_Palanickal.jpg";
-import aaryan from "../public/team/photos/Aaryan_Gautam.jpg";
-import tobias from "../public/team/photos/Xenia_Khusid.jpg";
-import jackson from "../public/team/photos/Xenia_Khusid.jpg";
-import suyash from "../public/team/photos/Suyash_Amatya.jpg";
+import xenia from "../public/team/photos/xenia.jpg";
+import cj from "../public/team/photos/cj.jpg";
+import matthew from "../public/team/photos/matthew.jpg";
+import shankar from "../public/team/photos/shankar.jpg";
+import aaryan from "../public/team/photos/aaryan.jpg";
+import tobias from "../public/team/photos/tobias.jpg";
+import jackson from "../public/team/photos/jackson.jpg";
+import suyash from "../public/team/photos/suyash.jpg";
export const executive = {
"Xenia Khusid": xenia,
@@ -65,7 +65,7 @@ export const team: Team = {
{
name: "Xenia Khusid",
role: "President",
- image: "../public/team/photos/joerogansauna.jpg",
+ image: "xenia.jpg",
"team-color": teamColors.president,
teamDescription:
"The President leads the overall planning and execution of the hackathon, coordinating with all teams to ensure a successful event.",
diff --git a/public/sponsors/sponsor_logos/AccentureWhite.png b/public/sponsors/sponsor_logos/AccentureWhite.png
new file mode 100644
index 00000000..012e9102
Binary files /dev/null and b/public/sponsors/sponsor_logos/AccentureWhite.png differ
diff --git a/public/sponsors/sponsor_logos/VelanStudios.png b/public/sponsors/sponsor_logos/VelanStudios.png
new file mode 100644
index 00000000..d0f6d499
Binary files /dev/null and b/public/sponsors/sponsor_logos/VelanStudios.png differ
diff --git a/public/sponsors/sponsors.json b/public/sponsors/sponsors.json
index 96d75718..028c76fa 100644
--- a/public/sponsors/sponsors.json
+++ b/public/sponsors/sponsors.json
@@ -9,9 +9,10 @@
],
"SILVER": [
{ "name": "Global Foundries", "logoPath": "/GlobalFoundries.png", "url": "https://gf.com/" },
- { "name": "Lutron", "logoPath": "/Lutron.jpeg", "url": "https://www.lutron.com/en-US/Pages/default.aspx" },
+ { "name": "Accenture", "logoPath": "/AccentureWhite.png", "url": "https://www.accenture.com" },
{ "name": "Palantir", "logoPath": "/Palantir.png", "url": "https://www.palantir.com/" },
- { "name": "Rensselaer School of Science", "logoPath": "/RPI_SOS.png", "url": "https://science.rpi.edu/" }
+ { "name": "Rensselaer School of Science", "logoPath": "/RPI_SOS.png", "url": "https://science.rpi.edu/" },
+ { "name": "Velan Studios", "logoPath": "/VelanStudios.png", "url": "https://velanstudios.com/" }
],
"BRONZE": [
{
diff --git a/public/team/photos/Aaryan_Gautam.jpg b/public/team/photos/Aaryan_Gautam.jpg
deleted file mode 100644
index 25e3f884..00000000
Binary files a/public/team/photos/Aaryan_Gautam.jpg and /dev/null differ
diff --git a/public/team/photos/CJ_Marino.jpg b/public/team/photos/CJ_Marino.jpg
deleted file mode 100644
index 737fc194..00000000
Binary files a/public/team/photos/CJ_Marino.jpg and /dev/null differ
diff --git a/public/team/photos/Shankar_Palanickal.jpg b/public/team/photos/Shankar_Palanickal.jpg
deleted file mode 100644
index 977aa575..00000000
Binary files a/public/team/photos/Shankar_Palanickal.jpg and /dev/null differ
diff --git a/public/team/photos/Suyash_Amatya.jpg b/public/team/photos/Suyash_Amatya.jpg
deleted file mode 100644
index 0cdbe017..00000000
Binary files a/public/team/photos/Suyash_Amatya.jpg and /dev/null differ
diff --git a/public/team/photos/Xenia_Khusid.jpg b/public/team/photos/Xenia_Khusid.jpg
deleted file mode 100644
index 33b41161..00000000
Binary files a/public/team/photos/Xenia_Khusid.jpg and /dev/null differ
diff --git a/public/team/photos/aaryan.JPG b/public/team/photos/aaryan.JPG
new file mode 100644
index 00000000..73489380
Binary files /dev/null and b/public/team/photos/aaryan.JPG differ
diff --git a/public/team/photos/cj.JPG b/public/team/photos/cj.JPG
new file mode 100644
index 00000000..c8ca9590
Binary files /dev/null and b/public/team/photos/cj.JPG differ
diff --git a/public/team/photos/jackson.JPG b/public/team/photos/jackson.JPG
new file mode 100644
index 00000000..985e95b3
Binary files /dev/null and b/public/team/photos/jackson.JPG differ
diff --git a/public/team/photos/matthew.JPG b/public/team/photos/matthew.JPG
new file mode 100644
index 00000000..ac86f4b4
Binary files /dev/null and b/public/team/photos/matthew.JPG differ
diff --git a/public/team/photos/shankar.JPG b/public/team/photos/shankar.JPG
new file mode 100644
index 00000000..9c70c0a5
Binary files /dev/null and b/public/team/photos/shankar.JPG differ
diff --git a/public/team/photos/suyash.JPG b/public/team/photos/suyash.JPG
new file mode 100644
index 00000000..d84696fa
Binary files /dev/null and b/public/team/photos/suyash.JPG differ
diff --git a/public/team/photos/tobias.JPG b/public/team/photos/tobias.JPG
new file mode 100644
index 00000000..b8efbb9c
Binary files /dev/null and b/public/team/photos/tobias.JPG differ
diff --git a/public/team/photos/xenia.JPG b/public/team/photos/xenia.JPG
new file mode 100644
index 00000000..9748c807
Binary files /dev/null and b/public/team/photos/xenia.JPG differ