A function-calling demo with a retro CRT terminal aesthetic. Callerbot is a conversational AI assistant built around travel research — it decides which tool to call, fetches live data from public APIs, and weaves the results into its response.
Ask a question that fits a tool and Callerbot will call it. Ask something no tool covers and it will either propose one (with a real data source) or respond naturally.
| Tool | What it does | Data source |
|---|---|---|
get_weather |
Current weather for a city | Open-Meteo |
get_forecast |
Multi-day forecast | Open-Meteo |
sunrise_sunset |
Sunrise/sunset times | Sunrise-Sunset.org |
country_intel |
Country facts (capital, currency, languages, etc.) | REST Countries |
word_lookup |
Dictionary definitions and etymology | Dictionary API |
currency_convert |
Live currency conversion | Frankfurter |
travel_advisory |
Travel safety risk level | Travel-Advisory.info |
tourist_guide |
Destination travel guides | Wikivoyage |
local_time |
Current local time and timezone | Open-Meteo |
public_holidays |
Upcoming public holidays | Nager.at |
All data sources are free, public APIs with no authentication required.
- Backend: PHP (XAMPP — Apache/MySQL)
- AI: Groq API (LLaMA 3.3 70B with automatic fallback)
- Frontend: Tailwind CSS v4, esbuild, vanilla JS
- Database: SQLite (PDO) for query logging
- Font: Share Tech Mono (loaded locally)
- XAMPP (or any Apache/PHP setup with
pdo_sqlite) - Node.js (for building CSS/JS)
- A Groq API key
-
Clone into your web root:
git clone https://github.com/humbabba/callerbot.git /path/to/htdocs/callerbot cd /path/to/htdocs/callerbot -
Install Node dependencies:
npm install
-
Create the config file:
cp config/config.example.php config/config.php
Edit
config/config.phpand add your Groq API key. -
Build the frontend assets:
npm run build
-
Visit
http://localhost/callerbot/in your browser.
npm run watchWatches for changes to CSS and JS source files and rebuilds automatically.
callerbot/
├── api/
│ ├── chat.php # SSE streaming chat endpoint
│ └── functions.php # Tool declarations and API integrations
├── assets/
│ ├── css/input.css # Tailwind source with @theme config
│ └── js/app.js # Client-side JS source
├── config/
│ └── config.php # API keys and model config (gitignored)
├── db/
│ └── database.php # SQLite logging helpers
├── dist/ # Built CSS/JS output
├── fonts/ # Share Tech Mono (local)
├── index.php # Main app
├── log.php # Query log viewer
└── favicon.svg
> I'm thinking about visiting Thailand
< Thailand is among the most visited countries on Earth...
> Is it safe?
< [travel_advisory] Risk level: Low — Exercise normal precautions...
> What's the weather like in Bangkok?
< [get_weather] Currently 91°F, partly cloudy, humidity 68%...
> How much is $500 in local currency?
< [currency_convert] $500 USD = 17,425 THB...
> Any holidays coming up?
< [public_holidays] Songkran (Thai New Year) — April 13-15...
Open-sourced software licensed under the MIT license.