Desktop Todo List App Project
An Electron todo app with task list, normal task modal, timed task modal, image task modal, and desktop packaging scripts.
Project image carousel

Image 1 of 2
Project Concept
An Electron desktop task manager — three task types: ordinary text tasks, scheduled tasks with notifications, and image-attached tasks. No accounts or backend — all data is fully local via JsStore.
What the Interface Shows
The native desktop app window displayed through a browser (noVNC), with the text and scheduled task panels, and the image-task section.
My Role and Decisions
The core challenge here was fundamentally different from any other project — this app isn’t a website at all, so it can’t be captured with a regular browser. Before committing to any implementation, I first ran an actual feasibility test: could a real Electron app stay interactive inside a Docker container and be exposed through a browser? I verified this concretely (opening a child window with the mouse, creating a task with the keyboard) before deciding to proceed. The decision was to use a heavier toolchain (Xvfb for a virtual display, x11vnc, websockify, noVNC) rather than a lighter alternative — and I explicitly documented this as a larger image size in exchange for genuine interactive preview capability. When I found a restart bug (the container refused to start again after being stopped and started), I traced it to stale lock files left over from the first run, and fixed it by defensively removing them on every startup — not just relying on a clean shutdown.
Technical Aspects
Electron with context-isolated IPC and explicitly allowlisted channels between the main and renderer processes, JsStore (IndexedDB) for fully local storage, and a noVNC bridge for browser-based preview — task data stays inside the disposable container and never travels to any external service.
Project Value in the Portfolio
This project demonstrates solving an unconventional preview problem (a desktop app in a browser) through actual feasibility proof before committing, and root-causing a restart bug instead of patching around it.
Related projects
Education Dashboard UI
A demo of an e-commerce administration dashboard interface, with no backend or database, built with Webpack and Chart.js.
Read more: Education Dashboard UIEcommerce Store Interface
A complete e-commerce storefront template with products, cart, checkout, and advanced search — a pure display interface with no backend.
Read more: Ecommerce Store InterfaceTechnology Company Website
A technology-company marketing site with a portfolio, blog, and team page — a static corporate template with no backend.
Read more: Technology Company WebsiteRelated services
Professional Front-End and Web UI Development
Responsive web interfaces built from clear product flows, reusable components, accessible states, and API-ready front-end structure.




