Skip to content
VercelLogotypeVercelLogotype
LoginSign Up

Caltext

iMessage calorie tracking assistant, powered by AI.

DeployView Demo

Caltext

iMessage calorie tracking assistant powered by AI.

Stack

  • Runtime: Bun + Turborepo monorepo
  • API: Hono on Nitro (deployed to Vercel, 3 regions)
  • iMessage: Chat SDK + Sendblue adapter
  • AI: AI SDK v6 + GPT-4.1 (vision + agent)
  • Database: Upstash Redis (global, 3 regions)
  • Workflows: Vercel Workflow SDK for durable pipelines
  • Nutrition: USDA FoodData Central API

Setup

1. Install dependencies

bun install

2. Configure environment

cp .env.example .env

Fill in the required keys:

VariableSource
SENDBLUE_API_KEY / SENDBLUE_API_SECRETsendblue.co
SENDBLUE_FROM_NUMBERYour Sendblue phone number
UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKENconsole.upstash.com
REDIS_URLSame Upstash Redis in redis:// format
OPENAI_API_KEYplatform.openai.com
USDA_API_KEYfdc.nal.usda.gov (free)

3. Run locally

bun run dev

4. Deploy to Vercel

vercel deploy

Deploys to 3 regions: US East (iad1), London (lhr1), Tokyo (hnd1).

5. Set Sendblue webhook

Point your Sendblue incoming message webhook to:

https://your-app.vercel.app/webhooks/sendblue

Project Structure

caltext/
apps/
api/ # Hono API server
src/
index.ts # Routes + webhook handler
bot.ts # Chat SDK singleton
router.ts # Onboarding vs assistant routing
workflows/
handle-message.ts # Main message handler
onboarding.ts # Multi-step onboarding
reminder-loop.ts # Daily reminders + summaries
packages/
ai/ # AI agent + tools
db/ # Upstash Redis data layer
shared/ # Types, locale, timezone utils

How It Works

  1. User texts the Caltext number via iMessage
  2. Sendblue forwards the message via webhook
  3. New users go through conversational onboarding (name, stats, goal)
  4. Returning users interact with the AI assistant
  5. Photos are analyzed with GPT-4.1 vision, then grounded in USDA nutrition data
  6. Text descriptions are matched against USDA database directly
  7. Daily reminders at breakfast/lunch/dinner times (timezone-aware)
  8. End-of-day summaries with calorie/macro breakdown
  9. Weekly recaps with progress bars and trends
GitHub
Ownerpontusab
Repositorycaltext
Use Cases
AI
Stack
Hono
Nitro
Database
Upstash

Related Templates

Next.js Boilerplate

Get started with Next.js and React in seconds.
Next.js Boilerplate thumbnail

Image Gallery Starter

An image gallery built on Next.js and Vercel Blob.
Image Gallery Starter thumbnail

Chatbot

A full-featured, hackable Next.js AI chatbot built by Vercel
Chatbot thumbnail

Agent Stack

  • AI SDK
  • AI Gateway
  • Sandbox
  • Workflows
  • EveNew
  • ConnectNew

Core Platform

  • CI/CD
  • Content Delivery
  • Fluid Compute
  • Observability

Security

  • Platform Security
  • WAF
  • Bot Management
  • Bot ID

Tools

  • Vercel DropNew
  • Vercel Agent
  • Vercel PluginNew
  • Next.js
  • Domains
  • v0

Frameworks

  • Nuxt
  • SvelteKit
  • Nitro
  • Turborepo
  • Tanstack Start
  • FastAPI
  • xmcp
  • All frameworks

SDKs

  • Vercel SDK
  • Workflow SDKNew
  • Flags SDK
  • Chat SDKNew
  • Queues SDKNew
  • Streamdown

Build

  • AI Apps
  • Web Apps
  • Marketing Sites
  • Platforms
  • Commerce
  • Platform Engineers
  • Design Engineers

Learn

  • Docs
  • Blog
  • Changelog
  • Knowledge Base
  • Academy
  • Articles
  • Community

Explore

  • Customers
  • Marketplace
  • Templates
  • Partner Finder
  • Vercel + AWS

Company

  • About
  • Careers
  • Press
  • Events
  • Startups
  • Shipped on Vercel
  • Open Source Program
  • Enterprise
  • Pricing
  • Help

Legal & Trust

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • DPA
  • Acceptable Use Policy
  • Legal (all documents)
  • Trust Center
  • Status

Social

  • GitHub
  • X
  • LinkedIn
  • YouTube
  • Instagram
  • VercelVercel
Agent Stack
  • AI SDK
  • AI Gateway
  • Sandbox
  • Workflows
  • Eve
Core Platform
  • Security
  • Content Delivery
  • Fluid Compute
  • Observability
  • CI/CD
Tools
  • Next.js
  • Vercel Agent
  • Vercel Plugin
  • Domains
  • v0
Learn
  • Docs
  • About
  • Blog
  • Changelog
  • Knowledge Base
Build
  • AI Apps
  • Web Apps
  • Marketing Sites
  • Platforms
  • Commerce
Explore
  • Customers
  • Marketplace
  • Partner Finder
  • AWS
  • Community
EnterprisePricing
Contact
Log InSign Up
Dashboard

Products

Agent Stack

  • AI SDK
  • AI Gateway
  • Sandbox
  • Workflows
  • Eve

Core Platform

  • Security
  • Content Delivery
  • Fluid Compute
  • Observability
  • CI/CD

Tools

  • Next.js
  • Vercel Agent
  • Vercel Plugin
  • Domains
  • v0
Resources

Learn

  • Docs
  • About
  • Blog
  • Changelog
  • Knowledge Base

Build

  • AI Apps
  • Web Apps
  • Marketing Sites
  • Platforms
  • Commerce

Explore

  • Customers
  • Marketplace
  • Partner Finder
  • AWS
  • Community
Enterprise
Pricing
Sign UpLog In
Contact
DeployView Demo

Loading status…

Select a display theme: