Fuscalendar

fuscalendar_logo_simple_transparent.png Live
Fuscalendar

An AI-powered task manager that estimates your to-dos so you don't feel guilty when the estimations are wrong

Node.js AWS Serverless AI Svelte

Overview

I've always been terrible at estimating how long things take. Especially on my free time.

I'd sit down on a Saturday morning with a mental list of everything I wanted to do: grocery shopping, fix that bug in fusclock, clean the apartment, go to the gym, learn that new Svelte feature, call mom. No estimates, no priorities, just a wall of aspirations staring back at me.

What happened next was always the same. The list felt enormous. I'd get overwhelmed before starting. I'd procrastinate.

By Sunday night I'd have done maybe two things and feel frustrated with myself for wasting the weekend. The irony wasn't lost on me: I was trying to be productive and ending up less productive than if I'd just winged it.

So in April 2025, I had an idea. A self-aware, probably-won't-work, let's-try-it-anyway idea.

What if I let AI estimate my tasks for me?

The premise

The logic was beautifully flawed. If I estimate a task at 30 minutes and it takes two hours, that's my failure. I'm bad at planning. I feel guilty. But if an AI estimates 30 minutes and it takes two hours? That's the AI's fault. Not my problem. No bad feelings.

One could argue (in a nerdy voice), "but how are you going to make the AI estimation accurate?"

We'll figure that out later. The point wasn't accuracy. The point was removing friction and guilt from the planning process. Brain dump everything you think you need to do today, let the AI sort it out, and just start executing.

It sounds idealistic. Maybe even self-fooling. But that was part of the charm. Fuscalendar started as an experiment, almost a joke. "Let AI control my life" as a concept. This playful way of washing my hands from responsibility and expecting a language model to solve problems that are inherently mine.

The first real integration

Fuscalendar holds a special place in the fuscripts timeline. It was the first "real" project after FuscAuth. Real in the sense that it's a tool in itself, not infrastructure serving other tools.

But the part that excited me most was the AI integration. Before this, my experience with OpenAI's API was playground-level stuff. Poking at prompts, seeing what came back, never shipping anything.

Fuscalendar was the first time I wired a language model into a real app with real users (well, one real user). Sending task titles to GPT, getting back structured time estimates, validating the response with Zod schemas, displaying the results. It felt like crossing a line from "playing with AI" to "building with AI."

The core of it is a single call to GPT-4.1-mini with a system prompt and whatever the user typed:

json
{
  "model": "gpt-4.1-mini",
  "messages": [
    {
      "role": "system",
      "content": "You are an expert productivity assistant. Given a list of tasks provided by the user, return a structured list of tasks for the day. Each task should have a title, a short description, and an estimated time in minutes. Do not add extra tasks or commentary. Here is the user's list:"
    },
    {
      "role": "user",
      "content": "grocery shopping,clean the apartment,do laundry,go to the gym,fix that bug in fusclock"
    }
  ],
  "response_format": {
    "tasks": [
      { "title": "string", "description": "string", "estimated_time_minutes": "number" }
    ]
  }
}

That's it. No elaborate prompt engineering, no few-shot examples. The response gets validated through a Zod schema to make sure it comes back as structured JSON with a title, description, and estimated_time_minutes for each task. If the model hallucinates something weird, the schema catches it.

The implementation was straightforward. You type your tasks into a text area, hit generate, and the AI returns descriptions and time estimates for each one. A summary at the top of your day shows total estimated time with color-coded warnings: green if you're under six hours, yellow approaching eight, red if you've overcommitted. Which, if you're me, is always red on the first pass.

Built with half of my brain

The first commit landed on April 10, 2025. "initial commit web." The API followed two days later. By April 20, I had auth wired up, basic screens working, and the first tasks rendering on screen.

The following weekend, April 26-27, was the big one. That's when the AI integration came together: the generate endpoint, the estimation review page, the commons package linking frontend and backend.

All of this happened on weekends, and not focused weekends. I was half playing Apex Legends (climbed from Silver III to Plat II, for the record), half watching movies, half coding. That math doesn't add up, which is fitting.

I used GitHub Copilot's agent mode for the first time on this project, and it changed everything.

Until then, coding with AI had been more frustrating than helpful. Agent mode made implementing features from scratch feel fluid. I started with GPT-4.1 but found it got stuck in retry loops when debugging. Switching to Gemini 2.5 Pro worked better. Answers were more complete, less circular.

I also used Builder.io's Figma to code SDK to bootstrap the UI from my mockups. They market it as Figma-to-Cursor, but it works fine with plain VS Code. The designs evolved over time, but having that starting point saved me from staring at a blank component file.

Am I a vibe coder?

Only towards the end of building Fuscalendar did I start hearing the term "vibe coding." I don't want to argue whether it's good or bad here. But for a personal project developed over weekends while half watching TV, it felt really good to make progress while only half paying attention.

Yes, the code quality wasn't the best. But it doesn't matter for a personal project. Yes, I did get stuck in weird retry loops and probably spent more time on some things than I would have if fully concentrated. But for a personal project, that wasn't critical. And as the models get better, I think this will be less of a problem.

The result: I think this approach works for my personal projects, and I intend to keep using it regardless of what we call it.

Does it actually work?

Fuscalendar has been live since mid-2025. I use it most weekends. The AI estimates are... fine? Sometimes surprisingly accurate, sometimes laughably off. But that was never really the point.

The point was getting past the paralysis. Dump your thoughts, let the machine organize them, start doing things. The guilt-free wrapper around imperfect planning turned out to be exactly what I needed. Not because the AI is smarter than me at estimating, but because it gave me permission to stop overthinking and just start.

Technologies Used

Node.js AWS Serverless AI Svelte