├── .envrc ├── public ├── robots.txt ├── og_image_main.png ├── maintainer_photo_light.svg ├── maintainer_photo_dark.svg ├── favicon.svg └── logo │ ├── fossunited_logo.svg │ ├── unitedbyfoss_dark.svg │ ├── unitedbyfoss_light.svg │ └── logo.svg ├── server ├── tsconfig.json └── routes │ └── rss.ts ├── .github ├── github_logo.png ├── dependabot.yml ├── workflows │ ├── spellcheck.yaml │ └── nuxtjs.yml └── ISSUE_TEMPLATE │ └── get-featured.md ├── tsconfig.json ├── utils ├── index.ts └── icons.ts ├── pages ├── index.vue └── maintainers │ └── [slug].vue ├── layout ├── MaintainerPageLayout.vue └── BaseLayout.vue ├── shell.nix ├── pyproject.toml ├── .gitignore ├── components ├── icons │ ├── Codeberg.vue │ ├── Gitlab.vue │ ├── ArrowUpRight.vue │ ├── Discourse.vue │ ├── Menu.vue │ ├── Search.vue │ ├── DarkModeIcon.vue │ ├── Substack.vue │ ├── Twitter.vue │ ├── RSS.vue │ ├── EmailIcon.vue │ ├── WebIcon.vue │ ├── BitBucket.vue │ ├── LinkedIn.vue │ ├── Github.vue │ ├── Reddit.vue │ ├── Mastodon.vue │ ├── BlueSky.vue │ └── LightModeIcon.vue ├── ProjectLogo.vue ├── HeaderLinks.vue ├── ProjectDetailSection.vue ├── MaintainerFormRender.vue ├── ProjectCard.vue ├── MaintainerImage.vue ├── MaintainerDetailSection.vue ├── MaintainerCard.vue ├── ui │ ├── Link.vue │ └── SearchInput.vue ├── scrollTop.vue ├── HomeHeader.vue ├── Footer.vue ├── Header.vue └── MaintainerList.vue ├── GET_FEATURED.md ├── cspell.json ├── app.vue ├── content.config.ts ├── package.json ├── nuxt.config.ts ├── README.md ├── CHANGELOG.md ├── content ├── maintainers │ ├── boddusripavan.json │ ├── kdqed.json │ ├── abhinavxd.json │ ├── tachyons.json │ ├── knadh.json │ ├── albonycal.json │ ├── vishnukvmd.json │ ├── justinbenito.json │ ├── prasanthbasker.json │ ├── DalgoT4D.json │ ├── pnudupa.json │ ├── ayushmaanBora.json │ ├── mr-karan.json │ ├── pateljannat.json │ ├── tonyantony300.json │ ├── shivammathur.json │ ├── netchampfaris.json │ ├── hariharanumapathi.json │ ├── divya-mohan0209.json │ ├── shoaibmerchant.json │ ├── angrezichatterbox.json │ ├── helloanoop.json │ ├── karishmashukla.json │ ├── shijithkjayan.json │ ├── kovidgoyal.json │ ├── nikkothari22.json │ ├── prasunanand.json │ ├── ravidwivedi.json │ ├── shivanibhardwaj.json │ ├── shikhamis11.json │ ├── anandbaburajan.json │ ├── eagledot.json │ ├── liyasthomas.json │ ├── Schefflera-Arboricola.json │ ├── bodhish.json │ ├── adithya-s-k.json │ ├── agriyakhetarpal.json │ ├── core-stack-org.json │ ├── raisedadead.json │ └── marketcalls.json └── sample.json ├── parse-maintainer.py └── assets └── css └── main.css /.envrc: -------------------------------------------------------------------------------- 1 | use nix 2 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-Agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.nuxt/tsconfig.server.json" 3 | } 4 | -------------------------------------------------------------------------------- /.github/github_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossunited/forklore/HEAD/.github/github_logo.png -------------------------------------------------------------------------------- /public/og_image_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossunited/forklore/HEAD/public/og_image_main.png -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json" 4 | } 5 | -------------------------------------------------------------------------------- /utils/index.ts: -------------------------------------------------------------------------------- 1 | export const getPrettyLink = (link: string) => { 2 | return link.replace("https://", "").replace("http://", ""); 3 | }; 4 | -------------------------------------------------------------------------------- /pages/index.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /layout/MaintainerPageLayout.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /shell.nix: -------------------------------------------------------------------------------- 1 | with import {}; 2 | pkgs.mkShell { 3 | 4 | nativeBuildInputs = [ pkgs.bashInteractive ]; 5 | buildInputs = with pkgs; [ 6 | prettier eslint esbuild pre-commit 7 | uv yarn html-tidy djlint 8 | ]; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "forklore" 3 | version = "0.1.0" 4 | description = "Add your description here" 5 | readme = "README.md" 6 | requires-python = ">=3.13" 7 | dependencies = [ 8 | "markdown2>=2.5.4", 9 | "requests>=2.32.5", 10 | ] 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Nuxt dev/build outputs 2 | .output 3 | .data 4 | .nuxt 5 | .nitro 6 | .cache 7 | dist 8 | 9 | # Node dependencies 10 | node_modules 11 | 12 | # Logs 13 | logs 14 | *.log 15 | 16 | # Misc 17 | .DS_Store 18 | .fleet 19 | .idea 20 | 21 | # Local env files 22 | .env 23 | .env.* 24 | !.env.example 25 | -------------------------------------------------------------------------------- /public/maintainer_photo_light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /components/icons/Codeberg.vue: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /public/maintainer_photo_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GET_FEATURED.md: -------------------------------------------------------------------------------- 1 | ## Get Featured 2 | 3 | Looking to get yourself up there along with others? It's easy! 4 | 5 | ### Prerequisites: 6 | 7 | - Be an open-source maintainer, who has at-least one open source project which they actively maintain. 8 | 9 | ### Steps: 10 | 11 | - Open a "Get Featured" issue via https://github.com/fossunited/forklore/issues/new/choose 12 | - Add your information and responses to the questions in the issue template 13 | -------------------------------------------------------------------------------- /layout/BaseLayout.vue: -------------------------------------------------------------------------------- 1 | 4 | 17 | -------------------------------------------------------------------------------- /components/icons/Gitlab.vue: -------------------------------------------------------------------------------- 1 | 18 | -------------------------------------------------------------------------------- /components/icons/ArrowUpRight.vue: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /components/icons/Discourse.vue: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /components/icons/Menu.vue: -------------------------------------------------------------------------------- 1 | 20 | -------------------------------------------------------------------------------- /components/icons/Search.vue: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /components/icons/DarkModeIcon.vue: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "npm" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /components/ProjectLogo.vue: -------------------------------------------------------------------------------- 1 | 4 | 18 | -------------------------------------------------------------------------------- /components/icons/Substack.vue: -------------------------------------------------------------------------------- 1 | 20 | -------------------------------------------------------------------------------- /components/icons/Twitter.vue: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /components/icons/RSS.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/icons/EmailIcon.vue: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /components/icons/WebIcon.vue: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /cspell.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", 3 | "language": "en-US,hi-IN", 4 | "version": "0.2", 5 | "caseSensitive": false, 6 | "dictionaryDefinitions": [ 7 | { 8 | "name": "accepted-words", 9 | "path": ".cspell/accepted-words.txt", 10 | "addWords": true 11 | } 12 | ], 13 | "dictionaries": ["accepted-words"], 14 | "ignorePaths": [ 15 | "node_modules", 16 | ".cspell/project-words.txt", 17 | "dist", 18 | ".nuxt", 19 | ".output", 20 | ".data", 21 | "**/*.svg", 22 | "package.json", 23 | "content/sample.json", 24 | "**/*.ts" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /components/icons/BitBucket.vue: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /components/HeaderLinks.vue: -------------------------------------------------------------------------------- 1 | 17 | 26 | -------------------------------------------------------------------------------- /components/icons/LinkedIn.vue: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /components/ProjectDetailSection.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 28 | -------------------------------------------------------------------------------- /components/icons/Github.vue: -------------------------------------------------------------------------------- 1 | 20 | -------------------------------------------------------------------------------- /components/MaintainerFormRender.vue: -------------------------------------------------------------------------------- 1 | 4 | 25 | -------------------------------------------------------------------------------- /.github/workflows/spellcheck.yaml: -------------------------------------------------------------------------------- 1 | name: cspell - Spell Check 2 | 3 | on: 4 | pull_request: 5 | workflow_dispatch: 6 | 7 | jobs: 8 | spellcheck: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Run CSpell 16 | id: cspell 17 | uses: streetsidesoftware/cspell-action@v6 18 | with: 19 | config: "./cspell.json" 20 | incremental_files_only: false 21 | continue-on-error: true 22 | 23 | - name: Report CSpell Failure 24 | if: steps.cspell.outcome == 'failure' 25 | run: | 26 | echo "::error::🛑 Spell check failed. Please fix the spelling issues listed above." 27 | echo "Is this a false error? Custom words can be added to '.cspell/maintainer-words.txt'" 28 | exit 1 29 | -------------------------------------------------------------------------------- /components/ProjectCard.vue: -------------------------------------------------------------------------------- 1 | 5 | 27 | -------------------------------------------------------------------------------- /components/MaintainerImage.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 31 | -------------------------------------------------------------------------------- /app.vue: -------------------------------------------------------------------------------- 1 | 29 | 35 | -------------------------------------------------------------------------------- /components/icons/Reddit.vue: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /components/icons/Mastodon.vue: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /components/icons/BlueSky.vue: -------------------------------------------------------------------------------- 1 | 20 | -------------------------------------------------------------------------------- /content.config.ts: -------------------------------------------------------------------------------- 1 | import { defineCollection, defineContentConfig, z } from "@nuxt/content"; 2 | 3 | const maintainerSchema = z.object({ 4 | username: z.string(), 5 | full_name: z.string(), 6 | photo: z.string(), 7 | designation: z.string(), 8 | socials: z.array( 9 | z.object({ 10 | label: z.string(), 11 | link: z.string(), 12 | }) 13 | ), 14 | projects: z.array( 15 | z.object({ 16 | name: z.string(), 17 | project_link: z.string(), 18 | website_link: z.string(), 19 | logo: z.string(), 20 | description: z.string(), 21 | short_description: z.string(), 22 | }) 23 | ), 24 | form: z.array( 25 | z.object({ 26 | question: z.string(), 27 | response: z.string(), 28 | }) 29 | ), 30 | projects_list: z.string(), 31 | }); 32 | 33 | export default defineContentConfig({ 34 | collections: { 35 | maintainers: defineCollection({ 36 | type: "page", 37 | source: "maintainers/**.json", 38 | schema: maintainerSchema, 39 | }), 40 | }, 41 | }); 42 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nuxt-app", 3 | "private": true, 4 | "type": "module", 5 | "scripts": { 6 | "build": "nuxt build", 7 | "dev": "nuxt dev", 8 | "generate": "nuxt generate --no-prerender", 9 | "preview": "nuxt preview", 10 | "postinstall": "nuxt prepare", 11 | "cspell": "cspell ." 12 | }, 13 | "dependencies": { 14 | "@fontsource-variable/geist-mono": "^5.2.7", 15 | "@fontsource-variable/inter": "^5.2.8", 16 | "@nuxt/content": "^3.9.0", 17 | "@nuxtjs/color-mode": "4.0.0", 18 | "@tailwindcss/vite": "^4.1.17", 19 | "better-sqlite3": "^12.5.0", 20 | "feed": "^5.1.0", 21 | "minisearch": "^7.2.0", 22 | "nuxt": "^4.2.1", 23 | "tailwindcss": "^4.1.13", 24 | "vue": "^3.5.25", 25 | "vue-router": "^4.6.3", 26 | "yarn": "^1.22.22" 27 | }, 28 | "devDependencies": { 29 | "cspell": "^9.4.0" 30 | }, 31 | "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" 32 | } 33 | -------------------------------------------------------------------------------- /components/MaintainerDetailSection.vue: -------------------------------------------------------------------------------- 1 | 5 | 34 | -------------------------------------------------------------------------------- /nuxt.config.ts: -------------------------------------------------------------------------------- 1 | import tailwindcss from "@tailwindcss/vite"; 2 | 3 | // https://nuxt.com/docs/api/configuration/nuxt-config 4 | export default defineNuxtConfig({ 5 | ssr: true, 6 | devtools: { enabled: true }, 7 | modules: ["@nuxt/content", "@nuxtjs/color-mode"], 8 | css: ["/assets/css/main.css"], 9 | vite: { 10 | plugins: [tailwindcss()], 11 | }, 12 | colorMode: { 13 | classSuffix: '-mode', 14 | preference: "dark", 15 | }, 16 | app: { 17 | head: { 18 | viewport: "width=device-width, initial-scale=1", 19 | 20 | htmlAttrs: { 21 | lang: "en", 22 | }, 23 | link: [ 24 | { rel: "icon", type: "image/x-icon", href: "/favicon.svg" }, 25 | { 26 | rel: "alternate", 27 | type: "application/rss+xml", 28 | href: "/rss", 29 | title: "Forklore RSS Feed", 30 | }, 31 | ], 32 | }, 33 | }, 34 | compatibilityDate: "2025-05-15", 35 | experimental: { 36 | extractAsyncDataHandlers: true, 37 | }, 38 | nitro: { 39 | prerender: { 40 | crawlLinks: true, 41 | routes: ["/rss"], 42 | }, 43 | }, 44 | }); 45 | -------------------------------------------------------------------------------- /components/MaintainerCard.vue: -------------------------------------------------------------------------------- 1 | 4 | 37 | -------------------------------------------------------------------------------- /.github/workflows/nuxtjs.yml: -------------------------------------------------------------------------------- 1 | # https://github.com/actions/deploy-pages#usage 2 | name: Deploy to GitHub Pages 3 | on: 4 | workflow_dispatch: 5 | push: 6 | branches: 7 | - develop 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 13 | - run: corepack enable 14 | - uses: actions/setup-node@v4 15 | 16 | - run: yarn install 17 | - run: yarn generate 18 | - name: Upload artifact 19 | uses: actions/upload-pages-artifact@v3 20 | with: 21 | path: ./dist 22 | # Deployment job 23 | deploy: 24 | # Add a dependency to the build job 25 | needs: build 26 | # Grant GITHUB_TOKEN the permissions required to make a Pages deployment 27 | permissions: 28 | pages: write # to deploy to Pages 29 | id-token: write # to verify the deployment originates from an appropriate source 30 | # Deploy to the github_pages environment 31 | environment: 32 | name: github-pages 33 | url: ${{ steps.deployment.outputs.page_url }} 34 | # Specify runner + deployment step 35 | runs-on: ubuntu-latest 36 | steps: 37 | - name: Deploy to GitHub Pages 38 | id: deployment 39 | uses: actions/deploy-pages@v4 40 | -------------------------------------------------------------------------------- /components/ui/Link.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 56 | -------------------------------------------------------------------------------- /components/scrollTop.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 46 | 47 | 55 | -------------------------------------------------------------------------------- /utils/icons.ts: -------------------------------------------------------------------------------- 1 | import Github from "~/components/icons/Github.vue"; 2 | import Gitlab from "~/components/icons/Gitlab.vue"; 3 | import Codeberg from "~/components/icons/Codeberg.vue"; 4 | import ArrowUpRight from "~/components/icons/ArrowUpRight.vue"; 5 | import WebIcon from "~/components/icons/WebIcon.vue"; 6 | import LinkedIn from "~/components/icons/LinkedIn.vue"; 7 | import Twitter from "~/components/icons/Twitter.vue"; 8 | import Mastodon from "~/components/icons/Mastodon.vue"; 9 | import BlueSky from "~/components/icons/BlueSky.vue"; 10 | import BitBucket from "~/components/icons/BitBucket.vue"; 11 | import Substack from "~/components/icons/Substack.vue"; 12 | import Reddit from "~/components/icons/Reddit.vue"; 13 | 14 | const icons = { 15 | web: WebIcon, 16 | github: Github, 17 | gitlab: Gitlab, 18 | codeberg: Codeberg, 19 | linkedin: LinkedIn, 20 | x: Twitter, 21 | twitter: Twitter, 22 | mastodon: Mastodon, 23 | reddit: Reddit, 24 | bluesky: BlueSky, 25 | bitbucket: BitBucket, 26 | "arrow-up-right": ArrowUpRight, 27 | substack: Substack, 28 | } as const; 29 | 30 | type IconMap = typeof icons; 31 | type IconComponent = IconMap[keyof IconMap]; 32 | 33 | const iconMapper = (label: string): IconComponent => { 34 | return icons[label.toLowerCase() as keyof IconMap] || WebIcon; 35 | }; 36 | 37 | export default iconMapper; 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |

Forklore

4 | 5 | **Website for forklore, built on Nuxt** 6 | 7 |
8 | 9 | ## About Forklore 10 | 11 | Forklore is a data driven Open-Source website consisting of stories of maintainers from all over India. 12 | 13 | ## Social media campaign 14 | 15 | Everyone featured on Forklore was already or will be highlighted via the FOSS United Social media handles. 16 | 17 | | [Mastodon](https://mas.to/@fossunited)| [Bluesky](https://bsky.app/profile/fossunited.mas.to.ap.brid.gy)| [LinkedIn](https://www.linkedin.com/company/fossunited/)| [Instagram](https://www.instagram.com/fossunited/) | [X/Twitter](https://x.com/fossunited)| 18 | |:--|:--|:--|:--|:--| 19 | 20 | ## Contribute 21 | 22 | See something you can fix or make better? In the true spirit of Open-Source, we welcome all contributions from our community. 23 | 24 | Looking to get featured? Refer to [this document](/GET_FEATURED.md). 25 | 26 | ### Prerequisites 27 | 28 | ``` 29 | - node 20+ 30 | - yarn 1.22.22+ 31 | ``` 32 | 33 | ### Local Setup 34 | 35 | To get started with local development, follow these steps: 36 | 37 | - Clone this repository 38 | - Open this directory in terminal, and run `yarn install` 39 | - Start development server by running `yarn run dev` 40 | - The website should start running in `http://localhost:3000` 41 | -------------------------------------------------------------------------------- /pages/maintainers/[slug].vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 46 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Forklore Highlights 2 | 3 | > maintainers are in ascending order (older at top) 4 | 5 | ## November 2025 6 | 7 | ### Maintainers 8 | - [Ramya ragupathy @ HOTOSM & MapLibre](https://forklore.in/maintainers/ramyaragupathy) 9 | - [Ayushmaan Bora @ Xeneva](https://forklore.in/maintainers/ayushmaanbora) 10 | - [Abhisek Datta @ SafeDep](https://forklore.in/maintainers/abhisek) 11 | - [Nikhil Kothari @ Raven+Mint](https://forklore.in/maintainers/nikkothari22) 12 | - [Gautham Mohanraj @ Scribe](https://forklore.in/maintainers/angrezichatterbox) 13 | 14 | ### Website 15 | - Fixed some theming issue on svg logo based on ColorMode 16 | Thanks to @agriyakhetarpal on [#162](https://github.com/fossunited/forklore/pull/162) 17 | ref: https://color-mode.nuxtjs.org/usage/basic 18 | 19 | - [#176](https://github.com/fossunited/forklore/pull/176): Added sort by feature to the page and by default make newest on top 20 | 21 | 22 | ## October 2025 23 | 24 | ### Maintainers 25 | - [Mujeeb Rahman K @ poorna keyboard](https://forklore.in/maintainers/mujeebcpy) 26 | - [Hariharan Umapathi @ open-tamil-php](https://forklore.in/maintainers/hariharanumapathi) 27 | - [Rishikesh Chirammel Ajit @ Standard Agent](https://forklore.in/maintainers/rishikeshchirammelajit) 28 | - [Karthik Devan @ Zaturn](https://forklore.in/maintainers/kdqed) 29 | 30 | ### Website 31 | - Added an grid emoji page: https://forklore.in/commit-emoji/ 32 | - Added maintainers discourse forum category link: https://forum.fossunited.org/c/maintainers/ 33 | -------------------------------------------------------------------------------- /components/icons/LightModeIcon.vue: -------------------------------------------------------------------------------- 1 | 40 | -------------------------------------------------------------------------------- /components/HomeHeader.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 51 | -------------------------------------------------------------------------------- /components/Footer.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 69 | -------------------------------------------------------------------------------- /public/logo/fossunited_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /components/Header.vue: -------------------------------------------------------------------------------- 1 | 37 | 75 | -------------------------------------------------------------------------------- /public/logo/unitedbyfoss_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /content/maintainers/boddusripavan.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "BodduSriPavan-111", 3 | "full_name": "Boddu Sri Pavan", 4 | "photo": "https://avatars.githubusercontent.com/u/176265792?v=4", 5 | "designation": "Data Scientist-I at Inductive Quotient Analytics", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/BodduSriPavan-111" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/boddusripavan/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "KitikiPlot", 19 | "project_link": "https://github.com/BodduSriPavan-111/kitikiplot", 20 | "website_link": "https://kitikiplot-documentation.vercel.app/", 21 | "logo": "https://raw.githubusercontent.com/BodduSriPavan-111/kitikiplot-documentation/refs/heads/main/assets/logo.png", 22 | "description": "KitikiPlot is an open-source Python library designed for intuitive visualization of sequential categorical data using the sliding window technique. While Matplotlib excels at plotting continuous data, KitikiPlot fills the gap for categorical trends—making it ideal for researchers, data scientists, and analysts across genomics, electronics, weather forecasting, and more.", 23 | "short_description": "A Python library to visualize categorical sliding window data." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support?", 29 | "response": "If you have ideas for applying KitikiPlot visualizations to your domain, feel free to raise an issue. If you're able to implement a feature or fix, go ahead and raise a PR! For documentation or other contributions, reach out to us via email—we’d be glad to receive your valuable input." 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "KitikiPlot offers intuitive visualizations for categorical sliding window data, enabling users to set focus on sliding windows." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "Sleep well. Health is wealth." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "I see contributing to open source as a core responsibility. I benefit from open source, giving back is the least I can do!" 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "DomainOutOfKnowledge Error Occurred !" 46 | }, 47 | { 48 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 49 | "response": "🌐" 50 | } 51 | ], 52 | "created_on": "2025-06-19T18:04:46+05:30" 53 | } 54 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/get-featured.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Get featured 3 | about: FOSS maintainer profile submission 4 | title: "[MAINT] Your Name" 5 | --- 6 | 7 | 20 | 21 | 22 | ## Your Details 23 | 24 | **username:** your-github-username 25 | 26 | **full_name:** Your Full Name 27 | 28 | **photo:** https://your-photo-url.com/image.jpg 29 | 30 | **designation:** Your Role/Title 31 | 32 | **socials:** 33 | 34 | - GitHub: https://github.com/yourusername 35 | - Codeberg: https://codeberg.org/username 36 | - Mastodon: https://fosstodon.org/yourhandle 37 | 38 | --- 39 | 40 | ## Projects 41 | 42 | **project:** 43 | - name: Project Name 44 | - project_link: https://github.com/user/repo 45 | - website_link: https://yourproject.com 46 | - logo: https://yourproject.com/logo.svg 47 | - short_description: Brief one-liner about the project 48 | - description: Longer description that can span multiple lines. 49 | Just indent with 4 spaces for continuation. 50 | 51 | **project:** 52 | - name: Another Project 53 | - project_link: https://github.com/user/repo2 54 | - website_link: https://example.com 55 | - logo: https://example.com/logo.png 56 | - short_description: Another brief description 57 | - description: Another longer description 58 | 59 | --- 60 | 61 | ## Questions 62 | 63 | **How to support:** 64 | Your answer here. Can use multiple lines. 65 | 66 | **A small brief about your project:** 67 | Your answer here. 68 | 69 | **One FOSS maintainer lesson for your younger self:** 70 | Your answer here. 71 | 72 | **Why do you do it? Why do you bother maintaining a FOSS project?:** 73 | Your answer here. 74 | 75 | **If your repo had a theme song, what would it be?:** 76 | 77 | Your answer here. 78 | 79 | 80 | **Which file in your project would you most like to set on fire?:** 81 | Your answer here. 82 | 83 | **What's your open-source villain origin story?:** 84 | Your answer here. 85 | 86 | **If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?:** 87 | 88 | Your answer here. 89 | -------------------------------------------------------------------------------- /content/maintainers/kdqed.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "kdqed", 3 | "full_name": "Karthik Devan", 4 | "photo": "https://kdqed.com/assets/brand/dp.jpg", 5 | "designation": "Self Employed Engineer", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/kdqed" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://linkedin.com/in/kdqed" 14 | }, 15 | { 16 | "label": "X", 17 | "link": "https://x.com/kdqed" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Zaturn", 23 | "project_link": "https://github.com/kdqed/zaturn", 24 | "website_link": "https://zaturn.pro", 25 | "logo": "https://zaturn.pro/assets/logo.png", 26 | "description": "Zaturn provides tools that enable AI models to run SQL, so you don't have to. It can be used as an MCP or as a web interface similar to Jupyter Notebook. It can connect to multiple types of data sources and also make visualizations, all through chat.", 27 | "short_description": "Open source, AI-powered data analysis co-pilot" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Use it, give feedback, donate and advocate" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Open Source data analysis with VIBES for everyone." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Keep building, keep talking about it." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "It's fun and I get to do it the way I'd like to." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "https://open.spotify.com/track/60a0Rd6pjrkxjPbaKzXjfq" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "https://github.com/kdqed/zaturn/blob/main/zaturn/studio/storage.py" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "It's 2025, and it feels weird to be writing SQL for simple questions about my data." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?", 61 | "response": "💀 (I think my least favorite parts of being a FOSS maintainer are dealing with emojis and Discord)" 62 | } 63 | ], 64 | "created_on": "2025-10-27T14:22:02+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/abhinavxd.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "abhinavxd", 3 | "full_name": "Abhinav Raut", 4 | "photo": "https://avatars.githubusercontent.com/u/48166553?v=4", 5 | "designation": "Tech @ Zerodha", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/abhinavxd" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/abhinav-raut/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "Libredesk", 19 | "project_link": "https://github.com/abhinavxd/libredesk", 20 | "website_link": "https://libredesk.io/", 21 | "logo": "", 22 | "description": "Open source, self-hosted customer support desk. Single binary app.", 23 | "short_description": "Open source, self-hosted customer support desk. Single binary app." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "By using the project and contributing in any form code, documentation, feedback, or spreading the word." 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "Libredesk is a free, open-source, self-hosted customer support desk, a single-binary application built in Go with performance in mind." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "Ship fast. Ship ugly. Ship again." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "Why do you do it? For the joy of programming. Why maintain a FOSS project? Because what I wanted, exactly how I wanted it, didn’t exist. So I built it. What keeps you going? My mind is always racing with new ideas, I'm constantly excited, and writing code is the only way to keep up. Every day, I’m just waiting for the day to end so I can sit down and build that one feature / fix I’ve been thinking about." 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "Daft Punk - Harder, Better, Faster, Stronger" 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "" 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "There’s no truly free, modern, high-performance open-source help desk, most are outdated, open-core with heavy limitations, or overly complex to manage and deploy." 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 57 | "response": "🤹" 58 | } 59 | ], 60 | "created_on": "2025-06-13T12:44:15+05:30" 61 | } 62 | -------------------------------------------------------------------------------- /components/ui/SearchInput.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 83 | -------------------------------------------------------------------------------- /content/sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "fossunited", 3 | "full_name": "FOSS United", 4 | "photo": "https://avatars.githubusercontent.com/u/61445214?s=200&v=4", 5 | "designation": "Software Developer at XYZ", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/fossunited" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/fossunited/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "FOSS United Platform", 19 | "project_link": "https://github.com/fossunited/fossunited", 20 | "website_link": "https://fossunited.org", 21 | "logo": "https://fossunited.org/files/Foss%20United%20Logo%20Black.svg", 22 | "description": "India is now a hub of startups, innovative consumer software, developer communities, and large scale technological infrastructure. However, somewhere along the lines, the spirit of FOSS and hacking seems to have been overshadowed. This is illustrated by the disproportionately low number of quality FOSS projects coming out of India given a thriving industry compared to the explosion of projects that has happened globally over the last decade. The foundation aims to provide grassroots support to FOSS projects and events, and evolve into a community-industry collaboration with a diverse group of members and patrons. ", 23 | "short_description": "Platform for hosting Open Source events" 24 | }, 25 | { 26 | "name": "Project 2", 27 | "project_link": "https://example.com", 28 | "website_link": "https://example.com", 29 | "logo": "https://example.com", 30 | "description": "This is a usually a very long description", 31 | "short_description": "Short description that is used in cards & meta." 32 | } 33 | ], 34 | "form": [ 35 | { 36 | "question": "How to support", 37 | "response": "" 38 | }, 39 | { 40 | "question": "A small brief about your project", 41 | "response": "" 42 | }, 43 | { 44 | "question": "One FOSS maintainer lesson for your younger self", 45 | "response": "" 46 | }, 47 | { 48 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 49 | "response": "" 50 | }, 51 | { 52 | "question": "If your repo had a theme song, what would it be?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "Which file in your project would you most like to set on fire?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "What's your open-source villain origin story?", 61 | "response": "" 62 | }, 63 | { 64 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 65 | "response": "" 66 | } 67 | ] 68 | } 69 | -------------------------------------------------------------------------------- /public/logo/unitedbyfoss_light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /content/maintainers/tachyons.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "tachyons", 3 | "full_name": "Aboobacker M K", 4 | "photo": "", 5 | "designation": "Senior Software Engineer", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/tachyons" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/aboobacker-m-k/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://aboobacker.in/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Circuitverse", 23 | "project_link": "https://github.com/CircuitVerse", 24 | "website_link": "https://circuitverse.org/", 25 | "logo": "https://avatars.githubusercontent.com/u/42944450?s=200&v=4", 26 | "description": "CircuitVerse is a digital circuit simulation platform. It aims to provide a platform where circuits can be designed and simulated using a graphical user interface. While users can design complete CPU implementations within the simulator, the software is designed primarily for educational use. CircuitVerse is an open-source project with an active community. Check out the contribute page for more details.", 27 | "short_description": "CircuitVerse is a free, open-source platform which allows users to construct digital logic circuits online." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "You can make contributions as code, documentation, localization or money -https://opencollective.com/circuitverse" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "CircuitVerse is a free and open-source, web-based digital logic circuit simulator. 1 It provides an intuitive platform for users of all levels to create, simulate, and learn about digital circuits without the need for any software installation. 2 Beyond simulation, CircuitVerse fosters a collaborative environment where users can share their creations, learn from others, and even allows educators to create assignments and groups. 1 The project aims to build a strong community around digital logic education, making it accessible to students, professionals, and hobbyists worldwide" 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Consistency is everything" 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "It helped me to become who I am today" 46 | }, 47 | { 48 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 49 | "response": "🥱" 50 | } 51 | ], 52 | "created_on": "2025-06-03T22:24:28+05:30" 53 | } 54 | -------------------------------------------------------------------------------- /content/maintainers/knadh.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "knadh", 3 | "full_name": "Kailash Nadh", 4 | "photo": "https://avatars.githubusercontent.com/u/547147?v=4", 5 | "designation": "Hobbyist developer, CTO", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/knadh/" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://linkedin.com/in/kailashnadh" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://nadh.in/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "DictPress", 23 | "project_link": "https://github.com/knadh/dictpress", 24 | "website_link": "https://dict.press/", 25 | "logo": "https://dict.press/static/logo.svg", 26 | "description": "Build dictionaries for any language - dictpress is a free and open source, single binary webserver application for building and publishing fast, searchable dictionaries for any language.", 27 | "short_description": "A stand-alone web server application for building and publishing full fledged dictionary websites and APIs for any language." 28 | }, 29 | { 30 | "name": "listmonk", 31 | "project_link": "https://github.com/knadh/listmonk", 32 | "website_link": "https://listmonk.app/", 33 | "logo": "https://listmonk.app/static/images/logo.svg", 34 | "description": "listmonk is a self-hosted, high performance one-way mailing list and newsletter manager. It comes as a standalone binary and the only dependency is a Postgres database.", 35 | "short_description": "High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app." 36 | } 37 | ], 38 | "form": [ 39 | { 40 | "question": "How to support", 41 | "response": "Use dictpress to build dictionaries, glossaries etc." 42 | }, 43 | { 44 | "question": "A small brief about your project", 45 | "response": "dictpress is a webserver application for building and publishing fast, searchable dictionaries for any language." 46 | }, 47 | { 48 | "question": "One FOSS maintainer lesson for your younger self", 49 | "response": "Learn to say No confidently, where warranted." 50 | }, 51 | { 52 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 53 | "response": "I love doing it. I find it joyful and satisfying." 54 | }, 55 | { 56 | "question": "Which file in your project would you most like to set on fire?", 57 | "response": "None. I put in effort to not have inflammable files." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "✊" 62 | } 63 | ], 64 | "created_on": "2025-06-03T18:14:02+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/albonycal.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "albonycal", 3 | "full_name": "Shrirang Kahale", 4 | "photo": "https://avatars.githubusercontent.com/u/67057319?v=4", 5 | "designation": "Linux, Networking, and more", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/albonycal" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/shrirangkahale/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://shrirangkahale.com/" 18 | }, 19 | { 20 | "label": "Mastodon", 21 | "link": "https://fosstodon.org/@albonycal" 22 | } 23 | ], 24 | "projects": [ 25 | { 26 | "name": "Albony Mirror", 27 | "project_link": "https://mirror.albony.in", 28 | "website_link": "https://mirror.albony.in", 29 | "logo": "https://shrirangkahale.com/avatar_hu541ebb739410f7346c04e5216ce5f153_17291_100x100_fill_q75_h2_box_smart1_3.webp", 30 | "description": "mirror.albony.in provides CDN infra for various opensource projects and linux distributions, this is a student run service which serves 20TB+ traffic daily and thousands rely on it to get their latest opensource software.", 31 | "short_description": "Distributed Mirror Network in India Maintained by Shrirang Kahale" 32 | } 33 | ], 34 | "form": [ 35 | { 36 | "question": "How to support", 37 | "response": "https://mirror.albony.in/donate.html" 38 | }, 39 | { 40 | "question": "A small brief about your project", 41 | "response": "mirror.albony.in provides CDN infra for various opensource projects and linux distributions, this is a student run service which serves 20TB+ traffic daily and thousands rely on it to get their latest opensource software.." 42 | }, 43 | { 44 | "question": "One FOSS maintainer lesson for your younger self", 45 | "response": "You can only connect the dots while looking backwards." 46 | }, 47 | { 48 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 49 | "response": "I have an inner urge to contribute to FOSS in anyway I can, those traffic spikes on my servers keep me going :)" 50 | }, 51 | { 52 | "question": "If your repo had a theme song, what would it be?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "Which file in your project would you most like to set on fire?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "What's your open-source villain origin story?", 61 | "response": "" 62 | }, 63 | { 64 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 65 | "response": ":}" 66 | } 67 | ], 68 | "created_on": "2025-06-05T14:58:25+05:30" 69 | } 70 | -------------------------------------------------------------------------------- /content/maintainers/vishnukvmd.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "vishnukvmd", 3 | "full_name": "Vishnu Mohandas", 4 | "photo": "https://avatars.githubusercontent.com/u/1161789?v=4", 5 | "designation": "Building ente", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/vishnukvmd" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/vishnukvmd" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://vishnu.tech/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Ente", 23 | "project_link": "https://github.com/ente-io/ente", 24 | "website_link": "https://ente.io/", 25 | "logo": "https://rawcdn.githack.com/ente-io/ente/e1cb8e06a17093261443838d123407315b8ff542/.github/assets/ente-rocketship.png", 26 | "description": "Ente is a service that provides a fully open source, end-to-end encrypted platform for you to store your data in the cloud without needing to trust the service provider. On top of this platform, we have built two apps so far: Ente Photos (an alternative to Apple and Google Photos) and Ente Auth (a 2FA alternative to the deprecated Authy).", 27 | "short_description": "✨ End-to-end encrypted cloud for photos, videos and 2FA secrets." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Github stars :)" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "FOSS, End-to-end encrypted cloud for photos, videos and more." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "You cannot keep everyone happy." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "Ente is a project I started for myself, that grew into a financially sustainable company. So among other things, there's now a financial incentive to keep building. As for keeping things FOSS – we believe it's the best way to ensure that a project outlives its creators." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Speaking only for myself (and not rest of the maintainers): Manavyalakinchara – Agam." 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": ".gitmodules – submodules are terrible." 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🥲" 62 | } 63 | ], 64 | "created_on": "2025-06-05T07:53:26+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/justinbenito.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "justinbenito", 3 | "full_name": "Justin Benito", 4 | "photo": "https://avatars.githubusercontent.com/u/83128918?v=4", 5 | "designation": "Founder @ limegreen.studio | Student", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/justinbenito" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/justinbenito/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://justinbenito.com/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "tamilnadu.tech", 23 | "project_link": "https://github.com/fossuchennai/communities", 24 | "website_link": "https://tamilnadu.tech", 25 | "logo": "", 26 | "description": "Similar to blr.today, All the Tamil Nadu Tech Meetups are aggregated and displayed in one place, helping the tech ecosystem of tamil nadu to thrive.", 27 | "short_description": "Get All your Tamil Nadu Tech Meetups in one place" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Follow me on linkedin, that's more than enough XD: https://www.linkedin.com/in/justinbenito/" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "All your Tamil Nadu Tech Meetups aggregated in one single place" 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "open source is not that scary ( a bit yes 🥰 ) so just start building and launching and listening to the community 🚀" 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I strongly believe that great products involve a lot of great minds, and the internet is just the right place to find some great minds. You get to learn a lot from them." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "vetti pasanga vela ithunu solluravanga vetu payaga ( song: aagasam ) from soorarai potru" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "event.d.ts 🥰 ( not a big fan of typescript )" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "nothing as of now, but maybe in the multiverse: if a company rejects me and out of pure spite I build an open source version of them, that's the level of villainy I can imagine 😈" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "💫" 62 | } 63 | ], 64 | "created_on": "2025-07-17T15:40:43+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/prasanthbasker.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "bupd", 3 | "full_name": "Prasanth Baskar", 4 | "photo": "https://avatars.githubusercontent.com/u/89722848?v=4", 5 | "designation": "Software Engineer at 8gears", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/bupd" 10 | }, 11 | { 12 | "label": "Mastodon", 13 | "link": "https://mastodon.social/@bupd" 14 | }, 15 | { 16 | "label": "LinkedIn", 17 | "link": "https://www.linkedin.com/in/bupd" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Harbor", 23 | "project_link": "https://github.com/goharbor/harbor", 24 | "website_link": "https://goharbor.io", 25 | "logo": "https://raw.githubusercontent.com/cncf/artwork/refs/heads/main/projects/harbor/icon/color/harbor-icon-color.png", 26 | "description": "Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted. Harbor, a CNCF Graduated project, delivers compliance, performance, and interoperability to help you consistently and securely manage artifacts across cloud native compute platforms like Kubernetes and Docker.", 27 | "short_description": "An open source trusted cloud native registry project that stores, signs, and scans content." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Star the github repo. Start using Harbor." 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Harbor is basically a parking lot for your container images but with guards, scanners, and a bouncer that won’t let shady images in." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "do things in parallel and touch grass more." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "Apparently, sleep is optional and free stress testing of my patience." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Sangeetha swarangal eley kanaka comedy meme 🐌" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "Entire /tests directory" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "YAML broke again? Opened Harbor to “just check an issue”… accidentally became the guy people tag for replication bugs. 😅" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?", 61 | "response": "🐢" 62 | } 63 | ], 64 | "created_on": "2025-09-08T22:48:24+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/DalgoT4D.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "DalgoT4D", 3 | "full_name": "Project Tech4Dev", 4 | "photo": "https://projecttech4dev.org/wp-content/uploads/2024/05/Logo.png", 5 | "designation": "", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/DalgoT4D" 10 | }, 11 | { 12 | "label": "Web", 13 | "link": "https://dalgo.org/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://projecttech4dev.org/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Dalgo", 23 | "project_link": "https://github.com/DalgoT4D", 24 | "website_link": "https://dalgo.org/", 25 | "logo": "https://avatars.githubusercontent.com/u/113246504?s=200&v=4", 26 | "description": "Imagine an AI-powered open-source data platform revolutionizing the way NGOs harness insights for social impact. By seamlessly ingesting data from diverse sources, Dalgo leverages advanced machine learning, generative AI, and natural language processing (NLP) to unlock outstanding program insights. Picture a future where NGOs effortlessly measure their impact, visualize complex data, and drive transformative outcomes using state-of-the-art visualization tools. This is the future of data-driven social change.", 27 | "short_description": "Our open-source data platform enables NGOs to harness the power of data by automating data consolidation, transformation, storage and visualization on a unified platform." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "More contributions!" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Dalgo is an open-source data platform for the nonprofit sector" 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Start collecting good first issues early! Don't knock them off just because you can" 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "All our components are FOSS, we want our work to be public as well! It's all right if people don't run our platform, just having the code out there helps people too" 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Something by Purple Disco Machine" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "Probably the Jest tests" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "😌" 62 | } 63 | ], 64 | "created_on": "2025-06-05T14:58:25+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/pnudupa.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "pnudupa", 3 | "full_name": "Prashanth N Udupa", 4 | "photo": "https://avatars.githubusercontent.com/u/8263701?v=4", 5 | "designation": "Creator, Scrite", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/pnudupa" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/praud/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://www.prashanthudupa.com/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Scrite", 23 | "project_link": "https://github.com/teriflix/scrite", 24 | "website_link": "https://www.scrite.io/", 25 | "logo": "https://avatars.githubusercontent.com/u/63646106?v=4", 26 | "description": "Scrite is open-source multi-lingual screenwriting app, that lets you write your films better. With support for industry standard formatting, visual mapping of screenplay structures, elaborate research & note-taking features and a comprehensive set of pre-production reports, Scrite is a great place to start writing your next screenplay, or even import & continue working on your existing ones.", 27 | "short_description": "Multilingual Screenwriting App for Mac and PC" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Spread the word—invite filmmakers to try the app, share video reviews, contribute guides or code, and join our Discord to help new users." 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Scrite is a screenwriting software designed for Indian languages, enabling writers to create professionally formatted scripts, visually structure stories, refine narratives with ease, and generate detailed pre-production reports." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "You don't have to respond to everything immediately. Breathe. Relax. Take your time." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I love watching films, and it’s exciting to know that many of them are now being written using Scrite." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Not sure if this can be a theme song, but this is one song that got me through a lot of coding in Scrite. I have no idea why. Its my go-to song to unlock the mood to build long and elaborate stuff in the app: https://music.youtube.com/watch?v=jt96zlTUyLQ" 50 | }, 51 | { 52 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 53 | "response": "🙏" 54 | } 55 | ], 56 | "created_on": "2025-06-04T16:06:02+05:30" 57 | } 58 | -------------------------------------------------------------------------------- /components/MaintainerList.vue: -------------------------------------------------------------------------------- 1 | 74 | 75 | 97 | -------------------------------------------------------------------------------- /content/maintainers/ayushmaanBora.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "ayushmaanBora", 3 | "full_name": "Ayushmaan Bora", 4 | "photo": "https://i.postimg.cc/nVQfVDqz/ayushmaan.jpg", 5 | "designation": "CEO & Co Founder", 6 | "socials": [ 7 | { 8 | "label": "LinkedIn", 9 | "link": "https://www.linkedin.com/in/ayushmaan-bora-4b2806278/" 10 | }, 11 | { 12 | "label": "GitHub", 13 | "link": "https://github.com/ayushmaanBora" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "XenevaOS", 19 | "project_link": "https://github.com/manaskamal/XenevaOS", 20 | "website_link": "https://getxeneva.com/", 21 | "logo": "https://i.postimg.cc/QC72f2j7/Xeneva-Logo.png", 22 | "description": "XenevaOS is an XR Native Open Source Operating System built on top of a custom kernel written from scratch. The kernel architecture has been designed with modern applications in mind such as XR(AR/VR), Robotics etc. The kernel currently has support for both x86_64 and ARM architecture and we have future plans for RISC-V implementation as well. The main motive of our custom kernel is to derive most optimal performance from minimal hardware resources thus laying an emphasis on efficiency.", 23 | "short_description": "An Open Source Operating System written with a Custom kernel from Scratch." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "For direct financial donations, our Paypal account is linked in the Readme.md file. If you'd like to support us in other ways, please get in contact with us through our mail - hi@getxeneva.com" 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "An XR(AR/VR) native Operating System built with a custom kernel that focuses on efficiency and optimization for XR devices." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "Good Code Practice ! To always keep the code clean, readable and functional by being straight to the point." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "We started out of hobby and passion. Then we found real world problems which our project could be a solution of." 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "Stairway to Heaven by Led Zepplin." 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "Every file is precious ❤️" 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "Perhaps the negative comments saying our project is impractical." 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?", 57 | "response": "🥹" 58 | } 59 | ], 60 | "created_on": "2025-11-17T12:57:55+05:30" 61 | } 62 | -------------------------------------------------------------------------------- /content/maintainers/mr-karan.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "mr-karan", 3 | "full_name": "Karan Sharma", 4 | "photo": "https://avatars.githubusercontent.com/u/5689132?v=4", 5 | "designation": "Tech @ Zerodha", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/mr-karan" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/mrkaran/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://mrkaran.dev/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Logchef", 23 | "project_link": "https://github.com/mr-karan/logchef", 24 | "website_link": "https://logchef.app/", 25 | "logo": "", 26 | "description": "Logchef is a lightweight, powerful log analytics platform designed for efficient log management and analysis. It operates as a single binary, utilizing ClickHouse for high-performance log storage and querying. Logchef provides an intuitive interface for exploring log data, making it suitable for development teams seeking a robust and scalable solution.", 27 | "short_description": "Purpose-built log analytics UI for ClickHouse" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "GitHub Sponsors - https://github.com/sponsors/mr-karan/" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Logchef is a dedicated log query and visualization interface built specifically for ClickHouse. It fills a critical gap in the ClickHouse ecosystem, providing a powerful log explorer without reinventing log collection or storage." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Build what sparks your curiosity. Even if similar tools already exist, your unique perspective can add something valuable. Don’t wait for perfection - share your work with the world as it evolves." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "For me, open-sourcing the project brings in more eyes, suggestions, and issues - ultimately improving the software far more than if it were closed. I use a lot of self-hosted FOSS tools myself, and it would be incredibly fulfilling to see others using and benefiting from something I’ve built too." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Welcome to the Machine - Pink Floyd" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "✨" 62 | } 63 | ], 64 | "created_on": "2025-06-04T17:02:44+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/pateljannat.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "pateljannat", 3 | "full_name": "Jannat Patel", 4 | "photo": "https://avatars.githubusercontent.com/u/31363128?v=4", 5 | "designation": "Product Engineer @ frappe", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/pateljannat" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/jannat-patel/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "Frappe Learning", 19 | "project_link": "https://github.com/frappe/lms", 20 | "website_link": "https://frappe.io/learning", 21 | "logo": "https://rawcdn.githack.com/frappe/lms/bce45f44e419f0953f5f2fe96e85290ff8d57024/.github/lms-logo.png", 22 | "description": "Frappe Learning is a 100% open-source platform that helps you create structured courses with videos, quizzes, and assignments—perfect for educators, businesses, and content creators. Run live batches, track progress, and build a learning experience that works for you.", 23 | "short_description": "Frappe Learning is an easy-to-use learning system that helps you bring structure to your content." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "I would appreciate more contributions" 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "Frappe Learning is a learning management system that helps you create structured courses. Your lessons can have text content, videos, and embeds. You can also create and add quizzes and assignments of various forms. The major differentiator from other LMSs is that we have tried to keep it simple and not bloated like other alternatives (Moodle). Also, we don't enforce learning. Where other platforms allow instructors to add restrictions on how a student can move within the course, Frappe Learning has no such feature because we believe that learning can never be enforced." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "I would probably tell my younger self that patience and consistency are everything, and also to cultivate the habit of documenting regularly." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "Working on this app feels very fulfilling. It feels like my way of contributing to society." 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "" 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "" 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 57 | "response": "😅 - Exhausted but very happy and at peace on the inside" 58 | } 59 | ], 60 | "created_on": "2025-06-05T07:53:26+05:30" 61 | } 62 | -------------------------------------------------------------------------------- /content/maintainers/tonyantony300.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "tonyantony300", 3 | "full_name": "Tony Antony", 4 | "photo": "https://github.com/user-attachments/assets/d69f8fb1-529d-4fd9-a995-394cf65c3de4", 5 | "designation": "Tinkerer", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/tonyantony300" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/tonyantony300" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "AltSendme", 19 | "project_link": "https://github.com/tonyantony300/alt-sendme", 20 | "website_link": "https://altsendme.com", 21 | "logo": "https://github.com/user-attachments/assets/f61de421-1422-4062-ad45-5e68ee778e37", 22 | "short_description": "Peer-to-peer file transfer utility", 23 | "description": "Send files and folders anywhere in the world without storing in cloud - any size, any format, no accounts, no restrictions. QUIC based encrypted connections for faster private p2p." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "Right now there is no public roadmap but a lot can be done, You can reach out to me at tnyantny@protonmail.com and we will take it from there!

You can also [Sponsor my work](https://github.com/sponsors/tonyantony300)" 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "It's a simple yet revolutionary p2p file transfer tool. Direct open-source alternative to MKBHD endorsed blip.net. Uses Iroh networking stack, does hole-punching and can saturate gigabit connections in future. Users could use this tool instead of weTransfer, Dropbox and google drive for real-time transfers." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "It's not scary as you think it is." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "I saw the gap, thought I should fill. I have a history of volunteering and helping others whenever I can, when I got into software FOSS was kind of natural.
" 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "https://www.youtube.com/watch?v=54hoKbTWon4" 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "https://github.com/tonyantony300/alt-sendme/blob/main/src/core/send.rs" 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "When I posted my project across a few subreddits and the same people kept showing up just to yell “spam!” like they were trying to stop it from reaching people who might actually find it useful. In my head, I thought for a moment to monetize and push ads just for them. Not gonna do it but it definitely fueled my inner cartoon villain for a minute." 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?", 57 | "response": "🥰" 58 | } 59 | ], 60 | "created_on": "2025-12-12T10:58:12.759745" 61 | } 62 | -------------------------------------------------------------------------------- /content/maintainers/shivammathur.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "shivammathur", 3 | "full_name": "Shivam Mathur", 4 | "photo": "https://avatars.githubusercontent.com/u/1571086?v=4", 5 | "designation": "Principal Software Engineer, Creator of setup-php", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/shivammathur" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/shivammathur/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "setup-php", 19 | "project_link": "https://github.com/shivammathur/setup-php", 20 | "website_link": "https://setup-php.com", 21 | "logo": "https://repository-images.githubusercontent.com/206578964/e0a18480-dc65-11e9-8dd3-b9ffbf5575fe", 22 | "description": "Setup PHP with required extensions, php.ini configuration, code-coverage support and various tools like composer in GitHub Actions. This action gives you a cross-platform interface to set up the PHP environment you need to test your application.", 23 | "short_description": "GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "GitHub Sponsors - https://github.com/sponsors/shivammathur" 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "“Ship early, ship often”: I do not like to wait for covering every edge case before publishing, rather I would invite real users in, learn from their feedback, and iterate." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "Every thank-you comment, PR, or bug report reminds me that open source is a team sport—and that sense of community keeps me going." 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "Its is a bit dramatic, but Eminem - Lose Yourself" 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "https://github.com/shivammathur/setup-php/blob/main/src/configs/tools.json. I would like to build a proper registry where projects can register their tools to add support in a standard way." 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "It began with a burnout at a devops role implementing the same thing across different projects and it taking a long time due to how broken the tooling was before setup-php to implement PHP CI." 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 57 | "response": "🎢" 58 | } 59 | ], 60 | "created_on": "2025-06-03T22:24:28+05:30" 61 | } 62 | -------------------------------------------------------------------------------- /content/maintainers/netchampfaris.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "netchampfaris", 3 | "full_name": "Faris Ansari", 4 | "photo": "https://avatars.githubusercontent.com/u/9355208?v=4", 5 | "designation": "", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/netchampfaris" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/netchampfaris/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "Frappe UI", 19 | "project_link": "https://github.com/frappe/frappe-ui/", 20 | "website_link": "https://ui.frappe.io/", 21 | "logo": "https://rawcdn.githack.com/frappe/frappe-ui/6025cdae9779b2e6ca65862a619c23288e08e67f/public/frappe-ui-square.png", 22 | "description": "Frappe UI is a set of components and utilities to build frontend apps based on the Frappe Framework. Along with generic components which are required to build a frontend like Button, Link, Dialog, etc., frappe-ui also contains utilities for handling server-side data fetching, directives and utilities.", 23 | "short_description": " A set of components and utilities for rapid UI development in Frappe" 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "If you are building a Vue-based frontend app on top of Frappe Framework, I would recommend using frappe-ui. If you are using frappe-ui, I would love to get feedback on developer experience of using it." 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "Frappe UI is an opinionated set of components and utilities for rapidly building Vue-based frontend apps on top of Frappe Framework. It not only ships with UI components, but also data fetching and managing utilities that are at the core of building apps." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "Don't let users design solution to their problems, understand their problems and come up with your own solutions." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "Honestly, I do this project because it makes my colleague's and my life easier. I am building Gameplan which is a frontend on top of Frappe Framework app. Since we are building a bunch of apps like these, it made sense to extract common code into a reusable package." 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "Adventure of a lifetime - Coldplay" 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "https://github.com/frappe/frappe-ui/blob/main/src/components/Input.vue Tries to do too many things" 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 57 | "response": "🤷🏻‍♂️" 58 | } 59 | ], 60 | "created_on": "2025-06-25T14:41:01+05:30" 61 | } 62 | -------------------------------------------------------------------------------- /content/maintainers/hariharanumapathi.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "hariharanumapathi", 3 | "full_name": "Hariharan Umapathi", 4 | "photo": "https://avatars.githubusercontent.com/u/62648127?v=4", 5 | "designation": "Software Developer", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/HariharanUmapathi" 10 | }, 11 | { 12 | "label": "Mastodon", 13 | "link": "https://mastodon.social/@itz_mr_evil" 14 | }, 15 | { 16 | "label": "Linkedin", 17 | "link": "https://www.linkedin.com/in/hariharanu" 18 | }, 19 | { 20 | "label": "Blog", 21 | "link": "https://programmerlife1.wordpress.com" 22 | } 23 | ], 24 | "projects": [ 25 | { 26 | "name": "open-tamil-php", 27 | "project_link": "https://github.com/HariharanUmapathi/open-tamil-php", 28 | "website_link": "", 29 | "logo": "https://github.com/HariharanUmapathi/open-tamil-php/blob/19135ff36ab7f462325236cee06f7ff25e0458a5/open-tamil-php.png?raw=true", 30 | "description": "Open Tamil PHP is here to address character encoding support for Tamil characters, fixing rendering issues in PDF and image generation, natively in PHP. \nIdea Sparked from: https://github.com/tecnickcom/TCPDF/issues/609", 31 | "short_description": "Open Tamil is PHP Port for https://github.com/Ezhil-Language-Foundation/open-tamil/" 32 | } 33 | ], 34 | "form": [ 35 | { 36 | "question": "How to support", 37 | "response": "- Check it out, if something is missing, create an issue\n - Raise a PR\n - Create testcases. \n\n All contributions are welcome." 38 | }, 39 | { 40 | "question": "A small brief about your project", 41 | "response": "Open Tamil PHP is here to address character encoding support for Tamil characters, fixing rendering issues in PDF and image generation, natively in PHP.\nIdea Sparked from : https://github.com/tecnickcom/TCPDF/issues/609" 42 | }, 43 | { 44 | "question": "One FOSS maintainer lesson for your younger self", 45 | "response": "You have to wait for sometime for something. Same not applicable for everything." 46 | }, 47 | { 48 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 49 | "response": "After waiting around for a solution for this problem that many faced, I decided to start addressing it by trying to fix it. One can always try at the least." 50 | }, 51 | { 52 | "question": "If your repo had a theme song, what would it be?", 53 | "response": "https://www.youtube.com/watch?v=AJtDXIazrMo" 54 | }, 55 | { 56 | "question": "Which file in your project would you most like to set on fire?", 57 | "response": "unittest" 58 | }, 59 | { 60 | "question": "What's your open-source villain origin story?", 61 | "response": "After wandering all around the internet, through countless forums, mailing groups and github for a fix to this PDF rendering problem, it eventually drove me to create a solution." 62 | }, 63 | { 64 | "question": "If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?", 65 | "response": "🎮" 66 | } 67 | ], 68 | "created_on": "2025-10-10T15:15:24+05:30" 69 | } 70 | -------------------------------------------------------------------------------- /content/maintainers/divya-mohan0209.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "divya-mohan0209", 3 | "full_name": "Divya Mohan", 4 | "photo": "https://avatars.githubusercontent.com/u/21279125?v=4", 5 | "designation": "Principal Tech Advocate", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/divya-mohan0209" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/divya-mohan0209/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://divyamohan.com/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Kubernetes", 23 | "project_link": "https://github.com/kubernetes", 24 | "website_link": "https://kubernetes.io/", 25 | "logo": "https://avatars.githubusercontent.com/u/13629408?s=200&v=4", 26 | "description": "Kubernetes, also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications.", 27 | "short_description": "Production-Grade Container Scheduling and Management" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "We're always looking out for technical and non-technical contributors to help us with project sustenance and continuity. If contributing to the open source ecosystem is on your radar, please reach out to us & we'd be glad to point you to the relevant resources." 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Kubernetes - Open source system for automating deployment, scaling, and management of containerized applications. Currently housed under the CNCF." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Bias for action, always. It took me a while to recognize this, but it has always held me in good stead as a contributor and a maintainer thereafter." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "As someone who worked in a corporate setup earlier, I found it hard to understand why certain things in my tool or framework were how they were, especially since a significant portion of most applications we use depend on open source. While maintaining open source projects offers me that perspective, it is my aim to raise awareness of how this is done through the platforms/avenues I have access to so that we can collectively do it better and help build technology that's truly representative of the people it serves." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "While open source already has its theme song by Richard Stallman, The Free Software Song, I think Imagine by John Lennon speaks to the ethos of open source being a borderless, collaborative ecosystem." 50 | }, 51 | { 52 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 53 | "response": "It'd be a custom emoji referring to the this is fine meme by web comic artist, KC Green. Reference: https://x.com/kcgreenn/status/1613583689870446592?s=20&t=YFqCjDn2I-3uLks9Ba4rew" 54 | } 55 | ], 56 | "created_on": "2025-06-03T18:02:32+05:30" 57 | } 58 | -------------------------------------------------------------------------------- /server/routes/rss.ts: -------------------------------------------------------------------------------- 1 | import { promises as fs } from "fs"; 2 | import path from "path"; 3 | import { Feed } from "feed"; 4 | 5 | export default defineEventHandler(async () => { 6 | const contentDir = path.resolve("content/maintainers"); 7 | const files = (await fs.readdir(contentDir)).filter((f) => 8 | f.endsWith(".json"), 9 | ); 10 | 11 | const feed = new Feed({ 12 | title: "Forklore Maintainers", 13 | description: "Maintainers and their community projects", 14 | id: "https://forklore.in/", 15 | link: "https://forklore.in/", 16 | language: "en", 17 | feedLinks: { rss: "https://forklore.in/rss" }, 18 | author: { name: "Forklore", link: "https://forklore.in/" }, 19 | copyright: `All rights reserved ${new Date().getFullYear()}, Forklore`, 20 | }); 21 | 22 | for (const file of files) { 23 | const raw = await fs.readFile(path.join(contentDir, file), "utf-8"); 24 | const data = JSON.parse(raw); 25 | 26 | const userInfoHTML = ` 27 |

${data.full_name} (@${data.username})

28 | ${data.designation ? `

${data.designation}

` : ""} 29 | `; 30 | 31 | const socialsHTML = 32 | (data.socials || []) 33 | .map( 34 | (s) => `
  • ${s.label}
  • `, 35 | ) 36 | .join("") || "
  • No socials listed
  • "; 37 | 38 | const projectsHTML = 39 | (data.projects || []) 40 | .map((p) => { 41 | const links = []; 42 | 43 | if (p.project_link) { 44 | links.push(`Repo`); 45 | } 46 | 47 | if (p.website_link) { 48 | links.push( 49 | `Website`, 50 | ); 51 | } 52 | 53 | const linkText = links.length > 0 ? ` (${links.join(" | ")})` : ""; 54 | 55 | return ` 56 |
  • 57 | ${p.name}${linkText}
    58 | ${p.short_description || p.description || "No description"} 59 |
  • `; 60 | }) 61 | .join("") || "
  • No projects listed
  • "; 62 | 63 | const responsesHTML = 64 | (data.form || []) 65 | .filter((entry) => entry.response && entry.response.trim() !== "") 66 | .map( 67 | (entry) => 68 | `
  • ${entry.question}
    ${entry.response}

  • `, 69 | ) 70 | .join("") || "
  • No responses provided
  • "; 71 | 72 | const filename = path.basename(file, ".json"); 73 | const url = `https://forklore.in/maintainers/${filename.toLowerCase()}`; 74 | 75 | const description = ` 76 | ${userInfoHTML} 77 | 78 |

    Social Links:

    79 | 80 | 81 |

    Projects:

    82 | 83 | 84 |

    Form Responses:

    85 | 86 | `; 87 | 88 | feed.addItem({ 89 | title: data.full_name || data.username, 90 | id: url, 91 | link: url, 92 | description: description, 93 | date: data.created_on ? new Date(data.created_on) : new Date(), 94 | }); 95 | } 96 | 97 | return new Response(feed.rss2(), { 98 | headers: { "Content-Type": "application/rss+xml" }, 99 | }); 100 | }); 101 | -------------------------------------------------------------------------------- /content/maintainers/shoaibmerchant.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "shoaibmerchant", 3 | "full_name": "Shoaib Merchant", 4 | "photo": "https://avatars.githubusercontent.com/u/4598631?v=4", 5 | "designation": "Founder, Mecha", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/shoaibmerchant" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/shoaibmerchant/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://mecha.so/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "mechanix-gui", 23 | "project_link": "https://github.com/mecha-org/mechanix-gui", 24 | "website_link": "https://github.com/mecha-org/mechanix-gui", 25 | "logo": "https://mecha.so/mediakit/logos/mecha-icon-black.png", 26 | "description": "Mono-repository for all Mechanix OS GUI components", 27 | "short_description": "Mechanix OS GUI components" 28 | }, 29 | { 30 | "name": "mecha-make", 31 | "project_link": "https://github.com/mecha-org/mecha-make", 32 | "website_link": "https://github.com/mecha-org/mecha-make", 33 | "logo": "https://mecha.so/mediakit/logos/mecha-icon-black.png", 34 | "description": "Linux image build system for Mecha devices", 35 | "short_description": "Linux image build system for Mecha devices" 36 | }, 37 | { 38 | "name": "bevy_mctk", 39 | "project_link": "https://github.com/mecha-org/bevy_mctk", 40 | "website_link": "https://github.com/mecha-org/bevy_mctk", 41 | "logo": "https://mecha.so/mediakit/logos/mecha-icon-black.png", 42 | "description": "Bevy MCTK", 43 | "short_description": "Bevy MCTK" 44 | } 45 | ], 46 | "form": [ 47 | { 48 | "question": "How to support", 49 | "response": "We are looking for pilot users who can contribute to our software and hardware platform across different areas such as building open hardware extensions, kernel development, low-level GUI development and cloud services. Everyone is welcome! Just let us know what interests you the most at mecha.so/pilot and we will reach out." 50 | }, 51 | { 52 | "question": "A small brief about your project", 53 | "response": "At Mecha we are redefining computer hardware. Our first computer the Mecha Comet (mecha.so/comet) is a portable handheld Linux Computer built to be a swiss army knife for all portable computing needs. It has applications across enthusiasts, education, commercial and industrial use. The Comet runs on entirely FOSS and all of it is made available on our GitHub (github.com/mecha-org)" 54 | }, 55 | { 56 | "question": "One FOSS maintainer lesson for your younger self", 57 | "response": "Don't be afraid of being judged, better to do it bad than not do it at all." 58 | }, 59 | { 60 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 61 | "response": "I truly believe that FOSS helps push the boundaries of human civilization further in ways that you can never imagine. The amount of impact of what you end up building has no limit." 62 | }, 63 | { 64 | "question": "If your repo had a theme song, what would it be?", 65 | "response": "Renegades by X Ambassadors" 66 | }, 67 | { 68 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 69 | "response": "🧑‍🚀" 70 | } 71 | ], 72 | "created_on": "2025-06-04T16:06:02+05:30" 73 | } 74 | -------------------------------------------------------------------------------- /content/maintainers/angrezichatterbox.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "@angrezichatterbox", 3 | "full_name": "Gautham Mohanraj", 4 | "photo": "https://github.com/user-attachments/assets/8e0d0a9d-ae00-4914-9dee-9f247076e96a", 5 | "designation": "Mentor [@amfoss](https://github.com/amfoss)", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/angrezichatterbox" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://linkedin.com/in/gauthammohanraj" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "Scribe-Android", 19 | "project_link": "http://github.com/scribe-org/Scribe-Android", 20 | "website_link": "http://scri.be", 21 | "logo": "https://raw.githack.com/scribe-org/Organization/refs/heads/main/logo/ScribeLogo.png", 22 | "description": "Scribe mobile keyboards are tailored to help language learners communicate in their second language. Scribe keyboards can be used in any app and help users with translation, verb conjugation, noun genders and much more!", 23 | "short_description": "Scribe-Android is a pack of Android keyboards for language learners." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "You can contribute by testing new features , submitting issues , helping in localization and also suggestion use how to make the overall keyboard experience more better." 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "Scribe-Android turns your phone into a mini language-learning assistant by integrating helpful tools directly into the keyboard translation, conjugation, hints, and smart suggestions all offline and open-source and ad-free." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "Take small steps. Start with minor contributions and slowly fall in love with the project before jumping into big changes. When you genuinely care about what you're building, every contribution becomes satisfying." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "I started as an amateur in Android development, and FOSS projects played a huge role in helping me grow. Now, maintaining a FOSS project feels meaningful because I get to give others the same opportunity to learn, improve, and become better developers—just like I did." 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "I don’t have a specific theme song for the repository, but if I had to choose one, it would be “Baatein Kuch Ankahee Si” from Life in a… Metro.\n\nThe song’s actual meaning is different, but it beautifully captures the idea of communication." 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "https://github.com/scribe-org/Scribe-Android/blob/main/app/src/main/java/be/scri/services/GeneralKeyboardIME.kt\n\nIf I had a chance to rewrite this mess of a file I would do by all means." 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?", 57 | "response": "🧯 constantly putting out fires, but still loving it." 58 | } 59 | ], 60 | "created_on": "2025-11-17T15:23:00+05:30" 61 | } 62 | -------------------------------------------------------------------------------- /content/maintainers/helloanoop.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "helloanoop", 3 | "full_name": "Anoop M D", 4 | "photo": "https://avatars.githubusercontent.com/u/9350733?v=4", 5 | "designation": "Founder and CEO, Bruno", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/helloanoop" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/anoop-m-d-868099100/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://www.helloanoop.com/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Bruno", 23 | "project_link": "https://github.com/usebruno/bruno", 24 | "website_link": "https://www.usebruno.com/", 25 | "logo": "https://avatars.githubusercontent.com/u/114530840?s=200&v=4", 26 | "description": "Bruno is a local-only, Git-friendly, and open-source API client built for modern developers. Unlike other tools that rely on cloud-based collaboration, Bruno leverages Git to enable seamless sharing and version control of API collections. We're rethinking the API client experience by focusing solely on what matters—providing a fast, lightweight, and focused tool without the unnecessary bloat that comes with bundled platforms.", 27 | "short_description": "Bruno is a Git-integrated, fully offline, and open-source API client" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Give Bruno a spin and drop us your feedback. It’s the simplest and most impactful way to support the project." 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Bruno is a local-only, Git-friendly, and open-source API client built for modern developers. Unlike other tools that rely on cloud-based collaboration, Bruno leverages Git to enable seamless sharing and version control of API collections. We're rethinking the API client experience by focusing solely on what matters—providing a fast, lightweight, and focused tool without the unnecessary bloat that comes with bundled platforms." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "" 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I love building things. And with Bruno, it’s even more fulfilling to see developers love what we make." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "We don't talk about Bruno, no, no, no We don't talk about Bruno But it was my wedding day (it was our wedding day) We were getting ready, and there wasn't a cloud in the sky (No clouds allowed in the sky) Bruno walks in with a mischievous grin (thunder) You're telling this story, or am I? This is from the movie Encanto." 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "I was fed up with bloated API clients and their cloud-based approach to collaboration. All I wanted was something fast, minimal, and Git-native for managing API collections. So I built it myself." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🖖" 62 | } 63 | ], 64 | "created_on": "2025-06-04T17:02:44+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/karishmashukla.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "amhsirak", 3 | "full_name": "Karishma Shukla", 4 | "photo": "https://ik.imagekit.io/0n6slgitv/karishma_2025.jpg", 5 | "designation": "Founder, Maxun", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/amhsirak" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/karishmashukla" 14 | }, 15 | { 16 | "label": "X", 17 | "link": "https://x.com/amhsirak_" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Maxun", 23 | "project_link": "https://github.com/getmaxun/maxun", 24 | "website_link": "https://maxun.dev", 25 | "logo": "https://www.maxun.dev/maxun_logo.png", 26 | "description": "Maxun is an open-source, truly no-code web data extraction platform. It records your interactions with a website and turns them into automated robots that pull live data, track changes over time, and transform messy content into clean, structured data ready for spreadsheets, APIs, or any application. Simple enough for anyone, powerful enough for complex data extraction.", 27 | "short_description": "Open-source no code web data extraction platform. Instantly turn any website into API or spreadsheet." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Star the repository, contribute if you love what we’re building, or make a one-time donation: https://bit.ly/maxun-oss. Every little bit helps us keep the lights on and the robots running." 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Maxun is an open-source, truly no-code web data extraction platform. It records your interactions with a website and turns them into automated robots that pull live data, track changes over time, and transform messy content into clean, structured data ready for spreadsheets, APIs, or any application. Simple enough for anyone, powerful enough for complex data extraction." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "You can’t please everyone and that’s okay. Take breaks before you burn out." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I believe everyone should have access to web data — not just those with technical skills or big budgets. I love building tools that solve real problems for people, and keeping Maxun open-source is part of that belief. We also run Maxun Cloud for those who prefer a hosted option, but the core platform will always remain free and open." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "High Hopes – Panic! At The Disco" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "server/src/workflow-management/selector.ts - universally despised." 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "At my previous workplace, we needed a no-code extractor but existing tools were pricey, clunky, and code-heavy. I built one over a weekend, open-sourced it, and never looked back." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "💪 (patience + consistency)" 62 | } 63 | ], 64 | "created_on": "2025-08-14T13:09:01+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/shijithkjayan.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "shijithkjayan", 3 | "full_name": "Shijith Karumathil", 4 | "photo": "https://avatars.githubusercontent.com/u/41006127?v=4", 5 | "designation": "Product Engineer", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/shijithkjayan" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/shijith-k/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://shijithkjayan.github.io/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Glific", 23 | "project_link": "https://github.com/glific/", 24 | "website_link": "https://glific.org/", 25 | "logo": "https://glific.org/wp-content/uploads/2023/02/Logo-1.svg", 26 | "description": "Glific is a WhatsApp based open source communication platform for NGOs to have conversations with their community. It is being developed under Project Tech4Dev initiative of Chintu Gudiya Foundation. Glific aims to empower social organizations to act decisively and quickly on grassroots information through a range of host of features ranging from automated responses to comprehensive analytics.", 27 | "short_description": "Two Way Open Source Communication Platform" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "More contributions, Buy Me a Coffee, Github Sponsors, etc. Any support is welcome" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Glific is an open source platform built to cater to the needs of the social sector, enabling two-way communication. Non profits can use Glific to send high-quality, relevant and timely information to their communities at a low cost. Glific aims to empower social impact organizations to act decisively and quickly on grassroots information through a range of features ranging from automated responses to comprehensive analytics. Glific has been developed under Project Tech4Dev initiative of Chintu Gudiya Foundation, by multiple Tech4Dev partners in India working on the platform as core teams such as ColoredCow, Web Access, Soft Corner, and Think201 along with many contributors." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Don't try to build everything yourself, ask for help, ask people who are interested to contribute. The bigger the community, the better. Don't be attached to the code you write, or be stubborn on your solutions, the community will always give you better solutions so be ready to listen." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "Because almost everything I build stands on the foundation of open source—languages, libraries, tools—all made possible by the work of others who chose to share. Giving back feels like the natural next step. The project I maintain is built for the social sector—organizations and individuals working on real-world challenges, often with limited resources. Open sourcing it makes it accessible to those who need it most. If my work can help them do their work better, that’s a win worth all the effort." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "One Love - Bob Marley" 50 | }, 51 | { 52 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 53 | "response": "🤩" 54 | } 55 | ], 56 | "created_on": "2025-06-03T22:24:28+05:30" 57 | } 58 | -------------------------------------------------------------------------------- /content/maintainers/kovidgoyal.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "kovidgoyal", 3 | "full_name": "Kovid Goyal", 4 | "photo": "https://avatars.githubusercontent.com/u/1308621?v=4", 5 | "designation": "Principal developer of calibre and kitty", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/kovidgoyal" 10 | }, 11 | { 12 | "label": "Codeberg", 13 | "link": "https://codeberg.org/kovidgoyal" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://kovidgoyal.net/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Calibre", 23 | "project_link": "https://github.com/kovidgoyal/calibre", 24 | "website_link": "https://calibre-ebook.com", 25 | "logo": "https://rawcdn.githack.com/kovidgoyal/calibre/37bb65087171dc7e9e0afa69b81b712e7b2b4df9/icons/calibre.png", 26 | "description": "calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book reader devices. It can go out to the internet and fetch metadata for your books. It can download newspapers and convert them into e-books for convenient reading. It is cross platform, running on Linux, Windows and macOS.", 27 | "short_description": "Open Source e-book manager" 28 | }, 29 | { 30 | "name": "Kitty", 31 | "project_link": "https://github.com/kovidgoyal/kitty", 32 | "website_link": "https://sw.kovidgoyal.net/kitty/", 33 | "logo": "https://sw.kovidgoyal.net/kitty/_static/kitty.svg", 34 | "description": "kitty is designed for power keyboard users. To that end all its controls work with the keyboard (although it fully supports mouse interactions as well). Its configuration is a simple, human editable, single file for easy reproducibility (I like to store configuration in source control).", 35 | "short_description": "The fast, feature-rich, GPU based terminal emulator" 36 | } 37 | ], 38 | "form": [ 39 | { 40 | "question": "How to support", 41 | "response": "https://calibre-ebook.com/donate or Github Sponsors." 42 | }, 43 | { 44 | "question": "A small brief about your project", 45 | "response": "calibre is the leading solution for managing your ebooks
    outside all walled gardens. It can view, edit, convert dozens
    of ebook formats and is used by millions of people from around the
    world." 46 | }, 47 | { 48 | "question": "One FOSS maintainer lesson for your younger self", 49 | "response": "Ignore the trolls and do not take it personally." 50 | }, 51 | { 52 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 53 | "response": "I love to code and open source is the way I can spend the largest
    fraction of my day, every day coding. And there is nothing quite like
    the joy you get from building something used by millions of people to
    make the world a very slightly better place." 54 | }, 55 | { 56 | "question": "What keeps you going?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "If your repo had a theme song, what would it be?", 61 | "response": "" 62 | }, 63 | { 64 | "question": "Which file in your project would you most like to set on fire?", 65 | "response": "" 66 | }, 67 | { 68 | "question": "What's your open-source villain origin story?", 69 | "response": "" 70 | }, 71 | { 72 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 73 | "response": "🧹" 74 | } 75 | ], 76 | "created_on": "2025-05-29T01:19:42+05:30" 77 | } 78 | -------------------------------------------------------------------------------- /content/maintainers/nikkothari22.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "nikkothari22", 3 | "full_name": "Nikhil Kothari", 4 | "photo": "https://avatars.githubusercontent.com/u/19825455?v=4", 5 | "designation": "Founder, CEO at The Commit Company", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/nikkothari22" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "www.linkedin.com/in/nikkothari22" 14 | }, 15 | { 16 | "label": "X", 17 | "link": "https://x.com/nik_kothari22" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Raven", 23 | "project_link": "https://github.com/The-Commit-Company/raven", 24 | "website_link": "https://www.ravenchat.ai", 25 | "logo": "https://github.com/The-Commit-Company/raven/raw/develop/raven_logo.png", 26 | "short_description": "Enterprise-first team messaging platform that seamlessly integrates with your ERP.", 27 | "description": "Raven is an open-source messaging platform that brings your team's conversations and information into one centralized place, enhancing collaboration and productivity. Raven helps you build AI Agents to offload boring repetitive tasks to agents via a chat interface." 28 | }, 29 | { 30 | "name": "Mint", 31 | "project_link": "https://github.com/The-Commit-Company/mint", 32 | "website_link": "https://cloud.frappe.io/marketplace/apps/mint", 33 | "logo": "https://cloud.frappe.io/files/mint-logo-modified.webp", 34 | "description": "Mint is an open-source tool to help users of [ERPNext](https://frappe.io/erpnext) reconcile their bank account and credit card statements easily with a slick UX, automation rules, and more. ---", 35 | "short_description": "Bank reconciliation made simple for ERPNext" 36 | } 37 | ], 38 | "form": [ 39 | { 40 | "question": "How to support", 41 | "response": "Use our products, be vocal about bugs and contribute by creating issues and help us by writing some documentation (all managed via GitHub)." 42 | }, 43 | { 44 | "question": "A small brief about your project", 45 | "response": "Our projects help users in the Frappe ecosystem run their businesses/operations better." 46 | }, 47 | { 48 | "question": "One FOSS maintainer lesson for your younger self", 49 | "response": "Don't build everything and anything that people want you to build. It's still your own product and you decide what to build - even though it's open source." 50 | }, 51 | { 52 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 53 | "response": "Because I find it fun. I don't think of maintaining these projects as \"maintaining a FOSS Project\". I like building products and these products just happen to be open source." 54 | }, 55 | { 56 | "question": "If your repo had a theme song, what would it be?", 57 | "response": "Was recently introduced to the song [\"Gold Steps\" by Neck Deep](https://www.youtube.com/watch?v=tlO-KOvpPOw&list=RDtlO-KOvpPOw&start_radio=1) - seems apt." 58 | }, 59 | { 60 | "question": "Which file in your project would you most like to set on fire?", 61 | "response": "`ChatStream.tsx`" 62 | }, 63 | { 64 | "question": "What's your open-source villain origin story?", 65 | "response": "My first contribution to Frappe Framework was a spelling correction from \"Submiting\" to \"Submitting\": https://github.com/frappe/frappe/pull/16638. Yes, I am a stickler for good grammar." 66 | }, 67 | { 68 | "question": "If you had to use one emoji to convey what it's like to be a FOSS maintainer, what would it be?", 69 | "response": "💀" 70 | } 71 | ], 72 | "created_on": "2025-11-17T15:17:56+05:30" 73 | } 74 | -------------------------------------------------------------------------------- /content/maintainers/prasunanand.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "prasunanand", 3 | "full_name": "Prasun Anand", 4 | "photo": "https://avatars.githubusercontent.com/u/4907510?v=4", 5 | "designation": "Building Zasper", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/prasunanand" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/prasunanand/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://prasunanand.github.io/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Zasper", 23 | "project_link": "https://github.com/zasper-io/zasper", 24 | "website_link": "https://zasper.io/", 25 | "logo": "https://zasper.io/static/images/logo.svg", 26 | "description": "Zasper is an open-source High Performance IDE for working with Jupyter notebooks. It’s built from scratch to be blazing fast, highly concurrent, low on resource usage, crash-resistant, even under heavy loads. It is cross-platform - fully supported on macOS & Linux with limited support on Windows — for the best experience, use via WSL", 27 | "short_description": "High Performance IDE for Jupyter Notebooks" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "GitHub Sponsors @ https://github.com/sponsors/prasunanand" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Zasper is a High Performance IDE for Jupyter Notebooks. It provides a minimal memory footprint, exceptional speed, and the ability to handle numerous concurrent connections. Its architecture thrives under load, delivering better throughput and stability at scale." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Do not get distracted by the bigger picture. Be opinionated. Be focused on small things. Welcome feedback but protect your project's vision." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I like building things that last and make someone’s day 10x smoother. It’s art, it’s engineering, and it’s legacy — all tangled together.

    Open source lets me:
    * Share my work without a gatekeeper, It helps me punch above my weight.
    * Learn from real-world feedback.
    * Build in public, with strangers who become friends
    * See code I wrote powering tools across the world

    What makes me keep going ?

    * Github stars
    * Pride in the work
    * Curiosity to keep leveling up
    * Gratitude when someone contributes back
    * Stubbornness to not let the thing rot" 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Tokyo Drift (Fast & Furious)" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "The release file. Something always breaks - https://github.com/zasper-io/zasper/blob/main/.github/workflows/release.yml" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "I don't have one. My interactions with OSS community have been mostly nice. Someone becomes a villain when they don't acknowledge the efforts of others which inspired their current craft." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🤹🏼" 62 | } 63 | ], 64 | "created_on": "2025-06-03T15:56:10+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/ravidwivedi.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "ravidwivedi", 3 | "full_name": "Ravi Dwivedi", 4 | "photo": "https://codeberg.org/avatars/3bf87b38aebb1d1c3d617e634aa9effb804de4743460da5d95082b4223ab3516?size=512", 5 | "designation": "", 6 | "socials": [ 7 | { 8 | "label": "Codeberg", 9 | "link": "https://codeberg.org/ravidwivedi" 10 | }, 11 | { 12 | "label": "Mastodon", 13 | "link": "https://toot.io/@ravi" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://ravidwivedi.in" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Prav", 23 | "project_link": "https://codeberg.org/prav", 24 | "website_link": "https://prav.app/", 25 | "logo": "https://codeberg.org/avatars/056a100b5b6a4e816aa004559719a6e02ef06ef674025cc46e9c570dd51f6de9?size=200", 26 | "description": "Popular messaging apps only allow you to talk to users using the same app. However, Prav allows you to talk to all the users on the same network even if they use other apps like Quicksy, Monocles Chat, Dino, Gajim, Monal, and many more. In other words, Prav has no vendor lock-in. Lastly, Prav is a cooperative (in the process of registration) which allows anyone to become a member and vote on decisions, such as the privacy policy or what features should be added.", 27 | "short_description": "Prav is a messaging service which can be used to exchange messages, audio/video calls, files, images and videos over the Internet. Inspired by the Quicksy app, Prav provides the convenience of registering with a phone number." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "By installing Prav app (check https://prav.app), sending donations https://prav.app/donate , volunteering (https://prav.app/get-involved/) or by becoming a member of the cooperative https://prav.app/become-a-member/" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Prav is a messaging service which can be used to exchange messages, audio/video calls, files, images and videos over the Internet. Inspired by the Quicksy app, Prav provides the convenience of registering with a phone number. It is federated with other XMPP providers, while at the same time easy to use." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Help run community-run services instead of self-hosting a lot of services on your own." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I think Prav project is doing what no other project is doing - mass adoption of a federated XMPP service with convenient onboarding process. I also feel ownership and responsibility towards the project. Mass adoption of messaging services is important because messaging services are based on network effects. Otherwise, I would myself need to use proprietary services for chatting." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Frolic by Luciano Michelini" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🐦(Pigeon)" 62 | } 63 | ], 64 | "created_on": "2025-06-05T07:53:26+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/shivanibhardwaj.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "inashivb", 3 | "full_name": "Shivani Bhardwaj", 4 | "photo": "https://suricata.io/wp-content/uploads/2021/01/bhardwaj.jpg", 5 | "designation": "Software Developer", 6 | "socials": [ 7 | { 8 | "label": "Web", 9 | "link": "https://shivanibhardwaj.com" 10 | }, 11 | { 12 | "label": "GitHub", 13 | "link": "https://github.com/inashivb" 14 | }, 15 | { 16 | "label": "LinkedIn", 17 | "link": "https://www.linkedin.com/in/shivan1" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Suricata", 23 | "project_link": "https://github.com/OISF/suricata", 24 | "website_link": "https://suricata.io", 25 | "logo": "https://suricata.io/wp-content/uploads/2023/09/Logo-Suricata-vert-R.jpg", 26 | "description": "Suricata is a high performance, open source network analysis and threat detection software used by most private and public organizations, and embedded by major vendors to protect their assets. ", 27 | "short_description": "Fast and reliable IDS, IPS and NSM." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "There are several ways to support.
    1. Become a consortium member and help financially. https://oisf.net/consortium
    2. Contribute code, tickets, documentation and help others in the community. https://suricata.io/community
    3. Take the word out about the project." 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Suricata is an advanced Intrusion Detection and Prevention System with enriched logs and a wide variety of features making it a pioneer in keeping up with the modern network threats and security landscape. It is reliable, performant and very fast. Suricata is developed by the Open Information Security Foundation and community members from all around the world!" 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Don't be afraid to ask stupid questions and breaking things. Remember: \"the master has failed more times than the beginner has even tried\"" 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "Firstly, because I get paid to do that. 😉 There are many reasons but my favorites are: being lucky enough to get to work on an impactful project that is not only used around the world but has entire businesses set up around it (Kudos to Victor Julien!) and, because I get to do it with an incredible team and community. ❤️ " 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Approved unanimously by OISF: Mahna Mahna 😃 https://www.youtube.com/watch?v=zb47CstE7R4" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "Hard to choose. 😛" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "I was introduced to open-source in my college during Software Freedom Day celebrations. Soon after, Operating Systems class introduced us to Linux which was fascinating to me and led to learning and discovery of everything else open-source that I know of today." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🤝" 62 | } 63 | ], 64 | "created_on": "2025-08-14T15:06:00+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/shikhamis11.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "shikhamis11", 3 | "full_name": "Shikha Mishra", 4 | "photo": "https://avatars.githubusercontent.com/u/25526037", 5 | "designation": "Community Contributor & Maintainer, Magento", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/shikhamis11" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/shikhamishra03/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://github.com/readme/shikha-mishra" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Magento Open Source", 23 | "project_link": "https://github.com/magento/magento2", 24 | "website_link": "https://developer.adobe.com/open/magento", 25 | "logo": "https://avatars.githubusercontent.com/u/168457?s=48&v=4", 26 | "description": "Magento is an open-source e-commerce platform written in PHP. It provides online merchants with a flexible shopping cart system and control over the look, content, and functionality of their online store. Magento offers powerful tools for marketing, search engine optimization, and catalog management. It is widely used by businesses of all sizes to create scalable and customizable online stores.", 27 | "short_description": "Magento is a PHP-based e-commerce platform for building and managing online stores." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "You can support Magento 2 Open Source by contributing to its code on GitHub, reporting issues, and helping others in community forums. Creating and sharing custom modules, writing tutorials, improving documentation, and participating in events like Meet Magento also help grow and strengthen the Magento ecosystem." 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Magento 2 is an open-source e-commerce platform that allows businesses to build and manage online stores. It offers flexible customization, powerful features, and supports scalable, secure shopping experiences." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Automate everything you can." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I started out of curiosity—to learn, challenge myself, and build something useful. Over time, it became more than code. It’s about solving real problems, seeing others use it, and growing with the community." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "It would be Magento Life | Tech Song Projekt — it captures the highs, lows, and caffeine-fueled chaos of maintaining a Magento project. Absolute vibe." 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "di.xml — without hesitation. It’s powerful, but one wrong move and suddenly nothing resolves, the cache gaslights you, and you're knee-deep in stack traces trying to figure out why your class won’t inject." 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "My open-source villain origin story? My PRs sat untouched for weeks—not because they were bad, but because the maintainer queue was overloaded. So I stopped waiting... and applied to become a maintainer myself. If you can’t speed it up from the outside, do it from the inside." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "😍 — because despite the bugs, the burnout, and the chaos... I still love it." 62 | } 63 | ], 64 | "created_on": "2025-06-24T19:33:38+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/anandbaburajan.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "anandbaburajan", 3 | "full_name": "Anand Baburajan", 4 | "photo": "https://avatars.githubusercontent.com/u/2698932?v=4", 5 | "designation": "Marketing & Growth @ Ente", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/anandbaburajan" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/anandbaburajan/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://anandbaburajan.com/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Samay", 23 | "project_link": "https://github.com/anandbaburajan/samay", 24 | "website_link": "https://samay.app/", 25 | "logo": "", 26 | "description": "Samay is a free and open source group scheduling tool. Quickly find a time which works for everyone without the back-and-forth texts/emails! Create a Poll, Share the Poll, Book the meeting!", 27 | "short_description": "Find a time which works for everyone" 28 | }, 29 | { 30 | "name": "CQ2", 31 | "project_link": "https://github.com/anandbaburajan/cq2", 32 | "website_link": "https://cq2.co/", 33 | "logo": "https://rawcdn.githack.com/anandbaburajan/cq2/837852f9484d8aa1c3bd3de636750f278f0138b7/public/logos/cq2-social.png", 34 | "description": "A tool for RFCs, designed for thoughtfulness and coherence.", 35 | "short_description": "A tool for RFCs, designed for thoughtfulness and coherence." 36 | }, 37 | { 38 | "name": "Wordamour", 39 | "project_link": "https://github.com/anandbaburajan/wordamour", 40 | "website_link": "https://wordamour.com/", 41 | "logo": "https://rawcdn.githack.com/anandbaburajan/wordamour/81ceb45dea08ee752e13e10529b76c87d62ea624/public/logo.png", 42 | "description": "Personalized word search puzzle for your special someone", 43 | "short_description": "Personalized word search puzzle for your special someone" 44 | } 45 | ], 46 | "form": [ 47 | { 48 | "question": "How to support", 49 | "response": "Wordamour - Surprise your special someone with a Wordamour and buy me a coffee (https://buymeacoffee.com/anandbaburajan) if they love it :D CQ2 - Share it with communities who might find it useful :D Samay - Use it to find a common time for a group meeting and buy me a coffee (https://buymeacoffee.com/anandbaburajan) if you found it useful :D" 50 | }, 51 | { 52 | "question": "A small brief about your project", 53 | "response": "Wordamour - Personalized word search puzzle for your special someone. CQ2 - Tool for RFCs, designed for thoughtfulness and coherence. Samay - Group scheduling tool" 54 | }, 55 | { 56 | "question": "One FOSS maintainer lesson for your younger self", 57 | "response": "Impact and rewards often show up in quiet, unexpected ways." 58 | }, 59 | { 60 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 61 | "response": "I find it joyful when people use my projects, and they do." 62 | }, 63 | { 64 | "question": "If your repo had a theme song, what would it be?", 65 | "response": "Get Lucky by Daft Punk https://www.youtube.com/watch?v=5NV6Rdv1a3I" 66 | }, 67 | { 68 | "question": "Which file in your project would you most like to set on fire?", 69 | "response": "" 70 | }, 71 | { 72 | "question": "What's your open-source villain origin story?", 73 | "response": "" 74 | }, 75 | { 76 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 77 | "response": "🧘" 78 | } 79 | ], 80 | "created_on": "2025-06-05T07:53:26+05:30" 81 | } 82 | -------------------------------------------------------------------------------- /content/maintainers/eagledot.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "eagledot", 3 | "full_name": "Anubhav Nain", 4 | "photo": "", 5 | "designation": "", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/eagledot" 10 | }, 11 | { 12 | "label": "GitLab", 13 | "link": "https://gitlab.com/eagledot" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://eagledot.xyz/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "hachi", 23 | "project_link": "https://github.com/eagledot/hachi", 24 | "website_link": "https://github.com/eagledot/hachi", 25 | "logo": "", 26 | "description": "Hachi is a fast, end to end, self-hosted search engine to enable comprehensive search for all types of media, by extracting independent information channels/attributes and providing a unified interface to mix and match those attributes.", 27 | "short_description": "An end to end semantic and meta-data search engine for personal data." 28 | }, 29 | { 30 | "name": "malhar", 31 | "project_link": "https://github.com/eagledot/malhar", 32 | "website_link": "https://github.com/eagledot/malhar", 33 | "logo": "", 34 | "description": "Fast, Minimal and generic Fuzzy Search Index. The library is written in Python along with some parts in Nim to speed up querying process, with no third party dependency. This makes it flexible enough to be embedded with an application or any script to provide a fuzzy search interface automatically!", 35 | "short_description": "Fast, Minimal and generic Fuzzy Search Index" 36 | } 37 | ], 38 | "form": [ 39 | { 40 | "question": "How to support", 41 | "response": "Bug Reports are very welcomed. For financial contributions you can buy me a coffee at : https://buymeacoffee.com/eagledot" 42 | }, 43 | { 44 | "question": "A small brief about your project", 45 | "response": "Hachi is an end to end semantic and meta-data search engine for personal data. It enables a comprehensive search by extracting independent information channels/attributes and providing a unified interface to mix and match those attributes. It also supports a high quality and fast face-recognition pipeline to tag and search a person." 46 | }, 47 | { 48 | "question": "One FOSS maintainer lesson for your younger self", 49 | "response": "Reading code from high-quality projects more early on, as good ideas/concepts transcend all pseudo boundaries imposed by job-descriptions, curriculum etc !" 50 | }, 51 | { 52 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 53 | "response": "I find it to be satisfying and joyful. It is also a way for me improve my knowledge and hopefully contribute something useful back to the open-source ! Making improvements to a non-trivial problem by reading and experiments generally keeps me going." 54 | }, 55 | { 56 | "question": "If your repo had a theme song, what would it be?", 57 | "response": "\"Two steps from Hell\" soundtrack may be!" 58 | }, 59 | { 60 | "question": "Which file in your project would you most like to set on fire?", 61 | "response": "" 62 | }, 63 | { 64 | "question": "What's your open-source villain origin story?", 65 | "response": "Community has been very helpful. i think its on me what to take in and what to ignore!" 66 | }, 67 | { 68 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 69 | "response": "More like a gif: https://tenor.com/view/totoro-rain-rainy-day-good-morning-rainy-day-gif-3424596352008787858" 70 | } 71 | ], 72 | "created_on": "2025-06-04T17:02:44+05:30" 73 | } 74 | -------------------------------------------------------------------------------- /content/maintainers/liyasthomas.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "liyasthomas", 3 | "full_name": "Liyas Thomas", 4 | "photo": "https://avatars.githubusercontent.com/u/10395817?v=4", 5 | "designation": "Founder & CEO of Hoppscotch", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/liyasthomas" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/liyasthomas/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://liyasthomas.com/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Hoppscotch", 23 | "project_link": "https://github.com/hoppscotch/hoppscotch", 24 | "website_link": "https://hoppscotch.com/", 25 | "logo": "https://avatars.githubusercontent.com/u/56705483?s=48&v=4", 26 | "description": "Hoppscotch is a lightweight, web-based API development suite. It was built from the ground up with ease of use and accessibility in mind providing all the functionality needed for developers with minimalist, unobtrusive UI.", 27 | "short_description": "Open Source API Development Ecosystem" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "GitHub Sponsors: https://github.com/sponsors/hoppscotch" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Hoppscotch is a free and open-source API development platform designed for building, testing, and documenting APIs. It's a web-based alternative to tools like Postman, Insomnia, and Paw, offering a user-friendly interface for sending requests and viewing responses. Hoppscotch emphasizes ease of use and accessibility, making it a suitable choice for developers of all skill levels." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "Don’t try to do everything yourself. In the early days of Hoppscotch, I took on way too much, code, issues, PRs, design, community, documentation, all solo. It felt like my baby, and I was scared to let go of control. But open source thrives when you trust the community. Delegate. Document things clearly. Welcome contributors early and often. Your project will grow faster, stronger, and you won’t burn out doing it alone." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "Because Hoppscotch started as something I needed, and it turns out thousands of others needed it too. When I built the first version, it was a simple idea: a lightweight, fast, browser-based alternative to API clients like Postman. I open-sourced it just to share it. Then the community showed up — not just with stars and likes, but with real contributions, feedback, and passion. That’s incredibly motivating. Knowing that thousands of developers use Hoppscotch every day to build better software is wild. That’s fuel." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Avengers assemble' theme is the energy I’d assign to the Hoppscotch GitHub repo during a big release or a major refactor sprint." 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "https://github.com/hoppscotch/hoppscotch/blob/main/packages/hoppscotch-common/src/modules/i18n.ts" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🛸" 62 | } 63 | ], 64 | "created_on": "2025-06-05T07:53:26+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /parse-maintainer.py: -------------------------------------------------------------------------------- 1 | """Simple parser for maintainer issue markdown to JSON""" 2 | 3 | import sys 4 | import json 5 | import re 6 | from datetime import datetime 7 | 8 | def parse_issue(md): 9 | # Remove HTML comments 10 | md = re.sub(r'', '', md, flags=re.DOTALL) 11 | 12 | data = { 13 | "username": "", 14 | "full_name": "", 15 | "photo": "", 16 | "designation": "", 17 | "socials": [], 18 | "projects": [], 19 | "form": [], 20 | "created_on": datetime.today().isoformat(), 21 | } 22 | 23 | # Parse basic fields (username, full_name, photo, designation) 24 | for field in ['username', 'full_name', 'photo', 'designation']: 25 | pattern = rf'\*\*{field}:\*\*\s*(.+?)(?=\n\*\*|\n---|\Z)' 26 | match = re.search(pattern, md, re.IGNORECASE | re.DOTALL) 27 | if match: 28 | data[field] = match.group(1).strip() 29 | 30 | # Parse socials 31 | socials_match = re.search(r'\*\*socials:\*\*\s*\n((?:^- .+\n?)+)', md, re.MULTILINE) 32 | if socials_match: 33 | for line in socials_match.group(1).strip().split('\n'): 34 | if ':' in line: 35 | line = line.lstrip('- ').strip() 36 | label, link = line.split(':', 1) 37 | data['socials'].append({ 38 | "label": label.strip(), 39 | "link": link.strip() 40 | }) 41 | 42 | # Parse projects 43 | project_blocks = re.findall( 44 | r'\*\*project:\*\*\s*\n((?:^- .+(?:\n(?: .+)?)*\n?)+)', 45 | md, 46 | re.MULTILINE 47 | ) 48 | 49 | for block in project_blocks: 50 | project = { 51 | "name": "", 52 | "project_link": "", 53 | "website_link": "", 54 | "logo": "", 55 | "short_description": "", 56 | "description": "" 57 | } 58 | 59 | for field in project.keys(): 60 | # Match both single line and multi-line (with 4-space indent) 61 | pattern = rf'^- {field}:\s*(.+?)(?=\n- |\Z)' 62 | match = re.search(pattern, block, re.MULTILINE | re.DOTALL) 63 | if match: 64 | value = match.group(1).strip() 65 | # Clean up multi-line descriptions (remove leading spaces) 66 | value = re.sub(r'\n\s{4}', '\n', value) 67 | project[field] = value.strip() 68 | 69 | if project['name']: 70 | data['projects'].append(project) 71 | 72 | # Parse questions section 73 | questions_section = re.search(r'## Questions(.+)', md, re.DOTALL) 74 | if questions_section: 75 | question_blocks = re.findall( 76 | r'\*\*(.+?):\*\*\s*\n(.+?)(?=\n\*\*|\Z)', 77 | questions_section.group(1), 78 | re.DOTALL 79 | ) 80 | 81 | for question, response in question_blocks: 82 | data['form'].append({ 83 | "question": question.strip(), 84 | "response": response.replace("\n", "
    ").strip() 85 | }) 86 | 87 | return data 88 | 89 | 90 | if __name__ == "__main__": 91 | if len(sys.argv) < 2: 92 | print("Usage: python parse_maintainer.py ") 93 | sys.exit(1) 94 | 95 | with open(sys.argv[1], 'r', encoding='utf-8') as f: 96 | result = parse_issue(f.read()) 97 | 98 | # Output JSON 99 | json_output = json.dumps(result, indent=2, ensure_ascii=False) 100 | print(json_output) 101 | 102 | # Write to file 103 | username = result.get('username', 'output') or 'output' 104 | output_file = f"{username}.json" 105 | with open(output_file, 'w', encoding='utf-8') as f: 106 | f.write(json_output) 107 | 108 | print(f"\nSaved to {output_file}", file=sys.stderr) 109 | -------------------------------------------------------------------------------- /assets/css/main.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | 3 | @custom-variant dark (&:where(.dark-mode, .dark-mode *)); 4 | 5 | @font-face { 6 | font-family: "Geist Mono Variable"; 7 | font-style: normal; 8 | font-display: swap; 9 | font-weight: 100 900; 10 | src: url(@fontsource-variable/geist-mono/files/geist-mono-latin-wght-normal.woff2) 11 | format("woff2-variations"); 12 | unicode-range: 13 | U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 14 | U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, 15 | U+2215, U+FEFF, U+FFFD; 16 | } 17 | @font-face { 18 | font-family: "Inter Variable"; 19 | font-style: normal; 20 | font-display: swap; 21 | font-weight: 100 900; 22 | src: url(@fontsource-variable/inter/files/inter-latin-wght-normal.woff2) 23 | format("woff2-variations"); 24 | unicode-range: 25 | U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 26 | U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, 27 | U+2215, U+FEFF, U+FFFD; 28 | } 29 | 30 | @theme { 31 | --default-font-family: "Geist Mono Variable", monospace; 32 | --color-primary-dark: #18222a; 33 | --color-primary-light: #fafafa; 34 | --color-secondary-dark: #cff2da; 35 | --color-secondary-light: #18222a; 36 | --color-tertiary-dark: #3c4b4e; 37 | --color-tertiary-light: #eef0f1; 38 | } 39 | 40 | html { 41 | @apply transition-colors duration-300 ease-linear; 42 | } 43 | 44 | @layer utilities { 45 | .link { 46 | @apply hover:underline; 47 | } 48 | 49 | .border-custom { 50 | @apply border-2 border-[#464E55] border-dashed; 51 | } 52 | 53 | .border-custom-t { 54 | @apply border-t-2 border-t-[#464E55] border-dashed; 55 | } 56 | 57 | .border-custom-b { 58 | @apply border-b-2 border-b-[#464E55] border-dashed; 59 | } 60 | 61 | .border-custom-l { 62 | @apply border-l-2 border-l-[#464E55] border-dashed; 63 | } 64 | 65 | .border-custom-r { 66 | @apply border-r-2 border-r-[#464E55] border-dashed; 67 | } 68 | 69 | .btn-solid { 70 | @apply flex gap-1 p-2 items-center cursor-pointer transition-colors duration-300 ease-linear; 71 | @apply bg-secondary-light text-primary-light hover:bg-secondary-light/80; 72 | @apply dark:bg-secondary-dark dark:text-primary-dark hover:dark:bg-secondary-dark/80; 73 | } 74 | 75 | .btn-subtle { 76 | @apply flex gap-1 p-2 items-center cursor-pointer transition-colors duration-300 ease-linear; 77 | @apply bg-tertiary-light text-secondary-light border-secondary-light hover:bg-tertiary-light/70; 78 | @apply dark:bg-tertiary-dark dark:text-secondary-dark dark:border-secondary-dark hover:dark:bg-secondary-dark/40; 79 | } 80 | 81 | .btn-outline { 82 | @apply flex gap-1 p-2 items-center cursor-pointer transition-colors duration-300 ease-linear outline; 83 | @apply hover:bg-tertiary-light; 84 | @apply hover:dark:bg-tertiary-dark; 85 | } 86 | 87 | .divide-x-custom { 88 | @apply divide-x-2 divide-secondary-light/60 dark:divide-tertiary-dark divide-dashed; 89 | } 90 | 91 | .divide-y-custom { 92 | @apply divide-y-2 divide-secondary-light/60 dark:divide-tertiary-dark divide-dashed; 93 | } 94 | 95 | .corner-only { 96 | @apply border-2 border-solid border-secondary-light dark:border-secondary-dark; 97 | background-clip: content-box; 98 | --s: 1rem; 99 | mask: 100 | conic-gradient(#000 0 0) content-box, 101 | conic-gradient(at var(--s) var(--s), #0000 75%, #000 0) 0 0 / 102 | calc(100% - var(--s)) calc(100% - var(--s)); 103 | } 104 | .sans-text { 105 | font-family: "Inter Variable", sans-serif; 106 | line-height: 2; 107 | } 108 | .sans-text a { 109 | text-decoration: underline; 110 | } 111 | } 112 | 113 | @layer base { 114 | .light-mode { 115 | @apply bg-[var(--color-primary-light)] text-[var(--color-secondary-light)]; 116 | } 117 | 118 | .dark-mode { 119 | @apply bg-[var(--color-primary-dark)] text-[var(--color-secondary-dark)]; 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /content/maintainers/Schefflera-Arboricola.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "Schefflera-Arboricola", 3 | "full_name": "Aditi Juneja", 4 | "photo": "https://avatars.githubusercontent.com/u/91629733?v=4", 5 | "designation": "Contributing to Scientific open-source", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/Schefflera-Arboricola" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/aditi-juneja-940838204/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "nx-parallel", 19 | "project_link": "https://github.com/networkx/nx-parallel", 20 | "website_link": "https://github.com/networkx/nx-parallel", 21 | "logo": "https://networkx.org/_static/networkx_logo.svg", 22 | "description": "NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.", 23 | "short_description": "Network Analysis in Python" 24 | }, 25 | { 26 | "name": "networkx", 27 | "project_link": "https://github.com/networkx/networkx", 28 | "website_link": "https://networkx.org/", 29 | "logo": "https://networkx.org/_static/networkx_logo.svg", 30 | "description": "nx-parallel is a NetworkX backend that uses joblib for parallelization. This project aims to provide parallelized implementations of various NetworkX functions to improve performance", 31 | "short_description": "A networkx backend that uses joblib to run graph algorithms in parallel." 32 | } 33 | ], 34 | "form": [ 35 | { 36 | "question": "How to support", 37 | "response": "You can contribute to the projects by using them and giving feedback, resolving issues, fixing bugs, getting involved in the discussions. And you can also contribute financially as a GitHub sponsor: https://github.com/networkx . You can also hire me so that I can donate the time I spend on looking for opportunities into nx-parallel and networkx instead :)" 38 | }, 39 | { 40 | "question": "A small brief about your project", 41 | "response": "nx-parallel is a backend for NetworkX, a widely used pure-Python library for graph analysis. While NetworkX includes hundreds of useful algorithms (like TSP, PageRank, Dijkstra’s shortest paths, etc.) it can get really slow on large graphs since it runs on a single CPU core. nx-parallel accelerates these algorithms using joblib, running them in parallel across multiple CPU cores, threads, or nodes—depending on the parallel backend. To use it as a backend, simply pass backend=\"parallel\" to supported NetworkX functions (e.g. nx.all_pairs_dijkstra(G, backend=\"parallel\")), or input a nxp.ParallelGraph object instead of nx.Graph, or set the environment variable NETWORKX_BACKEND_PRIORITY=\"parallel\"." 42 | }, 43 | { 44 | "question": "One FOSS maintainer lesson for your younger self", 45 | "response": "Concentrate more on the \"why\"s instead of \"how\"s, and don't burn yourself out-- take breaks!" 46 | }, 47 | { 48 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 49 | "response": "I get to learn new things, work with nice people and I like working on something that's useful to people, and helping in making it better. Also, I just don't want this project(nx-parallel) to be abandoned and archived someday -- I want to build a sustainable community of users, contributors and maintainers around it :)" 50 | }, 51 | { 52 | "question": "If your repo had a theme song, what would it be?", 53 | "response": "Bach's Prelude in C Major" 54 | }, 55 | { 56 | "question": "Which file in your project would you most like to set on fire?", 57 | "response": "Timing script: https://github.com/networkx/nx-parallel/blob/main/timing/timing_all_functions.py" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🐣" 62 | } 63 | ], 64 | "created_on": "2025-06-04T17:02:44+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/bodhish.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "bodhish", 3 | "full_name": "Bodhish Thomas", 4 | "photo": "https://avatars.githubusercontent.com/u/14979190?v=4", 5 | "designation": "Co-Founder, Open Healthcare Network", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/bodhish" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/bodhish/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://www.bodhish.in/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "Open Healthcare Network - Care", 23 | "project_link": "https://github.com/ohcnetwork/", 24 | "website_link": "https://ohc.network/", 25 | "logo": "https://avatars.githubusercontent.com/u/62014451?s=200&v=4", 26 | "description": "Care's consultation module supports outpatient, inpatient, and home care scenarios. Clinicians can manage patient encounters in hospitals, clinics, or even virtual/home settings within one system. This comprehensive support means all types of care—routine check-ups, hospital admissions, or home visits—are documented and handled in a unified interface, improving efficiency across the continuum of care.", 27 | "short_description": "Care is a Digital Public Good enabling TeleICU & Decentralised Administration of Healthcare Capacity across States." 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "https://docs.ohc.network/docs/contributing" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Care is the flagship open-source healthcare platform developed by Open Healthcare Network (OHC). Originally launched during the COVID-19 pandemic as a crisis response tool, Care has evolved into a robust Digital Public Good (DPG) recognized by the United Nations. It is now a comprehensive Electronic Medical Records (EMR) system tailored for critical care, TeleICU, and palliative care, is fully integrated with India’s ABDM (Ayushman Bharat Digital Mission) and FHIR R5 compliant. Deployed in over 200+ hospitals across nine Indian states, Care supports real-time patient monitoring, medical device integration, and AI-powered tools like Care Scribe (voice-to-EMR) and Care Vision (automates medical readings). Today, Care is powering large-scale health programs like the 10BedICU project and Kerala’s Palliative Care Grid, supporting hundreds of thousands of patients, and helping scale compassionate, quality care to underserved regions." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "The community doesn’t grow on ideals, it grows on working code. Someone out there needs what you’re building, Don’t wait for perfect, ship what’s useful." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "It isn’t just code - it’s tools saving lives across India" 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "If CARE had a soundtrack, that launch video would be track one https://youtu.be/ycVWqvZubiI?si=FJ6wcXnN_GQ4t7BK" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "A lot to be honest, we are not just a project its a lot of projects working together as one engine." 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "It was March 2020. We were in shorts, hacking dashboards during a lock-down, with no roadmap, and no idea how many lives would depend on our code. We saw government systems running on Google Sheets and WhatsApp forwards. We didn’t choose the FOSS life. The FOSS life picked us." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "⭐️" 62 | } 63 | ], 64 | "created_on": "2025-06-03T22:24:28+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/adithya-s-k.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "adithya-s-k", 3 | "full_name": "Adithya S K", 4 | "photo": "", 5 | "designation": "", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/adithya-s-k" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/adithya-s-kolavi/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://adithyask.com/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "OmniParse", 23 | "project_link": "https://github.com/adithya-s-k/omniparse", 24 | "website_link": "https://omniparse.cognitivelab.in/", 25 | "logo": "", 26 | "description": "OmniParse is a platform that ingests and parses any unstructured data into structured, actionable data optimized for GenAI (LLM) applications. Whether you are working with documents, tables, images, videos, audio files, or web pages, OmniParse prepares your data to be clean, structured, and ready for AI applications such as RAG, fine-tuning, and more", 27 | "short_description": "Ingest, parse, and optimize any data format ➡️ from documents to multimedia ➡️ for enhanced compatibility with GenAI frameworks" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "GitHub sponsors - https://github.com/sponsors/adithya-s-k" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Omniparse - An open-source framework that scales the conversion of unstructured data into structured data. It is designed to handle a wide variety of data formats, offering unparalleled flexibility and scalability." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "One lesson I’d tell my younger self: You can’t always build something big in a weekend, but you can build something big by committing every weekend. Be patient, stay consistent, and trust the process." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "I’ve learned so much from reading and understanding open-source code—it's where I picked up best practices, libraries, and real-world problem solving. Maintaining FOSS projects is my way of giving back to that community. It also lets me build high-impact tools that people actually use, and it's one of the fastest ways to validate and iterate on startup ideas in the real world." 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Never Gonna Give You Up by Rick Astley ‧ 1987" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "currently the entire v1 of omniparse , v2 coming out soon" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "I built tools to solve my own problems, shared them online, and realized others found them useful too. That’s how my open-source journey and Cognitivelab began." 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩 🟩" 62 | } 63 | ], 64 | "created_on": "2025-06-05T14:58:25+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/agriyakhetarpal.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "agriyakhetarpal", 3 | "full_name": "Agriya Khetarpal", 4 | "photo": "", 5 | "designation": "Software Engineer", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/agriyakhetarpal" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/agriyakhetarpal/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://agriyakhetarp.al/" 18 | } 19 | ], 20 | "projects": [ 21 | { 22 | "name": "pyodide", 23 | "project_link": "https://github.com/pyodide/pyodide", 24 | "website_link": "https://pyodide.org/en/stable/", 25 | "logo": "https://rawcdn.githack.com/pyodide/pyodide/23a813c4003b91d4eb8b470e2665b93448fe1e3b/docs/_static/img/pyodide-logo.png", 26 | "description": "Pyodide makes it possible to install and run Python packages in the browser with micropip. Any pure Python package with a wheel available on PyPI is supported. Many packages with C extensions have also been ported for use with Pyodide. These include many general-purpose packages such as regex, pyyaml, lxml and scientific Python packages including numpy, pandas, scipy, matplotlib, and scikit-learn.", 27 | "short_description": "Pyodide is a Python distribution for the browser and Node.js based on WebAssembly" 28 | } 29 | ], 30 | "form": [ 31 | { 32 | "question": "How to support", 33 | "response": "Contributions for code, docs, community examples, and design work are welcome! 🤗 Also, if you have the privilege to contribute financially, please consider donating to us on our OpenCollective page at https://opencollective.com/pyodide or via GitHub Sponsors at https://github.com/sponsors/pyodide" 34 | }, 35 | { 36 | "question": "A small brief about your project", 37 | "response": "Pyodide is an open-source, MPL-licensed Python distribution for the browser and Node.js based on WebAssembly/Emscripten. It brings a port of CPython and the Scientific Python stack for web browsers, and provides a robust foreign function interface (FFI) between JavaScript and Python that allows data interchange between both languages. It also comes with a standards-compliant build system for cross-compiling Python packages into WebAssembly wheels, and an array of more than 290 packages and system-level libraries, and an in-browser package manager, micropip, to install and use them in WebAssembly runtimes." 38 | }, 39 | { 40 | "question": "One FOSS maintainer lesson for your younger self", 41 | "response": "The reward of delayed gratification: sustainability matters much more than initial excitement; it is imperative to design contributing guidelines, your personal boundaries, and think about funding decisions from early days, as if your project will be successful up to a decade later – because if it does, you will be grateful for working on those structures early on." 42 | }, 43 | { 44 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 45 | "response": "Maintaining open-source software gives me a chance to contribute to something bigger than myself. I get to create a difference to digital heritage that future programmers can study, learn from, and build upon. The collaborative aspect also keeps me engaged, as I get to interact with people all over the world whom I would never meet or have met otherwise!" 46 | }, 47 | { 48 | "question": "If your repo had a theme song, what would it be?", 49 | "response": "Transylvania by Iron Maiden" 50 | }, 51 | { 52 | "question": "Which file in your project would you most like to set on fire?", 53 | "response": "The EIGHTEEN patches we currently use to compile SciPy to WebAssembly ;)" 54 | }, 55 | { 56 | "question": "What's your open-source villain origin story?", 57 | "response": "I realised I've become a villain ever since the day I've had more power closing issues with the \"won't fix\" label than any comic book crook will ever have! :P" 58 | }, 59 | { 60 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 61 | "response": "🎩" 62 | } 63 | ], 64 | "created_on": "2025-06-04T16:06:02+05:30" 65 | } 66 | -------------------------------------------------------------------------------- /content/maintainers/core-stack-org.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "core-stack-org", 3 | "full_name": "CommonsTech Foundation", 4 | "photo": "https://rawcdn.githack.com/aaditeshwar/core-stack-logo-and-desc/5143f091744f844f031f802f15259d3be54b69a1/core-stack-colour-name.png", 5 | "designation": "Anchor development partner for the CoRE stack", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/core-stack-org" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/company/core-stack/" 14 | } 15 | ], 16 | "projects": [ 17 | { 18 | "name": "CoRE stack", 19 | "project_link": "https://github.com/core-stack-org", 20 | "website_link": "https://core-stack.org/", 21 | "logo": "https://rawcdn.githack.com/aaditeshwar/core-stack-logo-and-desc/5143f091744f844f031f802f15259d3be54b69a1/core-stack-colour-name.png", 22 | "description": "The CoRE Stack (Commoning for Resilience and Equality) is a community-based digital public infrastructure consisting of datasets, pre-computed landscape level indicators, and tools, that can be used by rural communities and other stakeholders to improve the sustainability and resilience of their local landscapes. The CoRE stack broadly consists of four layers. First, using ML on satellite imagery we are producing novel geo-spatial layers on changes over the years in cropping intensity, water-table levels, health of water bodies, forests and plantations, and welfare fund allocation, among others. Second, these help generate rich analytics on diverse social-ecological indicators. Third, tools that use these underlying datasets and analytics enable communities to build a shared understanding about their landscape, align on informed action to improve the resilience and sustainability of their landscape, monitor its progress, and report insights. Fourth, these tools have relevant plugs to integrate their outputs, including community demands, for public and private landscape funding mechanisms that can especially support community stewardship of landscapes.", 23 | "short_description": "A community-based digital public infrastructure for climate change adaptation." 24 | } 25 | ], 26 | "form": [ 27 | { 28 | "question": "How to support", 29 | "response": "A number of ideas for new projects, extensions, and improvements are listed here: https://docs.google.com/document/d/1lPleJ45JUp0iD7NZOZXrLBoCpifkJTV4/edit?usp=sharing&ouid=116413035808485050246&rtpof=true&sd=true" 30 | }, 31 | { 32 | "question": "A small brief about your project", 33 | "response": "The CoRE stack is a unique effort to bring the latest of science, translate it to deployment, and service meaningful use-cases to address felt needs of communities. With lead research happening at IIT Delhi and in collaboration with other partners, and software development and product design anchored by CommonsTech Foundation, our goal is to create a vibrant ecosystem of contributors who can implement cutting edge research papers, improve machine learning models, and code hydrology and ecology frameworks into tools that can empower rural communities to manage their landscapes in a sustainable manner." 34 | }, 35 | { 36 | "question": "One FOSS maintainer lesson for your younger self", 37 | "response": "Document extensively and think before writing DRY or WET code: https://en.wikipedia.org/wiki/Don't_repeat_yourself." 38 | }, 39 | { 40 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 41 | "response": "The CoRE stack can impact millions of lives by becoming a foundational platform to simplify social-ecological management for communities." 42 | }, 43 | { 44 | "question": "If your repo had a theme song, what would it be?", 45 | "response": "" 46 | }, 47 | { 48 | "question": "Which file in your project would you most like to set on fire?", 49 | "response": "" 50 | }, 51 | { 52 | "question": "What's your open-source villain origin story?", 53 | "response": "" 54 | }, 55 | { 56 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 57 | "response": "" 58 | } 59 | ], 60 | "created_on": "2025-06-25T10:39:15+05:30" 61 | } 62 | -------------------------------------------------------------------------------- /public/logo/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /content/maintainers/raisedadead.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "raisedadead", 3 | "full_name": "Mrugesh Mohapatra", 4 | "photo": "https://avatars.githubusercontent.com/u/1884376?s=200&v=4", 5 | "designation": "Principal Maintainer—Cloud Infrastructure & Open Source at freeCodeCamp.org", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/raisedadead" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/mrugeshm/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://mrugesh.dev/" 18 | }, 19 | { 20 | "label": "X/Twitter", 21 | "link": "https://x.com/raisedadead" 22 | } 23 | ], 24 | "projects": [ 25 | { 26 | "name": "freeCodeCamp", 27 | "project_link": "https://github.com/freeCodeCamp/freeCodeCamp", 28 | "website_link": "https://www.freecodecamp.org/", 29 | "logo": "https://avatars.githubusercontent.com/u/9892522?s=200&v=4", 30 | "description": "freeCodeCamp.org is a friendly community where you can learn to code for free. It is run by a donor-supported 501(c)(3) nonprofit to help millions of busy adults transition into tech. Our full-stack web development and machine learning curriculum is completely free and self-paced.", 31 | "short_description": "Free coding education platform with interactive curriculum" 32 | }, 33 | { 34 | "name": "astro-loader-hashnode", 35 | "project_link": "https://github.com/raisedadead/astro-loader-hashnode", 36 | "website_link": "https://npmjs.com/package/astro-loader-hashnode", 37 | "logo": "", 38 | "description": "A Content Layer API plugin for Astro that adds support for fetching content from Hashnode, including articles, tags, and authors. It allows developers to easily integrate Hashnode content into their Astro projects.", 39 | "short_description": "Astro Content Layer plugin for Hashnode" 40 | } 41 | ], 42 | "form": [ 43 | { 44 | "question": "How to support", 45 | "response": "You can support freeCodeCamp.org by donating to our nonprofit organization at https://freecodecamp.org/donate. Your contributions help us maintain and improve the platform, ensuring that we can continue to provide free coding education to millions of people around the world. You can also support me directly by sponsoring my work on GitHub at https://github.com/sponsors/raisedadead." 46 | }, 47 | { 48 | "question": "A small brief about your project", 49 | "response": "freeCodeCamp's code base is a large, open-source project that provides a comprehensive curriculum for learning Programming, Mathematics, English and more. It includes interactive coding challenges, projects, and a supportive community where learners can ask questions and share their progress. The platform is designed to be accessible to everyone, regardless of their background or prior experience." 50 | }, 51 | { 52 | "question": "One FOSS maintainer lesson for your younger self", 53 | "response": "Start small, focus on one thing at a time, and don't be afraid to ask for help." 54 | }, 55 | { 56 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 57 | "response": "Education should be free, and I'm stubborn enough to spend my nights making sure it stays that way." 58 | }, 59 | { 60 | "question": "If your repo had a theme song, what would it be?", 61 | "response": "" 62 | }, 63 | { 64 | "question": "Which file in your project would you most like to set on fire?", 65 | "response": "Markdown files, because git is not a good tool for content management." 66 | }, 67 | { 68 | "question": "What's your open-source villain origin story?", 69 | "response": "The idea of collaborating with humans thousands of kilometers away, whom I have not met IRL, probably never will – but still being able to just trust with feedback and opinions is liberating. Got into a traditional CS degree, and job—discovered Three.js and freeCodeCamp in 2015 as part of skilling up for the day job. I was hooked. Quit corporate life to do FOSS and education full-time. Never looked back." 70 | }, 71 | { 72 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 73 | "response": "🦉" 74 | } 75 | ], 76 | "created_on": "2025-06-23T19:57:28+05:30" 77 | } 78 | -------------------------------------------------------------------------------- /content/maintainers/marketcalls.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "marketcalls", 3 | "full_name": "Rajandran R", 4 | "photo": "", 5 | "designation": "Creator, OpenAlgo", 6 | "socials": [ 7 | { 8 | "label": "GitHub", 9 | "link": "https://github.com/marketcalls" 10 | }, 11 | { 12 | "label": "LinkedIn", 13 | "link": "https://www.linkedin.com/in/rajandranr/" 14 | }, 15 | { 16 | "label": "Web", 17 | "link": "https://www.openalgo.in/" 18 | }, 19 | { 20 | "label": "Twitter", 21 | "link": "https://x.com/openalgoHQ" 22 | } 23 | ], 24 | "projects": [ 25 | { 26 | "name": "OpenAlgo", 27 | "project_link": "https://github.com/marketcalls/openalgo", 28 | "website_link": "https://www.openalgo.in/", 29 | "logo": "https://www.openalgo.in/assets/images/android-chrome-192x192.png", 30 | "description": " OpenAlgo is a self-hosted platform that makes automating trading orders easy and efficient. Designed with the flexibility to operate from your desktop, laptop, or on servers, OpenAlgo is built using the Python Flask Framework. Traders can connect their algo strategies seamlessly with top Indian brokers. Run your strategies from any platform - Amibroker, TradingView, Python, ChartInk, MetaTrader, Excel, N8N or Google Sheets.", 31 | "short_description": "Self Hostable Personal Algo Trading Platform for Retail Traders." 32 | } 33 | ], 34 | "form": [ 35 | { 36 | "question": "How to support", 37 | "response": "Use OpenAlgo, report bugs, share feedback, and spread the word to fellow traders. Contributions like broker modules, documentation improvements, and feature ideas help the most. Even a GitHub star or a constructive issue can go a long way in making the platform better for everyone." 38 | }, 39 | { 40 | "question": "A small brief about your project", 41 | "response": "OpenAlgo is a personal algo trading platform for retail traders. It removes the complexity of broker APIs and provides a unified way to execute trades across multiple brokers using your favorite tools like TradingView, Excel, Amibroker, nodejs or Python. Whether you're a hobbyist trader or an advanced quant, OpenAlgo makes it easier to automate your edge." 42 | }, 43 | { 44 | "question": "One FOSS maintainer lesson for your younger self", 45 | "response": "Don’t wait for perfect. Ship early, and build openly. The community will shape your project better than any solo roadmap. Also: Document everything, make tutorials and versioning save lives!" 46 | }, 47 | { 48 | "question": "Why do you do it? Why do you bother maintaining a FOSS project?", 49 | "response": "I thought it was cool to build something openly. It’s even cooler to architect something complex from scratch and watch it evolve over time. I enjoy the process of shaping things gradually and, most of all, simplifying complexity - making powerful tools accessible to more people." 50 | }, 51 | { 52 | "question": "If your repo had a theme song, what would it be?", 53 | "response": "\"Hall of Fame\" by The Script - because OpenAlgo was built not by big firms, but by regular traders building something that matters." 54 | }, 55 | { 56 | "question": "Which file in your project would you most like to set on fire?", 57 | "response": "Let’s flip that. Instead of setting it on fire, I’d highlight the most interesting file: blueprints/strategy.py. This is where the magic happens — the core logic that routes strategy execution, handles trade flows, and connects the trader's intent to real-world execution. It’s been refactored so many times, you can see the evolution of OpenAlgo in that one file." 58 | }, 59 | { 60 | "question": "What's your open-source villain origin story?", 61 | "response": "There were no open-source algo trading platforms that supported multiple brokers and multiple platforms for Indian markets - stocks, commodities, currencies - nothing. Everything was locked behind vendor paywalls. Even the simplest logic flows were hidden or monetized. That’s what really annoyed me. So I decided to break the gate-keeping and build something open, flexible, and truly for traders." 62 | }, 63 | { 64 | "question": "If you had to use one emoji to convey what it is like to be a FOSS maintainer, what would it be?", 65 | "response": "🛠️ — because you're always tweaking, patching, and improving. It's more craft than code some days." 66 | } 67 | ], 68 | "created_on": "2025-07-23T17:43:31+05:30" 69 | } 70 | --------------------------------------------------------------------------------