Insights
Notes on building software
Practical write-ups from projects we've worked on: real problems and how we fixed them.

CiviCRM “Sorry, your session has expired” error: what actually causes it
A CiviCRM form that says “your session has expired” right after someone fills it out usually has nothing to do with sessions or caching. Here is the real fix.

How to set up outbound emails using SMTP in CiviCRM (Google Workspace version)
Setting up SMTP with CiviCRM and Google Workspace has a couple of pitfalls. Here is how to do it without wasting your afternoon.