I build things that think, move, and feel alive , from open-source AI platforms to hardware-driven games that made it to GDC. RIT grad, now building AI-powered automation systems as an AI Software Engineer.
Three projects that show my range — hardware, web, and AI. Each one pushed into unfamiliar territory on purpose.
An open-source AI-powered knowledge assistant built during my research role at RIT, designed to help students and staff get fast, cited answers from both the web and a curated document library.
The system combines Retrieval-Augmented Generation with domain-filtered web search, meaning responses are grounded in trusted sources (RIT, Stack Overflow, Microsoft, Adobe, and others) rather than hallucinated from thin air.
Under the hood, a React frontend talks to a FastAPI/Python backend that handles the RAG logic, web search, and OpenAI integration. Conversations auto-title themselves using GPT-5, follow-up suggestions surface contextually, and citations appear live in a sidebar as you chat. I also built a favorites system so users can organize and return to important conversations.
The core engineering challenge was building a retrieval pipeline that felt fast and trustworthy, chunking Dropbox documents for better relevance, filtering search to approved domains, and formatting AI responses in clean HTML so they actually read well in the UI.
ForeCafe is a full-stack social web application built around café culture, a place where users can log their favorite drinks, save café locations, and stay connected with friends through a shared home feed.
I built the entire application on an MVC-style Node.js/Express backend, using MongoDB for data persistence and Redis-backed sessions for secure authentication state. The frontend is a hybrid of server-rendered Handlebars templates with page-specific React bundles mounted for dynamic interactions, a practical architecture that keeps initial loads fast while still delivering a responsive UI.
The social layer is fully featured: users can search for others by username, send and manage friend requests, favorite drinks, and browse a live feed of drinks and café locations from across the platform. On the security side, passwords are hashed with bcrypt, sessions are stored in Redis, and helmet handles secure HTTP headers throughout.
The core engineering challenge was designing a clean data model that kept user-owned content (drinks, locations, friends) properly scoped while still surfacing a coherent shared feed, all without a dedicated API layer, since the Express server handles both page rendering and JSON endpoints.
Patchwork is a cooperative physical game built as the New Media Capstone at RIT, a cross-disciplinary collaboration between Interactive Development and Design seniors. Players use custom cable controllers and four themed health podiums to complete hands-on challenges, saving a monster by addressing health emergencies before watching their creature come to life in real time.
As Lead Developer and Producer, I owned the full software architecture, bridging Node.js with Arduino-based C++ firmware to handle real-time sensor input, motor control, and scoring across the physical podiums. I also wore the producer hat, coordinating across the dev and design teams to ship a cohesive experience that went on to be selected as an Alt.Ctrl.GDC finalist and exhibited at Imagine RIT
What made this project technically interesting was the tight coupling between physical hardware and game state; every cable connection, button press, and sensor trigger had to register instantly and feed back into the creature-building logic with no perceptible lag. Getting Node.js and C++ firmware talking reliably in real time was the core engineering challenge.
A personal productivity dashboard I'm building nights and weekends, designed to give students one place to plan their coursework, focus without distraction, and actually step away, instead of juggling five different apps for five different mental modes.
The core idea is a single dashboard with purpose-built modules, Planner, Focus Mode, Relax Mode, Hobby Mode, and Tracking, that keeps academic and personal data structurally separate, so a hobby project board never quietly turns into another item on your to-do list.
Under the hood, it's a Next.js (App Router, TypeScript) app styled with Tailwind and deployed on Vercel. V1 is fully local-first: Dexie.js wraps IndexedDB so everything, classes, tasks, focus sessions, hobby items, dashboard layout, and settings, lives in the browser with no auth or backend yet. Planner handles classes and task CRUD with client-side due-date reminders. Focus Mode runs a Pomodoro engine with an isolation overlay that hands off cleanly into breaks. Relax Mode pairs an audio mixer with calming visual backgrounds. Hobby Mode gets its own project board, deliberately siloed from the academic data. Tracking auto-logs sessions into streaks and filterable history.
The core engineering challenge was designing the data layer so V1 wouldn't need a rewrite once accounts and sync arrive: every record uses UUIDs instead of auto-increment IDs and carries createdAt/updatedAt timestamps plus a soft-delete flag, so the schema maps cleanly onto a future Prisma-backed sync engine rather than a redesign.
Looking for full-stack engineering roles. I like hard problems, good teams, and building things that actually get used.