{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "rbbydotdev--someday",
    "name": "someday",
    "tagline": "Free booking page that runs inside your own Google account as an Apps Script web app.",
    "shortTagline": "Free booking page in Apps Script",
    "description": "someday is a Calendly-style availability picker for Gmail users. The React frontend and Apps Script backend deploy with clasp into the Adopter's Google account, read free/busy from their calendar and create events on booking. Availability is a handful of constants in backend/src/app.ts. There is no API of its own; bookings land in Google Calendar.",
    "capabilities": [
      "adaptable"
    ],
    "vertical": "scheduling-staffing",
    "alternativeTo": [
      "Calendly"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "unknown",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [
        "React",
        "Vite",
        "shadcn/ui",
        "Google Apps Script"
      ],
      "packageManager": "npm",
      "database": [],
      "hostingTarget": [
        "google-apps-script",
        "github-pages (iframe wrapper)"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/rbbydotdev/someday",
        "owner": "rbbydotdev",
        "name": "someday",
        "license": "MIT",
        "stars": 1063,
        "lastCommit": "2026-07-20"
      }
    ],
    "interface": null,
    "operability": null,
    "recommendedWrapper": null,
    "reach": null,
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/rbbydotdev/someday"
          },
          {
            "kind": "installable",
            "url": "https://github.com/rbbydotdev/someday#install",
            "command": "npm install -g @google/clasp && clasp login && clasp create --type webapp && npm run deploy"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or published skill found in the repo."
    },
    "customization": {
      "summary": "Edit five constants in backend/src/app.ts: CALENDAR, TIME_ZONE, WORKDAYS, WORKHOURS and TIMESLOT_DURATION, then npm run deploy through clasp. Multiple calendars go in a CALENDARS Script Property in the Apps Script editor. appsscript.json sets the web app access; hosted-iframe-example.html removes the Apps Script banner by embedding the app on your own page. The booking form fields are in the React frontend.",
      "envVars": [],
      "configFiles": [
        "backend/src/app.ts",
        "appsscript.json",
        ".clasp.json",
        "hosted-iframe-example.html"
      ],
      "promptFiles": [],
      "effort": "light-edit",
      "editCount": 4
    },
    "useWhen": [
      "I want a booking link for free and I already run my life in Google Calendar",
      "I don't want a server, a database or a vendor account, just a page people can pick a slot on"
    ],
    "accounts": [
      "Google account with the Apps Script API enabled"
    ],
    "active": true,
    "lastActivity": "2026-07-20",
    "gotchas": [
      "Google shows an 'unverified app' warning on first authorization and an Apps Script banner on the page unless you self-host the iframe wrapper",
      "One owner, one set of working hours; not a multi-provider scheduler",
      "Availability is code, not a settings screen, so every change is a redeploy",
      "No notifications beyond the Google Calendar event; no reminders or cancellation flow documented"
    ],
    "fit": {
      "adaptable": 3,
      "operable": 0
    },
    "evidence": {
      "formFactor": "README: Apps Script web app with a React frontend deployed by clasp",
      "executionModel": "no model SDK or AI feature",
      "operability": "no API, MCP or CLI documented; bookings are Google Calendar events reachable only through a Google Calendar interface such as googleworkspace--cli",
      "effort": "README 'Customize' section names the constants in backend/src/app.ts",
      "editions": "README: MIT, free to host on your Google account",
      "active": "shortlist pushedAt 2026-07-20"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.95,
      "operability": 0.9,
      "effort": 0.95,
      "reach": 0,
      "editions": 0.95
    },
    "openQuestions": [
      "Triage gave operable 1 because bookings land in Google Calendar; recorded as 0 here since that reach belongs to a different Listing (googleworkspace--cli). Curator to decide"
    ],
    "sources": [
      {
        "url": "https://github.com/rbbydotdev/someday",
        "foundBy": "sourcing:scheduling-staffing:community"
      },
      {
        "url": "https://news.ycombinator.com/item?id=47796559",
        "foundBy": "sourcing:scheduling-staffing:community"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Adaptable only: named source constants under MIT, zero infrastructure; light-edit because availability is code. No interface of its own.",
      "disputed": []
    },
    "url": "apps/rbbydotdev--someday.html",
    "coverage": null,
    "paid": false,
    "source": "research/verified/rbbydotdev--someday.json"
  }
}
