Bahrain.js
Bahrain's JavaScript community — meetups, open source, and a clear path from first contribution to maintainer.
Project spec · 7 fields+
Overview
Bahrain.js is the JavaScript developer community for Bahrain. It runs monthly meetups and builder sessions, incubates open source projects under the `@bahrain-js` GitHub organisation, and publishes packages to npm under the same scope.
The community is open to anyone writing JavaScript or TypeScript in Bahrain — whether you're shipping your first PR or maintaining production libraries.
What we do
Bahrain.js is built around three things that compound on each other:
Meetups. Talks, workshops, and builder sessions that bring local devs into the same room — physically or virtually. Topics span the full ecosystem: React, Vue, Node, TypeScript, runtimes, tooling.
Open source. A pathway from idea to prototype to npm release under the community organisation. Projects are owned by their authors but get visibility, code review, and infrastructure from the community.
Careers. A job board and direct connections between Bahraini developers and the companies hiring them — including XYZ, Startup Bahrain, and Tamkeen-aligned employers.
Progression
Bahrain.js makes the path from newcomer to maintainer explicit, not gated:
Member → Contributor → Maintainer → Core Team.
Each level has clear criteria: a Member shows up. A Contributor ships a PR. A Maintainer owns a project. The Core Team runs the community itself. There's no waiting list, no gatekeeping — every step is earned by doing the work, and the work is visible to everyone.
Build
The site is a Nuxt 4 static build deployed to GitHub Pages, with Neon Serverless Postgres behind a Data API for the dynamic pages — events, projects, people, and the admin panel. Marketing and blog routes are prerendered; data-driven routes ship as client-only SPAs that fetch from Neon at runtime. The result is zero ongoing infrastructure cost and a single codebase any contributor can clone, run, and submit a PR against.
The blog runs on `@nuxt/content` v3 with markdown files in `/content/blog/` — anyone can submit a post by opening a PR. Authentication uses Neon Auth with GitHub OAuth, which keeps the contributor mental model aligned: the same GitHub identity for code contributions, member profile, and admin access.
UI is Nuxt UI v4 on Tailwind CSS v4, with GSAP (via `v-gsap-nuxt`) powering the homepage animations. Tests run on Vitest with `@nuxt/test-utils` and `happy-dom`. The whole stack — codebase, infrastructure, content workflow — is open source under MIT, because a community site that isn't transparent isn't really a community site.
Get involved
Visit bahrain.js.org for upcoming events and active projects. The community runs on GitHub for code, Discord and WhatsApp for daily conversation, npm for shipped packages, and Reddit + Instagram for broader reach.
The fastest way in is to come to a meetup or open a PR on one of the active `@bahrain-js` projects. We respond.
Have a project
in mind?
Tell us what you're building. We respond within 24 hours.