TimeTracker
React + .NET 8 app with JWT auth and clean architecture.
Technologies: React, TypeScript, TanStack Query, .NET 8, EF Core, MySQL, Zoho Mail SMTP
- JWT authentication
- Email confirmation & password reset with automatically emailed expiring tokens
- Time entries CRUD with validation
- Deployed on cloud Ubuntu server with systemd & Nginx
Source codeLive website
Karate Tournament Bracket
Node.js + Express app for managing traditional karate-do tournaments. Supports kumite single-elimination, kata double-elimination brackets, and kata points mode. Version 1 is archived.
Technologies: Node.js, Express, EJS, JavaScript, CSS
- Bracket visualization, next-up feature, and results tracking
- Tested and successfully used in real club tournaments
- Improved administrative efficiency by ~60% and reduced paper usage by ~90%
- Supports single- and double-elimination brackets with alternating match selection and points-based scoring
Source code
Portfolio-OS (this website)
Simplified desktop OS-style portfolio website built with Next.js and Tailwind CSS.
Technologies: JavaScript, React, Next.js, Tailwind CSS
- Draggable, resizable app windows and custom dock navigation
- Interactive terminal built with XTerm.js, supporting commands, history, and window controls
- Dark/light theme toggle and lite mode for reduced resource usage
- Deployed as a static Next.js export on an Ubuntu server
Source code
The Wild Oasis
Luxury cabin administration system for managing cabin information, checking in guests, and configuring booking settings. Built during a React course.
Technologies: React, TanStack Query, Styled components, React Router, React Hook Form
- Supabase authentication and authorization
- Full CRUD for cabins, bookings, and guests
- Reusable styled components, React Hot Toast notifications, and form validation with React Hook Form
- Dashboard with KPIs and Recharts visualizations, with TanStack Query caching
Source code
The Wild Oasis (client side)
Luxury cabin website where guests can view cabins and create, update, and manage bookings through a personal account area. Built during a React course.
Technologies: React, Next.js, TanStack Query, Tailwind CSS, NextAuth v5, React Day Picker
- Google Sign-In integration with NextAuth v5
- Supabase integration for guests, cabins, and bookings with server actions
- Interactive date range picker with booked-date blackout, capacity checks, and price calculation
- Guest area for viewing and editing reservations and updating profile information
Source code
University Website AI Assistant
Chatbot-style AI assistant that helps students navigate complex university websites. Built for a university project using web scraping, semantic search (SentenceTransformer MiniLM-L6-V2), and Google Gemini 2.0 Flash.
Technologies: React, Semantic Search, Gemini API, Python, FastAPI, Sentence Transformers, BeautifulSoup
- RAG pipeline: scraping, text chunking, MiniLM-L6-V2 embeddings, semantic search, and Gemini 2.0 Flash answers
- Understands student intent through keyword similarity to minimize Gemini workload and provides links to relevant pages
- Lets users select the scraping duration to balance search depth and time based on their preferences
- Interactive React interface and FastAPI backend that respect robots.txt and cache search results
Source code