Tech stack
How Palchat is put together.
Rather than a long list of tools, this page shows the flow from a visitor landing on the site to data being stored and deployed.
End‑to‑end flow
- 1
Visit
User hits `palchat.org`
Vercel serves pre-rendered Astro pages from a global edge network, so the first paint is fast even on slow connections.
Astro (static rendering) Vercel Edge / CDN - 2
Interact
UI becomes interactive where needed
Most of the page stays static HTML, but small pieces (like comments or tools) hydrate as React components for a smooth in-browser experience.
React islands Tailwind CSS - 3
Request
Browser talks to a tiny API
When a user submits something (like a comment or form), the front-end calls a single-purpose serverless function.
Vercel Serverless Functions Node.js runtime - 4
Store
Data is written to Postgres
The function uses a pooled Postgres client to read and write structured data in a single relational database.
PostgreSQL `pg` pooled client Aurora / RDS‑compatible - 5
Notify & respond
Optional emails and responses
For contact flows, the same serverless layer can trigger transactional emails or internal notifications.
Nodemailer Environment variables via `dotenv` - 6
Deploy
Code changes go live automatically
Pushing to the main branch triggers a Vercel build: Astro pages are rebuilt, functions are redeployed, and everything is served behind SSL.
Git + CI on Vercel Automatic SSL & CDN
Stack by layer (summary)
Frontend
- Astro for fast, mostly static pages.
- React islands where interactivity is needed.
- Tailwind CSS for consistent design tokens.
Backend
- Vercel Functions for small, focused APIs.
- Node.js runtime for server logic.
- Nodemailer for transactional email.
Data & infra
- PostgreSQL as the main database.
- `pg` pooled client for safe connections.
- Vercel for hosting, SSL, and CDN.