Increscendo Eventos
Corporate site for Increscendo with blog, services and a quoter with PDF generation and SAT catalogs, plus an admin panel.
Context
Increscendo needed a public presence — services, blog, events, FAQs — with a quote builder its clients could actually use, plus a lightweight admin panel for running customers, event types and quotes.
Architecture
A Next.js application on the App Router. The public pages (quienes-somos,
servicios, blog, eventos, faqs, contacto) are server-rendered for SEO.
The quote builder produces a PDF of the quote and reads SAT catalogs. The admin
lists — customers, event types, content, users — use @pibytelabs/listkit wired
to server actions.
Each list view lives in its own folder with a declarative config, a client component bound to the server-action adapter, and a server wrapper. The data comes from server actions that build parameterized SQL (zql).
Stack
- Next.js + TypeScript + Tailwind CSS.
- PostgreSQL with typed queries; migrations with
node-pg-migrate. - Auth.js (NextAuth) + next-safe-action for typed server actions.
@pibytelabs/listkitfor admin lists over server actions.- AWS S3 (uploads with presigned URLs), Google Maps with marker clustering.
- TipTap (editor), pdf-lib/pdfjs (documents), Resend + React Email.
Technical challenges
- Keeping the public pages server-rendered for SEO while the admin lists load on the client through listkit.
- A quote builder with PDF generation and SAT catalogs wired into the sales workflow.
Outcome
A search-optimized public site (increscendoeventos.com) with a working quote builder and a consistent admin panel built on declarative list configurations.