Thanks for wanting to help grow 237Builds! This is a small static site (HTML + vanilla JS + a JSON data file), so contributing doesn't require much setup.
- Add a startup to the directory — see Adding a New Startup below.
- Fix a bug — open an issue first if it's not obvious, or just send a PR.
- Suggest a feature — open an issue tagged
enhancementto discuss before building something large.
git clone https://github.com/Agentic-JJ-Web3/237Builds.git
cd 237Builds
npm installThen open index.html directly in your browser — there's no dev server or build step required just to view the site.
index.html and script.js styles are compiled ahead of time into public/tailwind.css (no CDN, no runtime framework). If you add or change any Tailwind classes, rebuild that file so your changes actually show up:
npm run build:css # one-off minified build
# or
npm run watch:css # rebuilds automatically while you editCommit the regenerated public/tailwind.css along with your other changes — it's the file the live site actually loads.
Validate it against the schema before opening a PR:
npm run validate:dataThis checks required fields, the allowed category values, URL shape, and duplicate ids. It also runs automatically in CI on every push and pull request (.github/workflows/validate-data.yml) — a failing check means the PR can't merge until it's fixed.
You can either:
- Contact us: send the startup details to njeipierrick@gmail.com or reach out on social media, and we'll add it for you.
- Contribute via GitHub:
- Open
data/companies.json. - Add a new startup object to the JSON array, following the existing format:
{ "id": 1, "name": "Your Startup Name", "category": "healthtech", "location": "City, Cameroon", "startDate": "YYYY", "description": "A brief description of your startup.", "website": "https://your-startup-website.com", "logo": "URL to your startup's logo" }idmust be unique among all entries.categorymust be exactly one of:community,healthtech,edtech,agritech,technology,transport,fintech,ecommerce(lowercase, as spelled — enforced bydata/companies.schema.json).websitemust be a fullhttp(s)://URL.logomust be a fullhttp(s)://URL, a site-relative path starting with/, or an empty string.- Optional fields shown on the startup's detail page (
detail.html) if you provide them:tags(array of short keywords, e.g.["B2B", "mobile money"]),team(array of strings, e.g.["Jane Doe - CEO"]),fundingStage(freeform string, e.g."Seed").
- Uploading a logo: if you don't have a URL for your startup's logo, upload it for free on imgbb.com, then use the direct image link (ending in
.png,.jpg, or.jpeg) as thelogovalue. - Run
npm run validate:dataand fix anything it flags. - Open a pull request.
- Open
- Fork the project.
- Create a feature branch:
git checkout -b feature/AmazingFeature - Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature - Open a pull request describing what changed and why.
If your PR touches data/companies.json, make sure npm run validate:data passes locally — CI will block the merge otherwise.
Don't forget to give the project a star! Thanks for contributing.