I added a free RAG-powered AI chat assistant to the Worklog Studio landing page, built with Next.js, the Gemini API, and deployed on Vercel. Here's what it does and why I bothered.
TL;DR;
You can explore source code for this project at a public github repo here.
Why bother with a chat assistant
First of all - it's fun! But really, nobody reads large pieces of text anymore. Having a chatbot that knows your product is a way to motivate users to engage with what you're trying to deliver.
The hard rule I set for myself: the assistant has to admit when it doesn't know something. A chatbot that confidently invents a feature that doesn't exist is worse than no chatbot at all.
How it's wired together
A browser sends a question to a Next.js route running on Vercel. That route checks a rate limiter, pulls the most relevant chunks out of a small precomputed file of embeddings, and sends those chunks plus the question to Gemini. The answer streams back the same way it came in.
Two entry points on the page (an inline box and a header button) share the same chat panel and the same conversation, so switching between them mid-conversation doesn't lose anything.
There's no vector database, it does not use an app database, and does not need user accounts. Conversation history lives in sessionStorage.
What is Worklog Studio?
Worklog Studio is a small desktop time tracker. As of now it's a bare minimum to be useful. Projects, tasks, time entries - you can comment on each entry so you remember what you were actually doing.
I built it because every existing tracker I tried was either missing something or too cluttered with features I don't need. It's open source, and if you want to poke around or contribute, here's the repo: github.com/vavilov2212/wl-studio.
Why it needed a real server
The site used to ship as a static export on GitHub Pages, which is fine for plain content but can't run any backend code. This feature needs one, because the Gemini API key has to stay on the server. Put that key in client-side code and anyone with dev tools open can grab it in five seconds.
So the site moved to Vercel. It is Next.js app on the same repo, and deploy does not change.
What it costs: nothing
| Service | Used for | Tier |
|---|---|---|
| Vercel | hosting + the API route | Hobby (free) |
| Gemini API | embeddings + chat | free tier, no GCP project needed |
| Upstash Redis | rate limiting | free tier |
The Gemini key comes from the consumer AI Studio flow, not the Vertex AI console. I'll get into why that distinction matters in part 3.
Up next
I'm splitting this into three posts because there's enough here to get lost in:
- Part 2: the actual RAG pipeline, chunking and embedding your own content and how the retrieval code decides when to say "I don't know" instead of guessing. No vector database involved at this point.
- Part 3: working with the Gemini API specifically, free tier vs. Vertex AI, and what happens when a model is overloaded.
The site's repo is worklog_studio_site if you want to follow along, and Worklog Studio itself is open for contributions if time tracking is your thing.
Try the assistant yourself: worklog-studio-site.vercel.app. Click "Ask AI" and see what it knows.


Top comments (0)