Skip to content

Repository files navigation

DayForge

Paste Your Tasks, Get an AI Time-Blocked Schedule

DayForge converts a raw task list into a realistic, time-boxed daily schedule — deep work blocks placed at peak hours, admin work batched together, and highest-leverage tasks front-loaded by default. Add a task mid-day and the rest of the day regenerates around it.

Live Demo GitHub Repo

Next.js TypeScript Tailwind Framer Motion Groq Vercel

Animated DayForge headline

What It Does

DayForge takes a pasted task list and builds a time-boxed daily schedule that accounts for meetings, breaks, and context-switching cost, places deep-work blocks at peak-energy hours, batches admin work together, and orders tasks by leverage. The resulting schedule exports for Notion, Google Calendar, or plain copy-paste, and can be regenerated on the fly when a new task is added mid-day.

How It Works

  • app/page.tsx renders the landing shell with HeroSection, FeaturesSection, and the PlannerForm input component.
  • app/api/plan/route.ts sends the submitted task list to the Groq Chat Completions API (llama-3.3-70b-versatile) against a typed ScheduleOutput schema, falling back to a fixed demo schedule when no API key is set.
  • app/api/review/route.ts persists a real end-of-day retro (what worked, what failed, one lesson) to Postgres via lib/db.ts, so past reviews can inform how future plans are judged.
  • Styling is Tailwind CSS with Framer Motion handling interface transitions.

Engineering Notes

The real problem: an AI scheduler that only ever proposes plans and never learns whether they worked is just a fancier to-do list — the interesting problem is closing the loop between "here's your plan" and "here's what actually happened."

The approach: /api/review persists a structured retro (what worked, what failed, one lesson) per plan to Postgres, independent of the LLM call that generated the plan — the review loop works even if Groq is unavailable, and recentReviews() makes past retros queryable rather than write-only.

One real number: reviews are capped to the 14 most recent by default (recentReviews(limit = 14)) — roughly two weeks of retro history surfaced at a time.

Not handled yet: past reviews aren't fed back into the plan-generation prompt yet — the persistence layer exists, but the "learn from what failed last time" loop isn't closed end-to-end.

Live

dayforge-psi.vercel.app

Tech Stack

Layer Technology
Framework Next.js (App Router)
Language TypeScript
AI Groq (llama-3.3-70b-versatile)
Styling Tailwind CSS
Motion Framer Motion
Deployment Vercel
Footer

About

Paste your task list, get a realistic schedule back. AI-powered daily time-blocking that actually accounts for how long things take.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages