About this software
About FrontDesk AI
FrontDesk AI is a FastAPI and SQLite web app with a public landing page, a visitor chat at /chat, and a password-protected admin workspace. Visitors get answers drawn from an admin-managed knowledge base and can book appointments (documented as 60-minute slots, with opening hours, closed days and holidays configurable in settings). The admin side covers a dashboard, appointments, conversations, knowledge base and settings. AI is optional and works with any OpenAI-compatible provider configured in Admin → Settings, with the API key encrypted at rest. It ships with a Dockerfile, docker-compose, a Render blueprint and a test suite. It is web-only, with no mobile app.
Why FrontDesk AI
What makes it better
than the alternatives
- 01
Isolated one-click demo mode
A DEMO_MODE creates a per-reviewer sandbox with fictional seeded data and blocks sensitive actions like password and AI-settings changes.
- 02
Hardened admin access
Bcrypt password hashes, CSRF checks, rate limits on login, setup and chat, and a SETUP_TOKEN-gated first-run admin creation.
- 03
Visitor conversation ownership
Chat conversations are bound to a signed session token, and guessed conversation IDs are rejected with 403.
- 04
Bring-your-own AI provider
Base URL, key and model are set in the admin UI, with the key stored encrypted using Fernet.
- 05
Deploy-ready packaging
A root Dockerfile with hash-pinned lockfile, docker-compose, a Render blueprint and a health endpoint, plus app and deployment tests.
Public Site & Chat
- Landing page at /
- Visitor chat page at /chat
- Message length cap (default 2000) and per-IP chat rate limiting
- Session-bound conversations
Booking
- Appointment booking through chat
- Overlap and duplicate protection
- Configurable opening and closing hours
- Closed days and holiday dates
Admin Dashboard
- Counts of conversations
- messages
- appointments and knowledge items
- Today's
- upcoming
- completed and this-month appointments
- Conversation-to-booking conversion rate
- Seven-day conversation activity chart
- Recent conversations and upcoming appointments
Appointments Management
- Paginated list with status filter and search by name
- phone or service
- Status updates to confirmed
- cancelled or completed
Conversations
- Searchable
- paginated conversation list
- Conversation detail view with messages
- Delete conversation
Knowledge Base
- Add
- edit
- delete and search FAQ entries
- Category and active toggle per entry
Settings & Account
- Business name and schedule
- AI base URL
- API key and model
- Admin password change with weak-password rejection
Auth & Deployment
- First-run setup at /admin/setup or env-based admin bootstrap
- Login and logout with signed sessions
- Docker
- docker-compose and Render configs
- Pytest suites for app and deployment
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| Python | — | — | Web, API | 88.5% |
| HTML | — | — | Front-end | 6.1% |
| SQL | — | — | Database | 3.1% |
| Go | — | — | API | 1.4% |
| JavaScript | — | — | Front-end | 0.9% |
| CSS | — | — | Styling | 0% |
- Primary language
- Python 3.12 (python:3.12.7-slim image)
- Framework
- FastAPI 0.162 with Uvicorn 0.54
- Database
- SQLite file via SQLAlchemy 2.0.57 (SQLite version not pinned)
- Authentication
- Signed session-cookie admin login with bcrypt password hashes and CSRF tokens; optional sandboxed demo login
- Licence
- Single-site
- Screens
- 11
- Database tables
- 5
- Supported languages
- English only as shown in the code; no translation layer; RTL not supported
- Browser support
- Not tested in the digest; needs JavaScript and cookies enabled
| Minimum | Recommended | |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 1 GB RAM (estimate, not benchmarked) | 2 GB RAM (estimate, not benchmarked) |
| OS | Linux container with Python 3.12.7; runs under Uvicorn | Linux container with Python 3.12.7; runs under Uvicorn |
| Est. monthly hosting | $7 | $7 |
Run from the archive root: ``` cp .env.example .env # edit .env: set SECRET_KEY (at least 32 characters) and SETUP_TOKEN docker compose up --build ``` Open http://localhost:10000/admin/setup to create the first admin.
``` cd FrontDesk-AI python3.12 -m venv .venv && source .venv/bin/activate pip install --require-hashes -r "FrontDesk Project/requirements.lock" cd "FrontDesk Project" cp .env.example .env # set SECRET_KEY and SETUP_TOKEN uvicorn main:app --host 0.0.0.0 --port 10000 ``` For production, put a reverse proxy with HTTPS in front and set HTTPS_ONLY=true.
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
Reviewer notes (1 minor)
Orm-only access with escaped like and scoped deletes; schema, fks and indexes not verifiable from digest. None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.