Day with AI: One Dashboard for the Entire Business. 8 Crons, Real-Time Overview, Zero Manual Work.
Complete automation system rebuild. New Work-OS Hub dashboard, 3 new crons, schedule reorganization. Everything in one place, ntfy just sends a ping.

What I worked on today
Monday morning, and instead of coffee I rebuilt the entire automation system.
The Problem
I had 7 Vercel crons + 4 macOS LaunchAgents, but outputs were getting lost. Notifications flew into ntfy without context. I wanted one place to see everything — morning briefing, content ideas, pipeline, AI news.
What I did
Work-OS Hub dashboard — extended existing AI news dashboard into a universal operations center:- 5 sections: Dashboard, AI News, Content, Pipeline, Archive
- Generalized feed API (`/api/feed`) — POST to write, GET to read, DELETE to clean up
- 7 components — Sidebar with Lucide icons, BriefingCard, ContentIdeas, IGContentPlan, PipelineView, WeeklyReview, FeedCard
- Markdown rendering via react-markdown
- Dark theme, glassmorphism, responsive
- `previous-day` (08:00) — reads yesterday's log, AI generates LinkedIn + community draft
- `ig-content` (Monday 06:00) — proposes 2 reels + 1 carousel from weekly logs
- `cold-email-pipeline` (11:00) — pulls pipeline metrics from Notion CRM
- Weekly review moved from Friday to Monday 08:30 (weekend = off)
- Checklist moved to 10:00
- Deleted unnecessary finance-report
- All crons now push data to dashboard, ntfy just sends "check it" with a link
Issues along the way
1. Vercel Hobby limit — max 12 serverless functions, I had 15. Had to delete 4 deprecated endpoints.
2. Notion filter bug — Status property is type `status`, not `select`. Different query syntax.
3. CRON_SECRET — Vercel auto-injects it for cron calls, but for manual testing you need to set it in env vars.
4. Data contract mismatch — crons sent different field names than frontend expected. Typecheck didn't catch it (generic `Record
Lessons learned
Typecheck isn't enough. After every API + FE integration you must test the full flow end-to-end: send data, load it, click every section. Also: no emoji in UI — Lucide SVG icons, always.
Time: AI vs without AI
| Task | Without AI | With AI |
|---|
| Dashboard (API + FE + 7 components) | 2-3 days | ~2h |
|---|---|---|
| 3 new cron endpoints | 1 day | ~30min |
| Reorganization + debugging | 4h | ~1.5h |
| Total | 3-4 days | ~4h |
What I learned
- Vercel Hobby plan has a hard limit of 12 functions — count ahead
- Notion API distinguishes `select` vs `status` property types — always verify schema
- Data contracts between API and FE must be tested at runtime, not just typechecked
- Emoji in UI = unprofessional, SVG icons always
Interested in the article?
Let's discuss what this kind of automation can do in your company.
Free consultation