The hub for Boston's AI-powered development community.
Built by builders, for builders, using Cursor.
|
You don't need to know how to code. AI tools like Cursor, Claude Code, and Codex can do the technical work for you. We wrote a step-by-step guide in plain, simple language β no jargon, no experience required. |
Cursor Boston is a community-led platform designed to bring together the most ambitious developers, students, and founders in the Boston area. We focus on AI-native development workflowsβleveraging tools like Cursor to ship production code at the speed of thought.
- Summer Cohort β 5-week intensive fellowship; weekly submissions land in long-lived submission branches (
c1w*-submission,c2w*-submission). - Hackathons β monthly virtual + in-person events with team formation, submission gallery, and AI-judged scoring (Hack-a-Sprint, Sports Hack, PyData notebooks).
- Generals β a persistent turn-based strategy MMO contributors can play and contribute to. Includes Heroes, Armageddon end-game, public profiles, pacts, prophecies, and a public-vote chronicle system. Game contribution docs live under
docs/generals/. - Mentorship & Pair Programming β matchmaking between members.
- Talks & Showcase β community presentations + project gallery.
- Questions β community Q&A on Cursor workflows, prompting patterns, and engineering process.
- π± Beginners & Students: Pick up AI-assisted development from day one β no experience required.
- πΌ Interns & Early-Career Devs: Level up fast by building real features with real tools.
- π» Working Developers: Sharpen your workflow, contribute to open source, and connect with peers.
- π§ Senior Engineers & Experts: Mentor others, shape the project, and push the boundaries of AI-native development.
- π Founders & Indie Hackers: Prototype MVPs in hours and validate ideas fast.
- π¨ Designers & PMs: Bridge the gap between design and production code.
Whether you're writing your first line of code or your ten-thousandth β if you care enough to open Cursor and do some work, you belong here.
This platform is a living example of what you can build with Cursor and modern web tech:
- Frontend: Next.js 16 (App Router), Tailwind CSS, TypeScript
- Backend: Firebase (Auth, Firestore, Storage)
- Integrations: Discord/GitHub OAuth, Luma API, Framer Motion
graph TB
subgraph Client["Browser"]
UI["Next.js 16 App Router<br/>(React + Tailwind CSS)"]
Auth["Firebase Auth<br/>(Email, Google, GitHub)"]
end
subgraph Vercel["Vercel"]
Pages["Pages & Layouts<br/>(SSR / Static)"]
API["API Routes<br/>(214+ endpoints)"]
MW["Middleware<br/>(CSRF, Rate Limit, Logging)"]
end
subgraph Firebase["Firebase"]
Firestore["Cloud Firestore<br/>(Users, Events, Posts, Teams)"]
Storage["Cloud Storage<br/>(Avatars, Uploads)"]
end
subgraph External["External Services"]
Discord["Discord OAuth + Webhooks"]
GitHub["GitHub OAuth + Webhooks"]
Luma["Luma Events"]
Mailgun["Mailgun Email"]
Leaflet["CARTO + Leaflet Maps"]
end
UI --> Pages
UI --> Auth
Auth --> Firestore
Pages --> API
API --> MW
MW --> Firestore
MW --> Storage
API --> Discord
API --> GitHub
API --> Mailgun
UI --> Luma
UI --> Leaflet
Want to add a major feature to the platform? We have 6 open feature projects ready for contributors to claim and build:
| # | Feature | Issue |
|---|---|---|
| 1 | Prompt & Rules Cookbook β share and discover Cursor workflows | #78 |
| 2 | Achievement Badge System β gamified milestones for community activity | #79 |
| 3 | AI Pair Programming Matchmaker β find your coding partner | #80 |
| 4 | Public Community Analytics Dashboard β visualize community growth | #81 |
| 5 | Interactive Community Event Map β Boston venues on a live map | #82 |
| 6 | Lightning Talk Timer & Speaker Queue β real-time event tool | #83 |
Each feature is fully isolated β new routes, new Firestore collections, no entanglement with existing code. Pick one, comment to claim it, and ship it. See the Contributing Guide for how to get started.
Looking for something smaller? Browse
good first issuefor beginner-friendly tasks. Issues taggedmaintainer:auditare internal maintainer review work β not for new contributors; you can safely ignore that label.
Where does my PR go? Most contributions target
develop(the default base). A few β PyData notebooks, summer cohort weekly submissions, game content, maintainer applications β target dedicated long-lived branches instead. See docs/SUBMISSION_BRANCHES.md for the routing table.
- Full endpoint list: docs/API.md β 215 operations across 32 areas
- Live Swagger UI:
/api/docs(orhttp://localhost:3000/api/docsin dev) - OpenAPI 3.0 spec: served at
/openapi.json, regenerated bynpm run generate:openapion every build - Per-area contracts live in
lib/api-schemas/and use@ts-rest/core+zod. Each route validates its inputs against the same schema the spec is generated from, so docs and code can't drift. - Adding a new route: define the contract in
lib/api-schemas/<area>.ts, register it inlib/api-schemas/index.ts, then validate inputs viacontract.<route>.body.safeParse(...)in your route handler. The CI gate (npm run check:route-contracts) blocks any new route underapp/api/that doesn't import a contract.
| If you⦠| Read this | Time |
|---|---|---|
| Have never coded before | GET_STARTED.md β uses AI tools, plain language | ~30 min |
| Know git, want the shortest path to a merged PR | CONTRIBUTING.md Β§ Your first PR in 5 minutes | ~5 min |
| Want a guided first-PR walkthrough with explanations | FIRST_CONTRIBUTION.md | ~30β45 min |
| Want the full contribution policy (issue claiming, code style, review process) | CONTRIBUTING.md | reference |
- Documentation index - Order of docs for newcomers vs maintainers
- User Guide - Map of every section on cursorboston.com (visitor sitemap)
- Get Started (No Experience Needed) - Plain-language guide for complete beginners
- Development Guide - Setup, scripts, troubleshooting, architecture
- First Contribution - Step-by-step first PR walkthrough
- Contributing Guide - Contribution policy and code style
- Submission branches - When to PR against
developvs. a long-lived submission branch - Support - Where to ask questions (Discord, issues, email)
- Governance - Roles, decisions, and maintainer process
- Maintainers - Current roster and per-area ownership
- GitHub Issues - Browse and claim open tasks
- Code of Conduct - Our community standards
- Security Policy - How to report security vulnerabilities
- Accessibility - Our accessibility commitment and WCAG targets
- Contributors - Everyone who has contributed code
- Architecture Decisions - Why the project is built the way it is
- Changelog - Version history
- Vercel deployments - Production-only deploys (PRs do not trigger Vercel builds)
- API Reference - Full list of API endpoints
- LICENSE and NOTICE - GPL-3.0 license terms and project attributions
-
Fork, then clone your fork
git clone https://github.com/your-username/cursor-boston.git cd cursor-boston -
Install & run (no Firebase account needed)
npm install cp .env.local.demo .env.local # zero-config demo mode npm run dev # open http://localhost:3000
The site loads fully in demo mode β pages, layouts, and styling all work. Firebase features (auth, data) are disabled until you set up credentials.
Want full functionality? See docs/DEVELOPMENT.md for Firebase setup, all npm scripts, troubleshooting, and more.
First time contributing? See docs/FIRST_CONTRIBUTION.md for a step-by-step walkthrough.
A production-ready multi-stage Dockerfile is available at docker/Dockerfile:
# Build the image (pass Firebase config as build args)
docker build -f docker/Dockerfile \
--build-arg NEXT_PUBLIC_FIREBASE_API_KEY=your-key \
--build-arg NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-domain \
--build-arg NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project \
--build-arg NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-bucket \
--build-arg NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your-id \
--build-arg NEXT_PUBLIC_FIREBASE_APP_ID=your-app-id \
--build-arg NEXT_PUBLIC_FIREBASE_DATABASE_URL=your-db-url \
--build-arg UNSUBSCRIBE_SECRET=build-only-placeholder-secret-32-bytes \
-t cursor-boston .
# Run the container with the real runtime signing secret
docker run -p 3000:3000 \
-e UNSUBSCRIBE_SECRET="$(openssl rand -hex 32)" \
cursor-bostonThe image uses Node 22 Alpine, runs as a non-root user, and includes a health check at /api/health.
Run the internal apiRateLimits cleanup endpoint from this repo:
CRON_SECRET=your-secret npm run rate-limit-cleanupOptional environment variables:
RATE_LIMIT_CLEANUP_BASE_URL(default:http://localhost:3000)RATE_LIMIT_CLEANUP_DRY_RUN(truefor no-delete simulation)RATE_LIMIT_CLEANUP_BATCH_SIZE(clamped to1-500)RATE_LIMIT_CLEANUP_MAX_BATCHES(clamped to1-20)
Examples:
# Dry run against production URL
CRON_SECRET=your-secret RATE_LIMIT_CLEANUP_BASE_URL=https://cursorboston.com RATE_LIMIT_CLEANUP_DRY_RUN=true npm run rate-limit-cleanup
# Real cleanup with tighter bounds
CRON_SECRET=your-secret RATE_LIMIT_CLEANUP_BATCH_SIZE=200 RATE_LIMIT_CLEANUP_MAX_BATCHES=3 npm run rate-limit-cleanup- v0.1: Initial Community Hub & Event Tracking
- v0.2: Enhanced Member Profiles & Social Integration
- v0.3: Community Discussion Boards
- v0.4: PWA & Mobile Optimization
See the full roadmap β including active development, planned work, and where to find issues to pick up β in .github/ACTIVE_ISSUES.md.
Maintained by @rogerSuperBuilderAlpha (Project Lead), @bradAGI (Maintainer), @nebullii (Maintainer), and @AaronGrace978 (Community Maintainer) β see MAINTAINERS.md for area ownership.