Every piece of writing on the site. Edit and save. Markdown works in all of these — bold, links, lists, headings, code — and in project descriptions and experience bullets too.
Roles shown on the Experience page. One bullet per line.
Portfolio projects. Fields and labels are comma-separated. GitHub button only shows when a project is labeled “Open Source”; the live link shows for “SaaS Live” / “SaaS Beta”.
Weekly recurring hours (site timezone) plus one-off blocked dates.
Recurring windows that are never bookable, every week (e.g. lunch, standing meetings). These override weekly hours.
Everything booked through the site. Click a day on the calendar to filter. The next 48 hours are never bookable by visitors (adjustable under Availability → Booking Rules).
● bookings ▬ blocked date
| When | Who | Contact | Invite | Note | Status |
|---|
Tell it what to do with your calendar in plain English — "block all federal holidays", "block next Friday", "no meetings before noon on Tuesdays", "cancel the booking with Jane". It computes dates itself and applies the changes.
One card per visitor — every session, IP, and AI chat merged into a single profile. Each IP is labelled with its country, ISP, and connection type. Anything irregular gets flagged. Hit Analyze for an AI security + behavior briefing, or ask the chatbot in the Activity tab.
Who's on the site and what they did. Visitors are tracked with a persistent id + device fingerprint, so IP changes and returning visits link to the same person.
Chat with your data — "who visited today?", "anyone from a datacenter or VPN?", "analyze the last visitor", "where are most people from?". It can read profiles, classify IPs, run analyses, and act.
| Started | Visitor | Location | IP | Events | AI |
|---|
Every public AI conversation. The clone saves contact details visitors share and flags anything that needs you — leads and flags show here, and Summarize condenses any chat into a few sentences.
The AI page runs on OpenRouter. Paste your API key, pick a model, and shape the system prompt. The assistant automatically gets your About text, experience, and projects as context.
When connected, confirmed bookings that chose Google Meet get a real calendar invite with a Meet link instantly — no manual step. Create an OAuth client in Google Cloud Console (Calendar API enabled, redirect URI shown below), paste the credentials, then Connect.
Redirect URI for the OAuth client:
SMTP is used for booking verification codes and confirmations. Until it’s configured, codes are printed to the server log instead of emailed.
Change the admin password. Do this right after first deploy — the default is “changeme”.
Invisible bot protection on Book a Call. Create a v3 key pair at google.com/recaptcha/admin for domain omarrezk.com, paste both keys, save. Leave empty to disable.