
UniteX
Finding Events now easier.
About
The problem it solves UniteX is built for developers tired of jumping across multiple websites just to find the next big hackathon or tech event. It brings everything together into one clean, developer-friendly platform — so you can spend less time searching and more time building. What can you do with UniteX? 🔍 Find All Events in One Place Discover hackathons, coding competitions, and tech conferences from platforms like DevPost, MLH, Eventbrite, and more — all under one roof. ⌨️ Terminal-Like Experience for Devs Navigate through events using keyboard shortcuts and terminal-style commands — no clicks needed if you don’t want them. 🎯 Filter Smarter, Not Harder Sort events by tech stack, location, prize pool, or date range — quickly zero in on what matters to you. 📅 Stay Organized Track deadlines, submission rules, and event schedules so you never miss an opportunity again. 🌐 Find Your People Join a community of like-minded developers, form teams, and collaborate with ease.
How it's made
Challenges we ran into The Bug: Ran into a ReferenceError: Monitor is not defined when the Desktop component tried to render the Monitor icon — but it wasn’t properly imported. How I Fixed It: Cleaned up and organized all icon imports Set up a centralized icon management system Enabled TypeScript’s strict mode to catch these issues earlier in the dev cycle 🎨 Terminal Aesthetic vs. Web Usability The Challenge: How do you keep the look and feel of an old-school terminal without breaking modern usability or mobile responsiveness? What I Did: Crafted custom CSS animations that simulate terminal-like typing and cursor behavior Used progressive enhancement so touch devices get optimized interactions Applied CSS Grid + Flexbox to maintain layout integrity across all screen sizes ⚡ Lagging with Large Event Lists The Issue: Rendering hundreds of events at once caused noticeable performance drops. Performance Fixes: Added virtual scrolling to only render visible items Introduced debounced search to reduce redundant API hits Used React.memo and useMemo to prevent unnecessary re-renders during heavy computations 🔄 Complex State Management The Problem: Using multiple useState hooks to manage terminal history, current directory, and event data got messy fast. The Refactor: Switched to useReducer for more scalable and organized state logic Built custom hooks to abstract terminal behaviors, making the codebase cleaner, more testable, and easier to reason about