KNOW — Keys to Navigating Our World — exists to support first-generation, immigrant, and underrepresented students by creating affirming spaces, fostering peer-to-peer mentorship, and offering real academic, personal, and professional development opportunities. For a long time, our community existed mainly through word of mouth and in-person connections. We knew we needed a digital home that matched the energy and ambition of the organization.
So we built one.
The Goal
The website needed to do three things well: give KNOW a professional online presence, serve as a resource hub for the students we support, and make it easy for people to donate to our mission.
But beyond features, there was a more practical requirement — whoever built it couldn't be on call forever to update a paragraph of text or add a new event. The site needed to be something the KNOW team could manage on their own, without touching a line of code.
That shaped every decision we made.
The Stack
The website is built with a modern, production-grade tech stack:
- Next.js — for fast, server-rendered pages with great SEO
- React & TypeScript — for a reliable, type-safe frontend
- Payload CMS — a headless content management system that powers the admin dashboard
- Tailwind CSS — for a clean, consistent design system
- PostgreSQL (via Supabase) — as the database
- Stripe — for donation processing (one-time and monthly recurring)
- Resend — for transactional emails like welcome messages and donation receipts
- S3-compatible storage — for media files like images
What the Site Does
The website launched with a full set of features built around what our community actually needs:
Resource Directory — A searchable, filterable database of scholarships, internships, fellowships, and programs. Students can filter by tags, dates, and keywords to find what's relevant to them.
Articles & Blog — A space for KNOW to share stories, announcements, and insights. The CMS makes it easy for staff to write and publish articles without any technical knowledge.
Donation System — Supporters can make one-time or monthly recurring donations via Stripe. The system automatically sends donation receipts, handles failed payments, and even gives donors a self-service portal to manage or cancel their subscriptions via a secure magic link — no account required.
Mentorship Network — Students and mentors can sign up through dedicated forms. When they do, they're automatically added to our email list and receive a personalized welcome email.
Events — An events section where KNOW can post upcoming programs and opportunities with registration links.
Contact & Inquiries — A contact form that routes submissions directly to the team via email.
Everything is managed through a custom admin dashboard — the KNOW team can update any page content, publish articles, add resources, manage events, and more, all without a developer.

The Learning Curve
This was my first time working on a full project at this scale, and it came with a real education.
Early on, I had to think seriously about performance. Next.js gives you tools like server-side rendering and Incremental Static Regeneration, but you have to understand when to use each. Get it wrong and pages feel slow; get it right and they load almost instantly.
Caching was another challenge. The site pulls content from the CMS, which means pages need to stay fresh when content changes but not re-fetch on every single request. Tuning that balance — fast pages that still reflect recent updates — took some experimentation.
Security came up in ways I didn't expect. Stripe webhooks, for example, need to be verified using a secret signature before you process them — otherwise anyone could hit your endpoint and fake a donation. Setting up proper authentication for the admin panel, securing API routes, and handling user data responsibly were all things I had to learn and implement carefully.
Then there were the smaller, interesting details: email deliverability, S3 file naming, graceful error handling for edge cases, making sure the site looked good on every screen size.
Every problem was a new thing to learn.
Built for KNOW, Managed by KNOW
The part I'm most proud of isn't any single feature — it's that the whole thing runs without me.
The team can log into the admin panel and update hero text, publish a new article, add a scholarship to the resource directory, or check on recent donations. The site is fully theirs.
Building something that genuinely serves a mission you believe in, and watching real students benefit from it, made every late night debugging session worth it.
If you'd like to support KNOW's work, you can donate at knownonprofit.org/donate or explore our resources at knownonprofit.org/resources.
