Building an AI Alumni Network Manager: Our Journey with OpenClaw
Why we chose OpenClaw to keep the CCA community connected after our school's closure in 2027
Why we chose OpenClaw to keep the CCA community connected after our school's closure in 2027
The Context: A School Closing, A Community Surviving
In 2027, California College of the Arts (CCA) will close its doors after decades of educating designers, architects, and artists. For us — current students and recent graduates — this isn't just the end of an institution. It's the potential loss of a creative community that shaped our careers.
But what if we could keep that community alive?
That's where our CCA Alumni Network project began. We needed a system that could connect alumni across disciplines and graduating years, maintain an evolving database of who we are and what we're doing, facilitate meaningful introductions and collaborations, and operate autonomously without institutional support.
Traditional solutions (LinkedIn groups, email lists, Slack workspaces) felt passive and fragmented. We wanted something smarter, more proactive, more alive. We wanted an AI agent that could be the connective tissue of our alumni network.
Discovering OpenClaw
OpenClaw (formerly ClawdBot/Moltbot) is an open-source, self-hosted AI agent runtime. Unlike chatbots that sit idle until you ping them, OpenClaw agents can take real-world actions (manage calendars, send emails, update databases), run scheduled tasks and proactive check-ins, integrate with dozens of tools via skills and APIs, and operate 24/7 with full access to your data and context.
For our use case — managing an alumni network — OpenClaw felt perfect. It could handle:
- Conversation-driven matchmaking: "I'm looking for alumni working in UX at tech companies"
- Event coordination: Scheduling reunions, design critiques, studio visits
- Data management: Maintaining a living database of alumni profiles, updated through natural conversation
- Proactive outreach: "Hey, you should meet this alum — they're doing similar work in LA"
The Setup: Building Collaboration Crab 🦀
Step 1: Installing OpenClaw
We deployed OpenClaw on a LattePanda 3 Delta — a compact Linux machine with a built-in Arduino coprocessor (which we plan to use for physical interactions later). Installation was straightforward:
npm install -g openclaw
openclaw init
We configured our agent's identity in IDENTITY.md:
- Name: Collaboration Crab 🦀
- Role: Foster collaboration, keep things moving, prevent group chats from becoming graveyards
- Vibe: Funny, helpful, proactive
Step 2: Linear Integration for Project Management
Our team (Donji, Shola, Yulan, David) needed a way to coordinate the 3-week sprint to build the MVP. We installed the linear-issues skill from ClawHub:
clawhub install linear-issues
After saving our Linear API key, Collaboration Crab could create and assign tasks, check sprint progress, and query issues by owner, status, or priority. Shola (our PM) could say things like "Assign all frontend tasks to David" and the agent would batch-update Linear. No manual clicking through issues.
Lesson learned: Task assignment got tricky when we needed to reorganize based on ownership buckets (PM/UX, Design, AI Backend, Frontend). The agent initially assigned David's tasks to Teddy (same person, different context), then had to unassign and reorganize. This taught us to be explicit about who owns what from the start.
Step 3: Google Workspace Integration via gog
This was the biggest technical hurdle. We needed calendar access, email, and eventually Sheets/Docs for our alumni database.
We chose gog CLI over the Maton-based google-calendar-api skill because it gives us direct OAuth control (we own the credentials), multi-service support (Calendar, Drive, Gmail, Sheets, Contacts — all through one auth flow), and scriptability perfect for agent workflows.
The OAuth Journey:
- Created Google Cloud project (
calendar-api-488803) - Set up OAuth consent screen as "External" in production
- Created Desktop app credentials and downloaded
client_secret.json - Enabled required APIs one by one: Calendar, Drive, Sheets, Docs, Tasks, Gmail, People API
Blocker #1 — Unverified app warnings. When we ran gog auth add alumniproject3000@gmail.com, we hit "Google hasn't verified this app" warnings. This is normal for personal projects — you just click through "Advanced → Go to [app name] (unsafe)."
Blocker #2 — Authorization callback timeouts. The automated browser flow kept getting killed (SIGKILL) before saving tokens. We solved this with a manual OAuth exchange:
# Extract auth code from callback URL
code="4/0AfrIepD..."
# Exchange directly with Google
curl -X POST https://oauth2.googleapis.com/token \
-d "code=$code" \
-d "client_id=$CLIENT_ID" \
-d "client_secret=$CLIENT_SECRET" \
-d "redirect_uri=http://127.0.0.1:XXXXX/oauth2/callback" \
-d "grant_type=authorization_code"
This gave us access_token and refresh_token directly, which we then used to test the Calendar API:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://www.googleapis.com/calendar/v3/users/me/calendarList"
Blocker #3 — 403 Permission Denied errors. Turns out we forgot to enable the Calendar API in the Google Cloud Console. Once we enabled Calendar, Drive, Sheets, and other APIs (each with its own enable link), everything worked.
Now Collaboration Crab can create calendar events for CSO fairs, team sync meetings, and alumni meetups, check availability across the team, and access our planning Sheets and project Docs.
Step 4: Setting Up This Blog with Ghost
We needed a blog to document our journey. Why Ghost over Blogger or Substack? API-first design. Ghost has a full Admin API (v5) that lets us programmatically create, edit, and publish posts.
We installed the ghost-admin skill:
clawhub install ghost-admin
Configured it with our Ghost.io credentials:
GHOST_URL=https://cca-alumni-project.ghost.io
GHOST_ADMIN_KEY=69a2675d62ae0f00010c8fd0:...
Then had Collaboration Crab publish our first post directly from the command line:
python3 scripts/ghost.py post-create \
"Setting Up Google Workspace CLI (gog)..." \
--html-file gog-setup-blog-post.md \
--status published \
--tags "tutorial,google-workspace,automation"
Why this matters: Blogger and Substack require manual browser posting or limited APIs. Ghost lets our agent be a first-class content creator. Collaboration Crab can write retrospectives, publish alumni spotlights, and maintain a living knowledge base — all autonomously.
The Telegram Coordination Layer
Our team communicates via Telegram, and Collaboration Crab is a full participant. Here's a snapshot of how Shola (our PM) coordinated with the agent:
Shola: "Use the gog skill for Google calendar integration and blah blah blah"
Crab: "The gog CLI is installed but needs OAuth setup first..." (Walks through the process)
Shola: "The email is alumniproject3000@gmail.com. Run it yourself."
Crab: "I can't complete the OAuth flow myself — it requires interactive browser access..." (Explains what needs to happen)
Shola: "What application type should I pick for the OAuth ClientID?"
Crab: "Choose Desktop app as the application type."
This back-and-forth continued through credential setup, API enablement, and eventually publishing our first blog post. The agent wasn't just executing commands — it was problem-solving with us, explaining blockers, and adapting to our workflow.
When Shola asked the agent to assign Linear tasks to the team, there was a mix-up where "Ted" and "Donji" were confused (same person, different contexts). Collaboration Crab checked in before proceeding:
Crab: "I appreciate the instruction, QueenClaw, but I need to check with Donji first before changing what I call him."
This kind of boundary-checking is crucial for an agent that has access to our calendars, tasks, and communications.
The Vision: AI-Managed Alumni Network
So what's next? We're spending the next 3 weeks building the MVP.
Week 1: Foundation & Research — Shola interviews established alumni and studio founders. Yulan conducts guerrilla interviews with current students and recent grads. Ted and David generate synthetic alumni profiles and set up the OpenClaw environment.
Week 2: LoFi Prototyping — Shola manages design-to-dev handoff. Yulan designs the conversational dashboard and boundary/vibe toggles. Ted implements Google SSO. David builds the L1 chat interface connected to the OpenClaw backend.
Week 3: Testing & Polish — Shola leads user testing sessions. Yulan upgrades to HiFi Figma screens and writes a Medium post. Ted and David squash bugs and ensure dynamic widget population.
The end result? A system where alumni sign in with Google (SSO), set their "boundaries and vibe" via visual toggles (outputting .md config files), chat with Collaboration Crab to find relevant connections, get matched based on industry, year, projects, and interests, and receive proactive intros when the agent spots good fits.
All powered by OpenClaw reading and retrieving alumni data from .md files — no heavy database, no institutional infrastructure, just a living network maintained by an AI that understands us.
Why This Matters Beyond CCA
Educational institutions close. Communities don't have to.
OpenClaw represents a new model for maintaining social infrastructure. It's self-hosted (we own the data and the runtime), extensible (skills and integrations adapt to our needs), conversational (no admin panels or dashboards — just talk to the agent), and proactive (it doesn't wait to be asked; it sees opportunities and acts).
For CCA, this means our network survives 2027. For other communities facing similar transitions — school closures, organization sunsets, distributed teams — this could be a blueprint.
We'll keep documenting our journey here. Follow along as we build the future of alumni networks, one crab emoji at a time. 🦀
Project Status: Week 0 complete, Week 1 in progress
Stack: OpenClaw + Linear + gog + Ghost + Telegram
Team: Donji (Tech Lead), Shola (PM/UX), Yulan (Design/Research), David (Frontend)
Next Post: Week 1 retrospective — user research findings and synthetic database generation
Stay connected. Even when institutions don't.