Apps
CalNexus
AI-powered calendar management with smart scheduling, voice input, and CalDAV sync
Overview
CalNexus is an AI-powered calendar management app with smart scheduling, natural language processing, CalDAV server integration, Google Calendar sync, and PWA offline support. Users can create events through voice commands or text, and the AI intent parser classifies and schedules them intelligently.
Production URL: calnexus.hansenexus.dev
Key Features
- AI Intent Parsing — 3-tier system: simple parse, Nexus pattern matching, full AI reasoning (Claude via OpenRouter)
- CalDAV Server — Full CalDAV server at
/api/caldav/:userId/supporting PROPFIND, REPORT, GET, PUT, DELETE - CalDAV Sync — Bi-directional sync with Nextcloud, ownCloud, Radicale, Baikal, iCloud, Google
- Google Calendar — OAuth-based sync with Google Calendar
- PWA / Offline — Service worker, offline indicator, installable app
- Voice Input — Natural language voice commands for event creation
- Nexus Routines — Learned recurring scheduling patterns that improve over time
- Smart Workspace Routing — Keyword-based automatic workspace assignment
- Social Features — Friend connections, calendar sharing, event proposals
- Stripe Billing — Free/Pro/Enterprise subscription plans
Tech Stack
| Component | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Backend | Convex (19 tables) |
| Auth | @convex-dev/auth (Email/Password, Google OAuth) |
| AI | Claude via OpenRouter (@openrouter/ai-sdk-provider) |
| i18n | next-intl (en, de) |
| Payments | Stripe |
Convex Schema
19 tables organized by domain:
| Domain | Tables |
|---|---|
| Core | users, workspaces, calendars, events, user_profiles, time_off |
| AI and Automation | nexus, user_preferences, edit_history, ai_cache, ai_intent_log |
| Social | calendar_shares, friendships, event_proposals |
| Auth | authSessions, authAccounts, authVerificationCodes, authVerifiers, authRefreshTokens |
AI Intent Parsing
CalNexus processes natural language input through a 3-tier system:
- Simple Parse — Pattern matching for straightforward requests (“Meeting at 3pm”)
- Nexus Matching — Matches against learned user routines and recurring patterns
- Full AI Reasoning — Claude via OpenRouter for complex or ambiguous input
The intent system is implemented in convex/intent.ts with classification logic and convex/ai.ts for the AI provider integration.
Shared Packages
@hn-monorepo/ui, @hn-monorepo/i18n, @hn-monorepo/email, @hn-monorepo/analytics, @hn-monorepo/storage, @hn-monorepo/auth, @hn-monorepo/shared