AutoCua
Automate with computer-use agent (ComputerUse / CUA) for macOS, Windows, Linux, Browser, iOS & Android. It sees the screen, clicks, types, browses and writes the code too. One agent, every computer.
A personal calendar and assignment tracker.
Translation pending
ProductivityTypeScript · CSSGitHub @Sarvesh246OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A local-first calendar and assignment tracker for students. It runs entirely in the browser (installable as a PWA) and can optionally sync across devices through Supabase. Live at datebookcalendar.vercel.app.
An iOS wrapper app lives in calendar-ios. It loads this site in a WebView and adds native reminders, widgets and Live Activities.
event, assignment or task, with status todo, doing or done..nvmrc) and npmnpm install
cp .env.example .env.local # every variable is optional
npm run dev
Open http://localhost:3000.
All variables are documented in .env.example. The ones that switch features on:
| Variable | Enables |
|---|---|
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Google sign-in and cloud sync. Schema setup is in SUPABASE_SETUP.md. |
SUPABASE_SERVICE_ROLE_KEY | Server-only: push dispatch and rate limiting. Never expose it to the browser. |
GEMINI_API_KEY | Assistant and syllabus import. GROQ_API_KEY, CEREBRAS_API_KEY, MISTRAL_API_KEY and NVIDIA_API_KEY are fallbacks for the assistant router. |
NEXT_PUBLIC_VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, CRON_SECRET | Closed-app reminders over web push. |
| Command | What it does |
|---|---|
npm run dev | Dev server |
npm run build / npm start | Production build and server |
npm run typecheck | tsc --noEmit |
npm run lint | ESLint |
npm run format / format:check | Prettier |
npm test | Vitest |
npm run security:secrets | Scan tracked files for committed secrets |
localStorage (datebook-store). Supabase sync is layered on top, not underneath: the app never needs the network to work.lib/db-sync.ts) is last-write-wins on updatedAt with tombstones for deletes. A new database column needs a numbered migration in supabase/migrations/ and an entry in STRIPPABLE_COLS, so a project that has not run the SQL yet degrades instead of stalling the write queue.lib/local-assistant.ts) answers date, grade, syllabus and planning questions locally. Anything it cannot answer goes to /api/assistant, which routes across providers in lib/llm/.lib/motion.ts, gesture math in lib/gesture.ts. Hot paths animate only transform and opacity./api/push/dispatch, called every ten minutes by the Push dispatch workflow.app/ routes and API handlers
components/ UI; tab pages are in components/pages
lib/ store, sync, date logic, assistant; tests sit beside the code
supabase/ numbered SQL migrations
public/ manifest, icons, service worker
POST /api/push/dispatch refuses unauthenticated calls once push is configured. The shared secret has to exist in both places, set to the same string:
| Where | What to set |
|---|---|
| Vercel project | environment variable CRON_SECRET, then redeploy |
| GitHub repository | Actions secret CRON_SECRET |
If either side is missing or they disagree, the endpoint answers 401 and every scheduled run fails with a named error.
See CONTRIBUTING.md. Commits follow Conventional Commits and are checked by a git hook and in CI.