
Smart Code, Real Impact - Full-Stack Portfolio & Business Management Platform
Personal Project
2025
Full-Stack Developer
2 months
Built a dual-purpose platform that combines a beautiful public portfolio with a comprehensive admin dashboard. The system features JWT authentication, drag-and-drop Kanban boards for task management, time tracking, client management, and project request handling - all in one unified application.
This portfolio system showcases my full-stack development capabilities. Let's work together on your next project!
Native HTML5 drag-and-drop implementation for managing todos across three columns (To Do, In Progress, Done) with project-specific filtering and searchable project selector.
Full CRUD operations for projects with detailed case studies, image galleries, tech stack documentation, and featured project highlighting on the public portfolio.
Built-in timer for tracking billable and non-billable hours with project association, task descriptions, and export capabilities for invoicing.
Centralized customer database with contact details, project history, notes system, and status tracking for active, inactive, and prospect clients.
Secure token-based authentication with HTTP-only cookies, password hashing, protected routes, and automatic session management.
Needed efficient drag-and-drop for Kanban boards without adding heavy dependencies
Implemented native HTML5 Drag and Drop API with React state management for zero bundle size impact and native browser performance
// Could have used react-beautiful-dnd (heavy library)
import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';// Native HTML5 - Zero dependencies
const handleDragStart = (e: React.DragEvent, todo: Todo) => {
setDraggedTodo(todo)
e.dataTransfer.effectAllowed = 'move'
}
const handleDrop = (e: React.DragEvent, newStatus: string) => {
e.preventDefault()
if (!draggedTodo) return
const updatedTodo = { ...draggedTodo, status: newStatus }
await updateTodo(updatedTodo)
}From concept to production deployment
Public pages and admin dashboard routes
RESTful endpoints for all CRUD operations
Optimized production build compilation




Mobile-first design with collapsable sidebar, hamburger menu, smooth animations, and touch-optimized interactions for easy mobile navigation.
Public form for potential clients to submit project requests with field validation, budget range selection, and timeline estimation.
Professional confirmation dialogs, add/edit forms, and delete warnings designed with glassmorphism theme for consistent UX.
Project dropdown became unwieldy with many projects, poor UX on mobile
Integrated React Select with custom dark theme styling, search functionality, and mobile-optimized touch interactions
<Select
value={selectedOption}
onChange={handleChange}
options={projectOptions}
isSearchable
styles={{
control: (base) => ({
...base,
backgroundColor:
'rgba(255, 255, 255, 0.05)',
borderColor:
'rgba(255, 255, 255, 0.1)',
}),
menu: (base) => ({
...base,
backgroundColor:
'rgba(10, 10, 10, 0.95)',
backdropFilter:
'blur(12px)'
})
}}
/>Admin sidebar took up space on mobile, making dashboard hard to use
Implemented collapsable sidebar with hamburger menu, smooth slide animations, and backdrop overlay for mobile-first responsive design
// Sidebar with slide animation
<div className={`fixed left-0
top-0 h-full w-64
bg-white/5 backdrop-blur-xl
transition-transform
duration-300 ease-in-out z-50
${isSidebarOpen
? 'translate-x-0'
: '-translate-x-full
lg:translate-x-0'}`}>
{/* Sidebar content */}
</div>
// Content responsive margin
<div className="ml-0 lg:ml-64
pt-16 lg:pt-8
px-4 sm:px-6 lg:px-8">
{/* Page content */}
</div>Mobile navbar with CTA button caused horizontal scroll issues
Made navbar fully responsive with adaptive spacing, compact sizing on mobile, and prevented overflow with global CSS constraints
html, body {
overflow-x: hidden;
max-width: 100vw;
}
/* Responsive navbar */
.navbar {
@apply px-3 sm:px-4 md:px-6 py-2;
@apply text-xs sm:text-sm;
@apply gap-0.5 sm:gap-1;
}Native HTML5 implementation
Fully responsive design
