Prompt Engineering Is Living Document
Token usage entered the conversation early, and it shaped the decision-making process more than expected. Every feature had to earn its place. Free models have real limitations — and those limitations were worth testing before committing to anything more advanced or costly.
Sycophancy Is The Default
Several rounds of prompt updates focused specifically on counteracting those tendencies: introducing uncertainty language, pushing back through curiosity rather than compliance, being precise about tone and cadence. Being explicit helps, but it comes with tradeoffs. Every added instruction is more tokens, and more tokens means more cost and more surface area for the model to break mid-conversation.
Restraint Builds More Trust
The chatbot sits on the experimental Lab page, the portfolio index, and all individual project pages. A seven-second scroll nudge appears near the footer — close to the contact information — once per session. These were deliberate decisions rooted in the same thinking that shapes any good experience: respect for the visitor's attention is not optional.
Context Is The Conversation
Passing the current page URL to the backend so the chatbot knows where the visitor is turned out to be a small technical addition with outsized impact. A visitor on a project page is likely evaluating specific work. A visitor on the Lab page is likely curious about the experiment itself. That context — available before a single message is typed — allows the experience to feel tailored from the first interaction, not just after several exchanges.
What started as a few lines of instruction evolved into a structured document — changed only when necessary, refined through real conversations, and updated deliberately on the backend where the actual behavior lives.
The real leverage wasn't in the UI. Every meaningful behavior change — the personality, the memory, the project knowledge, the way it shifted tone depending on who it was talking to — came from how the instructions were written, not from anything visible on screen. My skepticism toward a format I actively disliked became one of the more honest design experiments on my website. The chatbot works because every decision about what it says, where it appears, and how it behaves was made with the same intentionality that should go into any experience meant to serve a person rather than just occupy their screen.
This project has been an interesting addition to the site, and it will need more time and real user data to fully assess its value. The next considerations include testing more stable models and building toward the early stages of a lead capture and client pipeline — a system that works in tandem with the chatbot to turn meaningful conversations into something actionable.