<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pankaj Maity</title>
    <description>The latest articles on DEV Community by Pankaj Maity (@pnkj_mty_4ec833d844e216ec).</description>
    <link>https://dev.to/pnkj_mty_4ec833d844e216ec</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4163346%2F79bdbfed-9138-48f6-a1ef-4e7cc5a1340d.png</url>
      <title>DEV Community: Pankaj Maity</title>
      <link>https://dev.to/pnkj_mty_4ec833d844e216ec</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pnkj_mty_4ec833d844e216ec"/>
    <language>en</language>
    <item>
      <title>Blockday - A Simple To-Do List Built with GitHub Copilot</title>
      <dc:creator>Pankaj Maity</dc:creator>
      <pubDate>Fri, 16 Oct 2026 03:36:59 +0000</pubDate>
      <link>https://dev.to/pnkj_mty_4ec833d844e216ec/blockday-a-simple-to-do-list-built-with-github-copilot-4i61</link>
      <guid>https://dev.to/pnkj_mty_4ec833d844e216ec/blockday-a-simple-to-do-list-built-with-github-copilot-4i61</guid>
      <description>&lt;h1&gt;
  
  
  Blockday - A Simple To-Do List Built with GitHub Copilot
&lt;/h1&gt;

&lt;p&gt;I built &lt;strong&gt;Blockday&lt;/strong&gt;, a responsive To-Do List application with a block-style, Minecraft-inspired design.&lt;/p&gt;

&lt;p&gt;The idea was simple: create a lightweight task manager that makes everyday task planning a little more engaging while keeping the interface clean and easy to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcpbtocxy174we2px1xva.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcpbtocxy174we2px1xva.png" alt=" " width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add tasks with Normal, High, or Low priority&lt;/li&gt;
&lt;li&gt;Assign a due date to tasks&lt;/li&gt;
&lt;li&gt;Automatically identify overdue tasks&lt;/li&gt;
&lt;li&gt;Optional reminders for tasks due today&lt;/li&gt;
&lt;li&gt;Browser notifications when permission is granted&lt;/li&gt;
&lt;li&gt;In-app reminders when browser notifications are unavailable&lt;/li&gt;
&lt;li&gt;Mark tasks as completed&lt;/li&gt;
&lt;li&gt;Search tasks by title&lt;/li&gt;
&lt;li&gt;Filter tasks by All, Active, or Done&lt;/li&gt;
&lt;li&gt;Delete tasks&lt;/li&gt;
&lt;li&gt;Track completion progress&lt;/li&gt;
&lt;li&gt;Daily streak and best streak tracking&lt;/li&gt;
&lt;li&gt;Automatically save tasks using browser &lt;code&gt;localStorage&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Responsive design for desktop and mobile&lt;/li&gt;
&lt;li&gt;Works without a backend or database&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technologies Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Vanilla JavaScript&lt;/li&gt;
&lt;li&gt;Browser &lt;code&gt;localStorage&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Browser Notifications API&lt;/li&gt;
&lt;li&gt;GitHub Codespaces&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;li&gt;Render&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No React, Node.js, database, or external backend is required.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;One of the main reasons I built this project was to explore how &lt;strong&gt;GitHub Copilot can assist throughout the development process&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I used GitHub Copilot inside &lt;strong&gt;GitHub Codespaces&lt;/strong&gt; to help build and improve the application, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structuring the application&lt;/li&gt;
&lt;li&gt;Implementing task management functionality&lt;/li&gt;
&lt;li&gt;Adding due dates&lt;/li&gt;
&lt;li&gt;Implementing reminders&lt;/li&gt;
&lt;li&gt;Fixing UI layout issues&lt;/li&gt;
&lt;li&gt;Improving responsive behavior&lt;/li&gt;
&lt;li&gt;Creating project documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The process wasn't simply about asking Copilot to build an application. I provided requirements, reviewed the generated code, tested the application, identified issues, and then used specific prompts to improve the implementation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Due Dates and Reminders
&lt;/h2&gt;

&lt;p&gt;Users can assign a due date when creating a task or add/change it later.&lt;/p&gt;

&lt;p&gt;Tasks are organized into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overdue&lt;/li&gt;
&lt;li&gt;Due Today&lt;/li&gt;
&lt;li&gt;Upcoming&lt;/li&gt;
&lt;li&gt;No Due Date&lt;/li&gt;
&lt;li&gt;Completed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application also provides optional reminders for incomplete tasks that are due today.&lt;/p&gt;

&lt;p&gt;When reminders are enabled, the application can use browser notifications if permission is granted. If notifications are unavailable or blocked, an in-app reminder is used instead.&lt;/p&gt;

&lt;p&gt;The current implementation checks reminders while the application is open, so it does not guarantee notifications when the website is completely closed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Storage
&lt;/h2&gt;

&lt;p&gt;Tasks are stored locally in the browser using &lt;code&gt;localStorage&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tasks remain after refreshing the page.&lt;/li&gt;
&lt;li&gt;Tasks normally remain after restarting the browser.&lt;/li&gt;
&lt;li&gt;Tasks are not uploaded to a server.&lt;/li&gt;
&lt;li&gt;Tasks are not synchronized between different devices or browsers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Live Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Try it yourself:&lt;/strong&gt; &lt;a href="https://blockday-todo.onrender.com/" rel="noopener noreferrer"&gt;https://blockday-todo.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create your own tasks and explore the different features.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Repository
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/pnkj006/ToDoList-Using_Copilot" rel="noopener noreferrer"&gt;https://github.com/pnkj006/ToDoList-Using_Copilot&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;This project helped me understand how AI coding tools can fit into a real development workflow.&lt;/p&gt;

&lt;p&gt;The important part wasn't simply generating code with Copilot. I had to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define the requirements clearly.&lt;/li&gt;
&lt;li&gt;Review the generated code.&lt;/li&gt;
&lt;li&gt;Test the application.&lt;/li&gt;
&lt;li&gt;Identify UI and functionality issues.&lt;/li&gt;
&lt;li&gt;Give Copilot specific prompts to fix them.&lt;/li&gt;
&lt;li&gt;Document the project.&lt;/li&gt;
&lt;li&gt;Deploy the final version.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It was a useful hands-on experience with &lt;strong&gt;AI-assisted development, GitHub Codespaces, Git, browser APIs, and deployment&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Some improvements I would like to explore in the future:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User authentication&lt;/li&gt;
&lt;li&gt;Cloud-based task synchronization&lt;/li&gt;
&lt;li&gt;Database storage&lt;/li&gt;
&lt;li&gt;More advanced reminder scheduling&lt;/li&gt;
&lt;li&gt;Reliable background push notifications&lt;/li&gt;
&lt;li&gt;Task categories and tags&lt;/li&gt;
&lt;li&gt;Drag-and-drop task organization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For now, Blockday is a simple and lightweight project that helps you plan your day, one block at a time.&lt;/p&gt;

&lt;h1&gt;
  
  
  GitHub #GitHubCopilot #Codespaces #JavaScript #WebDevelopment #HTML #CSS #OpenSource
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>EcoQues-turn Screen Time Into Outside Time</title>
      <dc:creator>Pankaj Maity</dc:creator>
      <pubDate>Wed, 07 Oct 2026 11:39:50 +0000</pubDate>
      <link>https://dev.to/pnkj_mty_4ec833d844e216ec/-ecoques-turn-screen-time-into-outside-time-4422</link>
      <guid>https://dev.to/pnkj_mty_4ec833d844e216ec/-ecoques-turn-screen-time-into-outside-time-4422</guid>
      <description>&lt;h1&gt;
  
  
  EcoQuest — Turn Screen Time Into Outside Time
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;EcoQuest&lt;/strong&gt; is an AI-powered outdoor habit-building web app designed to help people turn screen time into real-world exploration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2c9vdjs6rvupau5thcun.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2c9vdjs6rvupau5thcun.png" alt=" " width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of simply telling people to "spend less time on their phones," EcoQuest gives them something specific to do outside.&lt;/p&gt;

&lt;p&gt;Users choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How much time they have&lt;/li&gt;
&lt;li&gt;Their environment&lt;/li&gt;
&lt;li&gt;Their mood&lt;/li&gt;
&lt;li&gt;Their difficulty level&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;EcoQuest then uses &lt;strong&gt;Google Gemma 4&lt;/strong&gt; to generate a personalized outdoor quest.&lt;/p&gt;

&lt;p&gt;For example, a user might choose:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;20 minutes · Park · Curious · Easy&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and receive a quest such as &lt;strong&gt;The Tree Detective&lt;/strong&gt;, with simple observation and exploration steps they can complete outdoors.&lt;/p&gt;

&lt;p&gt;The experience then continues with:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose → Generate → Explore → Complete → Earn XP → Build a Streak → Journal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The app tracks outdoor minutes, completed quests, XP, nature streaks, and personal field notes locally in the browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fetjogfaf9894fjaht3g9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fetjogfaf9894fjaht3g9.png" alt=" " width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa7uvij71orpv01y37h99.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa7uvij71orpv01y37h99.png" alt=" " width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;EcoQuest is built around a simple idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The goal isn't to spend more time on another app. It's to spend less time on screens and more time in the real world.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://ecoquest-txcy.onrender.com/" rel="noopener noreferrer"&gt;https://ecoquest-txcy.onrender.com/&lt;/a&gt;&lt;br&gt;
The live application demonstrates the complete experience:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose quest preferences&lt;/li&gt;
&lt;li&gt;Generate a personalized quest with Gemma 4&lt;/li&gt;
&lt;li&gt;Start the outdoor quest&lt;/li&gt;
&lt;li&gt;Complete the timed experience&lt;/li&gt;
&lt;li&gt;Earn XP and increase outdoor time&lt;/li&gt;
&lt;li&gt;Build a nature streak&lt;/li&gt;
&lt;li&gt;Automatically create a journal entry&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/pnkj006/EcoQuest" rel="noopener noreferrer"&gt;https://github.com/pnkj006/EcoQuest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is built as a small, focused MVP with the AI generation layer separated from the frontend.&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;EcoQuest is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Google Gemma 4&lt;/li&gt;
&lt;li&gt;Gemini API&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;localStorage&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core architecture is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React Frontend
      ↓
/api/generate-quest
      ↓
Node.js Server
      ↓
Gemma 4
      ↓
Structured Quest JSON
      ↓
Personalized Outdoor Quest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user preferences are sent to a server-side API endpoint. The server asks Gemma 4 to generate a structured quest containing the title, duration, environment, difficulty, description, steps, and optional bonus challenge.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;Gemma 4 (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt;)&lt;/strong&gt; because the quest-generation task is short, structured, and highly adaptable to user preferences.&lt;/p&gt;

&lt;p&gt;The model is instructed to create realistic and safe outdoor activities without requiring special equipment. It also avoids dangerous activities, unsafe road crossings, approaching wildlife, disturbing plants or animals, and entering restricted/private areas.&lt;/p&gt;

&lt;p&gt;The rest of the application is intentionally lightweight. User progress is stored locally using &lt;code&gt;localStorage&lt;/code&gt;, so the MVP does not require authentication or a database.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For EcoQuest, the AI model isn't just an additional feature. It is the component responsible for turning a user's mood, available time, and surroundings into an actionable outdoor experience.&lt;/p&gt;

&lt;p&gt;Using an open-weight model such as Gemma gives the project a path beyond a single closed AI provider.&lt;/p&gt;

&lt;p&gt;Because Gemma is an open-weight model, the quest-generation layer can potentially be adapted, fine-tuned, evaluated, or eventually self-hosted as the project grows.&lt;/p&gt;

&lt;p&gt;That matters for a project like EcoQuest because the goal is not simply to generate text. The long-term goal is to create an AI system that understands different environments and creates useful, safe, context-aware experiences while keeping the underlying technology more open and adaptable.&lt;/p&gt;

&lt;p&gt;For this MVP, Gemma made it possible to experiment with that idea without building a large recommendation system or manually creating hundreds of quests.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I built EcoQuest with an AI-assisted development workflow and used Antigravity throughout the project for implementation, testing, debugging, and iteration.&lt;/p&gt;

&lt;p&gt;The development process included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building the initial React/Vite application&lt;/li&gt;
&lt;li&gt;Designing the editorial outdoor-focused interface&lt;/li&gt;
&lt;li&gt;Integrating Gemma 4&lt;/li&gt;
&lt;li&gt;Building the quest timer and completion flow&lt;/li&gt;
&lt;li&gt;Implementing XP and streak tracking&lt;/li&gt;
&lt;li&gt;Adding automatic journal entries&lt;/li&gt;
&lt;li&gt;Adding journal deletion&lt;/li&gt;
&lt;li&gt;Testing localStorage persistence&lt;/li&gt;
&lt;li&gt;Fixing calendar/timezone issues in streak calculation&lt;/li&gt;
&lt;li&gt;Testing responsive behavior&lt;/li&gt;
&lt;li&gt;Preparing the project for deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Use of Gemma
&lt;/h3&gt;

&lt;p&gt;EcoQuest is entering the &lt;strong&gt;Best Use of Gemma&lt;/strong&gt; category.&lt;/p&gt;

&lt;p&gt;Gemma 4 is used as the core AI engine for personalized outdoor quest generation. The model directly transforms the user's selected time, environment, mood, and difficulty into structured quests that drive the main product experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;EcoQuest is currently an MVP, but there are several directions I would like to explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Weather-aware quests&lt;/li&gt;
&lt;li&gt;More environment-specific challenges&lt;/li&gt;
&lt;li&gt;Richer quest history and analytics&lt;/li&gt;
&lt;li&gt;Optional location-aware exploration&lt;/li&gt;
&lt;li&gt;More advanced personalization&lt;/li&gt;
&lt;li&gt;Optional cloud synchronization&lt;/li&gt;
&lt;li&gt;Exploring local or self-hosted Gemma inference&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For now, the most important thing is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Close the laptop. Go outside. Complete a quest.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>new to community</title>
      <dc:creator>Pankaj Maity</dc:creator>
      <pubDate>Mon, 05 Oct 2026 08:45:36 +0000</pubDate>
      <link>https://dev.to/pnkj_mty_4ec833d844e216ec/new-to-community-4hbg</link>
      <guid>https://dev.to/pnkj_mty_4ec833d844e216ec/new-to-community-4hbg</guid>
      <description>&lt;p&gt;hello everyone&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
