Index: backend/ai/processRequestAi.js
===================================================================
--- backend/ai/processRequestAi.js	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ backend/ai/processRequestAi.js	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -28,5 +28,5 @@
 
     const response = await openai.chat.completions.create({
-      model: "gpt-4",
+      model: "gpt-3.5-turbo",
       messages: [{ role: "user", content: prompt }],
       temperature: 0.2,
Index: backend/controllers/taskController.js
===================================================================
--- backend/controllers/taskController.js	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ backend/controllers/taskController.js	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -3,41 +3,44 @@
 
 const getTaskByDate = async (req, res) => {
-  const { date } = req.params;
-  const user = await prisma.users.findUnique({
-    where: { id: "af582629-8385-47b9-9f01-3267652f693c" },
-  });
-  console.log(user);
+  // const { date } = req.params;
+
   try {
     const now = new Date();
 
-    let effectiveDate;
-
-    const localDate = now.toLocaleDateString("en-CA");
-
-    if (date === localDate) {
-      if (now.getHours() < 7) {
-        effectiveDate = new Date(now);
-        effectiveDate.setDate(now.getDate() - 1);
-      } else {
-        effectiveDate = now;
-      }
-    } else {
-      return res
-        .status(404)
-        .json({ message: "Cannot fetch task for different date!" });
-    }
-
-    const taskDate = new Date(
-      Date.UTC(
-        effectiveDate.getUTCFullYear(),
-        effectiveDate.getUTCMonth(),
-        effectiveDate.getUTCDate()
-      )
+    // Get the current date parts from UTC
+    const year = now.getUTCFullYear();
+    const month = now.getUTCMonth();
+    const day = now.getUTCDate();
+
+    // Determine the effective day in UTC
+    let effectiveDay = day;
+    if (now.getUTCHours() < 7) {
+      // If it's before 7 AM UTC, use yesterday's UTC date
+      effectiveDay = day - 1;
+    }
+
+    // Create the start date object directly from UTC parts
+    const startOfEffectiveDay = new Date(
+      Date.UTC(year, month, effectiveDay, 0, 0, 0, 0)
     );
 
+    // Create the end date object
+    const startOfNextDay = new Date(startOfEffectiveDay);
+    startOfNextDay.setUTCDate(startOfEffectiveDay.getUTCDate() + 1);
+
+    console.log(
+      "Querying between (UTC dates):",
+      startOfEffectiveDay.toISOString(),
+      "and",
+      startOfNextDay.toISOString()
+    );
+
     let tasks = await prisma.challenges.findMany({
       where: {
-        solving_date: taskDate,
-        expired: false,
+        solving_date: {
+          gte: startOfEffectiveDay,
+          lt: startOfNextDay,
+        },
+        // expired: false,
       },
       include: {
@@ -45,5 +48,4 @@
       },
     });
-
     if (tasks.length === 0) {
       return res.status(404).json({ message: "No tasks found for this date" });
Index: backend/routers/taskRouter.js
===================================================================
--- backend/routers/taskRouter.js	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ backend/routers/taskRouter.js	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -3,5 +3,5 @@
 const taskController = require("../controllers/taskController");
 
-router.get("/:date", taskController.getTaskByDate);
+router.get("/", taskController.getTaskByDate);
 router.get("/:id/test-case", taskController.fetchTestCaseForToday);
 router.get("/test-cases/:testCaseId", taskController.getSpecificTestCaseById);
Index: backend/scripts/resetDailyTaskId.js
===================================================================
--- backend/scripts/resetDailyTaskId.js	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ backend/scripts/resetDailyTaskId.js	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -1,18 +1,59 @@
+const { start } = require("repl");
 const prisma = require("../lib/prisma");
 
-async function resetDailyTestCaseIds() {
+async function getTodaysChallenges() {
   try {
-    const result = await prisma.users.updateMany({
-      where: {},
-      data: {
-        daily_test_case_id: null,
+    // FIX: Work entirely in UTC to avoid all timezone issues.
+    const now = new Date();
+
+    // Get the current date parts from UTC
+    const year = now.getUTCFullYear();
+    const month = now.getUTCMonth();
+    const day = now.getUTCDate();
+
+    // Determine the effective day in UTC
+    let effectiveDay = day;
+    if (now.getUTCHours() < 7) {
+      // If it's before 7 AM UTC, use yesterday's UTC date
+      effectiveDay = day - 1;
+    }
+
+    // Create the start date object directly from UTC parts
+    const startOfEffectiveDay = new Date(
+      Date.UTC(year, month, effectiveDay, 0, 0, 0, 0)
+    );
+
+    // Create the end date object
+    const startOfNextDay = new Date(startOfEffectiveDay);
+    startOfNextDay.setUTCDate(startOfEffectiveDay.getUTCDate() + 1);
+
+    console.log(
+      "Querying between (UTC dates):",
+      startOfEffectiveDay.toISOString(),
+      "and",
+      startOfNextDay.toISOString()
+    );
+
+    let challenges = await prisma.challenges.findMany({
+      where: {
+        solving_date: {
+          gte: startOfEffectiveDay,
+          lt: startOfNextDay,
+        },
+        // expired: false,
+      },
+      include: {
+        test_cases: true,
       },
     });
 
-    console.log(
-      `Successfully reset daily_test_case_id for ${result.count} users.`
-    );
+    if (challenges.length > 0) {
+      console.log(`Found ${challenges.length} challenge(s) for today:`);
+      console.log(challenges);
+    } else {
+      console.log("No challenges found for today.");
+    }
   } catch (error) {
-    console.error("Error resetting daily_test_case_id:", error);
+    console.error("Error fetching today's challenges:", error);
     process.exitCode = 1;
   } finally {
@@ -22,3 +63,3 @@
 }
 
-resetDailyTestCaseIds();
+getTodaysChallenges();
Index: client/src/CreatePost/CreatePost.jsx
===================================================================
--- client/src/CreatePost/CreatePost.jsx	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ client/src/CreatePost/CreatePost.jsx	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -1,7 +1,7 @@
-import React, { useState } from "react";
+import React, { useState, useEffect } from "react";
 import { useNavigate } from "react-router-dom";
-import { useEffect } from "react";
 import { createForumPost } from "@/services/forumService";
 import { useAuth } from "@/contexts/AuthContext";
+
 const CreatePost = () => {
   const [title, setTitle] = useState("");
@@ -9,5 +9,4 @@
   const { user } = useAuth();
   const [isSubmitting, setIsSubmitting] = useState(false);
-
   const [modal, setModal] = useState({ isOpen: false, message: "", type: "" });
   const navigate = useNavigate();
@@ -28,8 +27,7 @@
   const handleSubmit = async (e) => {
     e.preventDefault();
-
     setIsSubmitting(true);
 
-    if (!user || !user.id || !user.name) {
+    if (!user || !user.id || !user.username) {
       showModal("You must be logged in to create a post.", "auth");
       setIsSubmitting(false);
@@ -81,8 +79,5 @@
 
   return (
-    <div
-      data-theme="luxury"
-      className="h-screen overflo y-auto bg-base-100 p-6"
-    >
+    <div data-theme="luxury" className="min-h-screen bg-base-100 p-6">
       <div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 w-full">
         <div className="flex items-center justify-between mb-8">
@@ -242,85 +237,85 @@
       </div>
 
-      {/* Modal */}
-      <div className={`modal ${modal.isOpen ? "modal-open" : ""}`}>
-        <div className="modal-box">
-          <div className="flex items-center gap-3 mb-4">
-            {modal.type === "success" && (
-              <div className="w-8 h-8 rounded-full bg-success flex items-center justify-center">
-                <svg
-                  className="w-5 h-5 text-success-content"
-                  fill="none"
-                  stroke="currentColor"
-                  viewBox="0 0 24 24"
-                >
-                  <path
-                    strokeLinecap="round"
-                    strokeLinejoin="round"
-                    strokeWidth="2"
-                    d="M5 13l4 4L19 7"
-                  ></path>
-                </svg>
-              </div>
-            )}
-            {modal.type === "pending" && (
-              <div className="w-8 h-8 rounded-full bg-warning flex items-center justify-center">
-                <svg
-                  className="w-5 h-5 text-warning-content"
-                  fill="none"
-                  stroke="currentColor"
-                  viewBox="0 0 24 24"
-                >
-                  <path
-                    strokeLinecap="round"
-                    strokeLinejoin="round"
-                    strokeWidth="2"
-                    d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.732-.833-2.464 0L3.34 16.5c-.77.833.192 2.5 1.732 2.5z"
-                  ></path>
-                </svg>
-              </div>
-            )}
-            {/* Added 'error' type for modal icon */}
-            {(modal.type === "auth" || modal.type === "error") && (
-              <div className="w-8 h-8 rounded-full bg-error flex items-center justify-center">
-                <svg
-                  className="w-5 h-5 text-error-content"
-                  fill="none"
-                  stroke="currentColor"
-                  viewBox="0 0 24 24"
-                >
-                  {modal.type === "auth" ? (
+      {/* Modal using standard DaisyUI classes */}
+      {modal.isOpen && (
+        <div className="modal modal-open">
+          <div className="modal-box ">
+            <div className="flex items-center gap-3 mb-4">
+              {modal.type === "success" && (
+                <div className="w-8 h-8 rounded-full bg-success flex items-center justify-center">
+                  <svg
+                    className="w-5 h-5 text-success-content"
+                    fill="none"
+                    stroke="currentColor"
+                    viewBox="0 0 24 24"
+                  >
                     <path
                       strokeLinecap="round"
                       strokeLinejoin="round"
                       strokeWidth="2"
-                      d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"
+                      d="M5 13l4 4L19 7"
                     ></path>
-                  ) : (
+                  </svg>
+                </div>
+              )}
+              {modal.type === "pending" && (
+                <div className="w-8 h-8 rounded-full bg-warning flex items-center justify-center">
+                  <svg
+                    className="w-5 h-5 text-warning-content"
+                    fill="none"
+                    stroke="currentColor"
+                    viewBox="0 0 24 24"
+                  >
                     <path
                       strokeLinecap="round"
                       strokeLinejoin="round"
                       strokeWidth="2"
-                      d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
-                    /> // Generic error icon
-                  )}
-                </svg>
-              </div>
-            )}
-            <h3 className="font-bold text-lg">
-              {modal.type === "success" && "Success!"}
-              {modal.type === "pending" && "Pending Approval"}
-              {modal.type === "auth" && "Authentication Required"}
-              {modal.type === "error" && "Error"}{" "}
-              {/* Title for generic error */}
-            </h3>
-          </div>
-          <p className="py-4">{modal.message}</p>
-          <div className="modal-action">
-            <button className="btn btn-primary" onClick={closeModal}>
-              OK
-            </button>
+                      d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.732-.833-2.464 0L3.34 16.5c-.77.833.192 2.5 1.732 2.5z"
+                    ></path>
+                  </svg>
+                </div>
+              )}
+              {(modal.type === "auth" || modal.type === "error") && (
+                <div className="w-8 h-8 rounded-full bg-error flex items-center justify-center">
+                  <svg
+                    className="w-5 h-5 text-error-content"
+                    fill="none"
+                    stroke="currentColor"
+                    viewBox="0 0 24 24"
+                  >
+                    {modal.type === "auth" ? (
+                      <path
+                        strokeLinecap="round"
+                        strokeLinejoin="round"
+                        strokeWidth="2"
+                        d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"
+                      ></path>
+                    ) : (
+                      <path
+                        strokeLinecap="round"
+                        strokeLinejoin="round"
+                        strokeWidth="2"
+                        d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
+                      />
+                    )}
+                  </svg>
+                </div>
+              )}
+              <h3 className="font-bold text-lg">
+                {modal.type === "success" && "Success!"}
+                {modal.type === "pending" && "Pending Approval"}
+                {modal.type === "auth" && "Authentication Required"}
+                {modal.type === "error" && "Error"}
+              </h3>
+            </div>
+            <p className="py-4">{modal.message}</p>
+            <div className="modal-action">
+              <button className="btn btn-primary" onClick={closeModal}>
+                OK
+              </button>
+            </div>
           </div>
         </div>
-      </div>
+      )}
     </div>
   );
Index: client/src/Dashboard/components/ForumPostDetail.jsx
===================================================================
--- client/src/Dashboard/components/ForumPostDetail.jsx	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ client/src/Dashboard/components/ForumPostDetail.jsx	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -93,9 +93,8 @@
     <div
       data-theme="luxury"
-      className="dashboard h-screen flex bg-base-100 overflow-none"
+      className="dashboard h-screen flex bg-base-100 overflow-hidden"
     >
-      <Navbar></Navbar>
-      <div className="flex flex-col w-full items-center justify-center h-full overflow-y-auto bg-base-200 px-2 py-8">
-        <div className="w-full h-full max-w-2xl">
+      <div className="flex flex-col w-full items-center h-full overflow-y-auto bg-base-200 px-2 py-8">
+        <div className="w-full  max-w-2xl">
           <button
             className="btn btn-ghost mb-4"
Index: client/src/Dashboard/components/Task.jsx
===================================================================
--- client/src/Dashboard/components/Task.jsx	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ client/src/Dashboard/components/Task.jsx	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -27,10 +27,16 @@
       fetchTestCaseLogic(task.id);
     }
-  }, [task]);
-
-  async function fetchTaskForToday(date) {
+  }, [task, user]);
+  useEffect(() => {
+    if (user && !user.solvedDailyChallenge) {
+      setIsCorrect(null);
+      setEvalResult("");
+      setIsUserOutputEmpty(true);
+    }
+  }, [user?.solvedDailyChallenge]);
+
+  async function fetchTaskForToday() {
     try {
-      const formattedDate = new Date(date).toISOString().split("T")[0];
-      const data = await getTaskForDate(formattedDate);
+      const data = await getTaskForDate();
 
       if (Array.isArray(data) && data.length > 0) {
@@ -141,5 +147,4 @@
   const handleStart = () => {
     if (!task) {
-      const today = new Date();
       fetchTaskForToday(today);
     }
Index: client/src/services/taskService.js
===================================================================
--- client/src/services/taskService.js	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ client/src/services/taskService.js	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -1,6 +1,6 @@
 import apiClient from "./apiClient";
 
-export const getTaskForDate = async (date) => {
-  return await apiClient.get(`/task/${date}`);
+export const getTaskForDate = async () => {
+  return await apiClient.get(`/task`);
 };
 
Index: client/tailwind.config.js
===================================================================
--- client/tailwind.config.js	(revision 5b23e0b24ab67d803a8c90a818ac65e5c54b75fb)
+++ client/tailwind.config.js	(revision c074b6bf57e6ede73e69499a6819136bd3739c29)
@@ -7,5 +7,5 @@
   plugins: [require("daisyui")],
   daisyui: {
-    themes: ["sunset"], // 👈 enables the sunset theme
+    themes: ["sunset"],
   },
 };
