Taskly is a responsive task management single-page web application (SPA) built with Vanilla JavaScript.
It focuses on state-driven UI updates, offline-first user experience, automatic data synchronization, and Retro-futuristic style and responsive UI design with a lightweight backend service.
Live demo: https://taskly-gray-sigma.vercel.app
- User authentication (login / register)
- Persistent task storage using Supabase
- Offline-first experience using localStorage
- Automatic background synchronization when user actions occur
- Create, edit, and delete tasks
- Mark tasks as completed
- Star important tasks
- Keyword-based task search
- Month and year navigation
- Visual indicators for dates containing tasks
- Date-based task filtering
- Fully responsive layout for desktop and mobile browsers
- Sidebar automatically collapses into a hamburger menu on small screens
- Adaptive task card layout for different screen sizes
- Toggle switches (e.g. dark mode)
- Smooth animations and transitions for user feedback
- Frontend: HTML, CSS, Vanilla JavaScript
- Build Tool: Vite
- Database / Backend: Supabase (for data persistence and real-time updates)
- Icons: Font Awesome
- Component-based design: Gained experience in building modular, maintainable, and scalable components with clear separation of concerns.
-
Event-driven architecture: Learned how to decouple state management and UI rendering using custom events, enabling multiple components to react to shared data changes.
-
Handling asynchronous data & local persistence: Using local storage to enhance offline experience combined with user-action–driven synchronization to Supabase to reduce unnecessary network requests.
-
Responsive design: Responsive design using
media queryandcss variables, ensuring consistent user experience across desktop and mobile devices.. -
Smooth animations: Using css
keyframe,tranform/transitionand jsrequestAnimationFrameto create smooth animations.
- Clone the repository:
git clone https://github.com/Emulisy/Taskly.git
cd Taskly
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open in browser:
Open the URL shown in the terminal (usually `http://localhost:5173`).
To expose the server to your local network, run:
npm run dev -- --host
This project is MIT licensed.


