Trevor Heshka

Open source · AI · Vanilla JS · PHP

HeshBot

HeshBot is the chat assistant on this website. I built it to replace a third-party chat widget: it runs on my own hosting, calls the Google Gemini API, and answers questions about my services and projects using only the public content of this site. When it doesn't know something, it says so and points you to email.

View source on GitHub All projects

What it does

Front end

Back end

Built with

FAQ

What is HeshBot?

HeshBot is the chat assistant on trevorheshka.com. It calls the Google Gemini API and answers questions using only the public content of this site.

Is HeshBot open source?

Yes. The code is MIT-licensed on GitHub at github.com/YardPhantom/HeshBot.

What is HeshBot built with?

A dependency-free vanilla JavaScript and CSS widget, a single PHP 7.4 endpoint that uses curl to call the Gemini REST API, and a Python script that builds its knowledge file from the site's pages.

How does HeshBot avoid making things up?

It is grounded in a knowledge file built from this site's pages, and when the answer isn't there it says so and suggests emailing trevor@trevorheshka.com.

How is HeshBot protected from abuse?

Per-IP file-based rate limiting, message length and history caps, a same-origin check, and only the chat endpoint is reachable from the web. The API key is kept outside the web root.

Source code

The code, README and licence are on GitHub: github.com/YardPhantom/HeshBot.

Related