Full-Stack Developer
Deploy to Vercel From Telegram β Frontend Live in 90 Seconds
Key Takeaway
One Telegram message β "deploy learn-my-way to production" β triggers a Vercel build, monitors progress, and delivers the live URL. Preview deploys for every branch. Rollback in one command. 90 seconds, start to finish.
The Problem
Our frontend stack is React + TypeScript, deployed on Vercel. Vercel is great. Its deployment workflow is... fine.
"Fine" means: open browser, navigate to Vercel dashboard, find the project, click the deployment tab, select the branch, hit deploy, wait for the build, check for warnings, verify the URL works. Or push to the right Git branch and hope the auto-deploy is configured correctly for that specific branch.
It takes about 5 minutes if nothing goes wrong. If something goes wrong β build error, environment variable missing, deploy hook misconfigured β add 10-20 minutes of debugging in the Vercel UI.
But here's the real issue: I deploy from my phone. A lot. I'm reviewing a PR on the subway, I approve it, and now I want to deploy. Opening the Vercel dashboard on mobile is painful. The UI wasn't designed for a 6-inch screen.
I needed deployments to work from anywhere, on any device, with zero UI interaction.
The Solution
Thom's DevOps sub-agent handles Vercel deployments through Telegram. Production deploys, preview deploys, and rollbacks β all from a single message.
The Process
The deployment command is simple:
View details
Me: @thom deploy learn-my-way to production
The agent triggers a Vercel deployment via CLI:
bashShow code
# Trigger production deployment
cd /workspace/learn-my-way
vercel --prod --yes --token "$VERCEL_TOKEN" 2>&1 | tee /tmp/deploy.log
But the agent doesn't just fire-and-forget. It monitors the entire build:
bashShow code
# Parse build output in real-time
while IFS= read -r line; do
case "$line" in
*"Building"*)
send_telegram "π¨ Building learn-my-way..." ;;
*"Warning"*)
warnings+=("$line") ;;
*"Error"*)
send_telegram "β Build error: $line"
exit 1 ;;
*"Ready"*)
url=$(echo "$line" | grep -oP 'https://[^\s]+')
send_telegram "β
Deployed: $url" ;;
esac
done < /tmp/deploy.log
The Telegram conversation looks like this:
View details
Me: @thom deploy learn-my-way to production
Thom: π Deploying learn-my-way to production...
Branch: main (commit a4f2c1b)
Thom: π¨ Building... (React + TypeScript)
Thom: β οΈ 1 warning: Bundle size increased by 12KB (dashboard chunk)
Not blocking β but flag for next sprint.
Thom: β
Production live!
π https://learn-my-way.vercel.app
β± Build time: 48 seconds
π¦ Bundle: 342KB gzipped
Preview deployments work for any branch:
View details
Me: @thom preview learn-my-way feature/new-dashboard
Thom: π Preview deploying feature/new-dashboard...
Thom: β
Preview ready!
π https://learn-my-way-git-feature-new-dashboard.vercel.app
β± Build time: 52 seconds
Share this link for review. Expires in 30 days.
Rollback is instant:
View details
Me: @thom rollback learn-my-way
Thom: βͺ Rolling back learn-my-way...
Previous deployment: v2.2.9 (deployed 2 days ago)
Thom: β
Rolled back to v2.2.9
π https://learn-my-way.vercel.app
π₯ Health check: 200 OK (response: 120ms)
The agent runs a health check after every deployment and rollback:
bashShow code
# Post-deploy health check
status=$(curl -s -o /dev/null -w "%{http_code}" "$DEPLOY_URL")
response_time=$(curl -s -o /dev/null -w "%{time_total}" "$DEPLOY_URL")
if [ "$status" != "200" ]; then
send_telegram "π¨ Health check failed! Status: $status. Auto-rolling back..."
vercel rollback --yes --token "$VERCEL_TOKEN"
fi
The agent config for the Vercel skill:
yamlShow code
vercel:
projects:
learn-my-way:
framework: react
build_command: npm run build
output_directory: dist
env_check:
required: [VITE_API_URL, VITE_WS_URL, VITE_SENTRY_DSN]
pyratzlabs-site:
framework: next
build_command: npm run build
output_directory: .next
defaults:
health_check: true
health_check_timeout: 30s
auto_rollback_on_failure: true
The Results
| Metric | Before (Dashboard) | After (Telegram) | Improvement |
|---|---|---|---|
| Deploy trigger time | 2-5 min (navigate UI) | 5 seconds (one message) | 95% faster |
| Total deploy cycle | 5-7 min | 90 seconds | 80% faster |
| Mobile deployment | Painful (Vercel mobile UI) | Native (Telegram) | Seamless |
| Failed deploy detection | Manual check | Auto health check | Instant |
| Rollback time | 3-5 min (find previous) | 15 seconds | 93% faster |
| Build warnings caught | Sometimes (if I read logs) | Always (auto-surfaced) | 100% visibility |
Try It Yourself
Install the Vercel CLI. The core is vercel --prod --yes with log parsing and a post-deploy health check. Add rollback support with vercel rollback. The value multiplier is the health check β auto-rollback on failure means you can deploy confidently from anywhere.
From my phone, on the subway, between stations. That's when I deployed to production today.
Related case studies
DevOps Engineer
CI/CD Pipeline Monitoring β The Agent That Never Sleeps
How an AI agent monitors CI/CD pipelines 24/7 across 5+ GitLab repos, auto-retries flaky jobs, and delivers failure alerts to Telegram β so developers never context-switch to check builds again.
Software Engineer
Creating Merge Requests From Telegram β One Message, Full CI Pipeline
Learn how PyratzLabs creates GitLab merge requests from Telegram in 15 seconds using AI agents. One message triggers MR creation, CI pipeline, and code review β replacing 10 minutes of manual work.
Software Engineer
Monitoring the Mr.Chief Repo β Every Issue and PR in My Telegram
How PyratzLabs monitors the Mr.Chief GitHub repo with an AI agent that summarizes issues, PRs, and releases β filtering noise and delivering only signal straight to Telegram.
Want results like these?
Start free with your own AI team. No credit card required.