Building a Nonprofit Website with AI

When I founded Wandering With Pride as a 501(c)(3) nonprofit, I had a mission statement, a board of directors, and zero budget for web development. What I did have was Claude, an internet connection, and the same stubbornness that got me through a master’s thesis. So I built the entire web presence myself — two websites, a CRM system, and an SEO strategy — using AI as my co-developer. I have no formal training in web development. Here’s how that went.

Starting from Nothing

The first version of wanderingwithpride.org was built in a single weekend. I described what I wanted to Claude — a clean, professional nonprofit site with information about the scholarship program, a donation page, and a way to contact us — and iterated from there. The AI generated the HTML and CSS. I tweaked it, asked for changes, broke things, and asked the AI to fix what I broke.

That first version was functional but basic. It had the information it needed to have, but it looked like what it was: a site built by someone who didn’t know what they were doing. Over the next few months, I rebuilt it three times, each iteration better than the last. By version three, I actually understood what the code was doing, not just what it looked like.

That’s the thing about building with AI that people miss. You don’t stay ignorant. If you’re paying attention, the AI teaches you as you go. By the time I was building version three, I wasn’t just accepting whatever the AI generated. I was reading the CSS, understanding the specificity cascades, recognizing when a flexbox solution was better than a grid, and catching when the AI suggested a hacky workaround instead of a proper fix.

The Personal Site

WanderingWithPride.com — this site, the one you’re reading right now — came later. It’s a static site hosted on GitHub Pages, built entirely in HTML, CSS, and vanilla JavaScript. No frameworks, no build tools, no dependencies. I made that choice deliberately: I wanted a site I could understand completely, maintain easily, and that would load fast on any connection.

The site has five pages (home, about, services, blog, contact), 60+ blog posts across four trip series, a blog system with filtering and search, responsive design, accessibility features, and full SEO markup. Everything is hand-written — or rather, hand-written by me and an AI, which is a distinction that matters less and less as time goes on.

The blog system was the most complex part. Each post has full Schema.org BlogPosting markup, Open Graph tags for social sharing, canonical URLs, breadcrumb navigation, related posts, and responsive images with WebP fallbacks. The blog listing page has real-time search, category filtering, trip filtering, and sorting — all in vanilla JavaScript with no framework. It’s about 120 lines of code and it handles 60+ posts without any performance issues.

The CRM: CiviCRM on Oracle Cloud

A nonprofit needs a CRM. Donor tracking, communication history, event management, volunteer coordination — you can do this in spreadsheets for a while, but eventually you need a real system. CiviCRM is open-source, designed for nonprofits, and free. Oracle Cloud has a free tier that’s generous enough to run it. So that’s what I built.

Setting up CiviCRM on Oracle Cloud was the hardest technical challenge of the whole project. Not because any single step was particularly difficult, but because there were approximately four hundred steps, each with its own documentation quality ranging from “thorough and current” to “written in 2018 and wrong in three places.” The AI was invaluable here — it helped me debug Apache configurations, troubleshoot MySQL permissions, and navigate Oracle Cloud’s networking rules (which are their own special circle of infrastructure hell).

The result is a fully functional CRM that tracks donors, manages communications, handles event registrations, and generates reports. It cost exactly $0 per month to run, which matters a lot when you’re a nonprofit with a budget that rounds to zero.

SEO: The Long Game

Building a website nobody can find is only slightly more useful than not having a website at all. SEO was something I knew nothing about and had to learn entirely through AI and experimentation.

The AI helped me understand the fundamentals: semantic HTML matters, page speed matters, structured data helps search engines understand your content, and meta descriptions are the free advertising you’re probably not using. But the real learning came from implementation and measurement. I added Schema.org markup to every page, submitted sitemaps to Google Search Console, optimized images for speed, and wrote meta descriptions that actually described the content instead of stuffing keywords.

The blog posts have been the biggest SEO asset. Each travel post is a unique piece of content about a specific place, with original photos and genuine narrative. That’s exactly what search engines want to surface. Several of my Rwanda posts now rank on the first page for specific long-tail queries about Rwandan travel experiences.

What I’d Tell Someone Starting from Zero

If you’re a nonprofit founder or anyone with a message and no web development budget, here’s what I’d say:

Start with a static site. You don’t need WordPress, Squarespace, or a CMS. You need HTML files on a server. GitHub Pages will host them for free. The simpler your architecture, the easier it is to understand, maintain, and fix when something breaks.

Use AI as a teacher, not just a tool. Don’t copy-paste code you don’t understand. Ask the AI to explain what it generated and why. Within a few weeks, you’ll be reading code as naturally as reading English. The goal isn’t to become a developer — it’s to become someone who can work effectively with AI to build what you need.

Get the SEO right from the start. It’s much easier to build SEO into a site from day one than to retrofit it later. Schema.org markup, meta tags, canonical URLs, and a sitemap take maybe an hour to set up and pay dividends for years.

Don’t over-build. You don’t need a CRM on day one. You don’t need a blog on day one. You need a single page that explains who you are and what you do, with a way for people to contact you. Everything else can come later.

This site is my proof of concept. Every page, every post, every line of CSS was built by someone with a liberal arts degree and an AI assistant. If I can do it, you can do it. And if you get stuck, I’m happy to help — that’s what the services page is for.

Michael Eisinger

Michael Eisinger

Program manager, nonprofit founder, and LGBTQ+ travel writer based in Silver Spring, MD. I’ve spent over a decade managing programs across nonprofit, healthcare, and medical education — and another decade finding out where the bears go. I write about travel that’s real, destinations that are genuinely queer-friendly, and the places that changed how I see things.