{"id":15147640,"url":"https://github.com/todo-labs/brainwave","last_synced_at":"2025-10-24T03:30:55.228Z","repository":{"id":191057611,"uuid":"638746427","full_name":"todo-labs/brainwave","owner":"todo-labs","description":"Revolutionize your SAT exam preparation with our cutting-edge AI-powered app that provides personalized study plans, comprehensive practice tests, and advanced performance analytics","archived":false,"fork":false,"pushed_at":"2024-03-30T02:59:21.000Z","size":8660,"stargazers_count":7,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2024-09-27T13:01:20.965Z","etag":null,"topics":["langchain-typescript","nextjs","openai","postgresql","prisma","react","shadcn-ui","t3-stack","tailwindcss","trpc"],"latest_commit_sha":null,"homepage":"https://brainwave.quest","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/todo-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-10T02:43:13.000Z","updated_at":"2024-03-19T10:28:59.000Z","dependencies_parsed_at":"2024-09-26T13:00:30.058Z","dependency_job_id":"16bd2853-a598-43e8-8eb8-3d49aefb6305","html_url":"https://github.com/todo-labs/brainwave","commit_stats":{"total_commits":179,"total_committers":2,"mean_commits":89.5,"dds":0.03351955307262566,"last_synced_commit":"f7a4a9e922e77df9d2cef7a075bb49cb1ef212bd"},"previous_names":["todo-labs/brainwave"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todo-labs%2Fbrainwave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todo-labs%2Fbrainwave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todo-labs%2Fbrainwave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todo-labs%2Fbrainwave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/todo-labs","download_url":"https://codeload.github.com/todo-labs/brainwave/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219867141,"owners_count":16555821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["langchain-typescript","nextjs","openai","postgresql","prisma","react","shadcn-ui","t3-stack","tailwindcss","trpc"],"created_at":"2024-09-26T13:00:21.748Z","updated_at":"2025-10-24T03:30:49.312Z","avatar_url":"https://github.com/todo-labs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/todo-labs/brainwave\"\u003e\n    \u003cimg src=\"public/logo.svg\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch1 align=\"center\"\u003eBrainwave\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://brainwave.quest\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/todo-labs/brainwave/issues/new?assignees=\u0026labels=\u0026projects=\u0026template=bug_report.md\u0026title=\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/todo-labs/brainwave/issues/new?assignees=\u0026labels=\u0026projects=\u0026template=feature_request.md\u0026title=\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## About The Project\n\n[![Product Name Screen Shot][product-screenshot]][app-url]\n\nIntroducing Brainwave, an innovative quiz platform that harnesses the capabilities of OpenAI to generate real-time practice exams. Our vision is to establish an accessible and engaging hub for learning and self-challenge through quizzes. By capitalizing on OpenAI's potential, we strive to offer a distinctive and dynamic learning journey that adjusts to individual users' knowledge levels. With Brainwave, users can explore quizzes in diverse subjects, obtaining instant performance feedback for an enriched educational experience.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🌎 New Languages Supported\n\nWe're excited to announce that we now support multiple languages! Thanks to the power of [next-i18next](https://www.npmjs.com/package/next-i18next) \u0026 [Open Ai](https://openai.com/), we've added E2E support for the following languages:\n\n- 🇦🇪 Arabic\n- 🇨🇳 Chinese\n- 🇩🇪 German\n- 🇺🇸 English (default)\n- 🇪🇸 Spanish\n- 🇫🇷 French\n- 🇮🇳 Hindi\n- 🇮🇹 Italian\n- 🇯🇵 Japanese\n- 🇰🇷 Korean\n- 🇳🇬 Yorùbá\n- 🇵🇹 Portuguese\n- 🇷🇺 Russian\n\nTo switch to a different language, simply click on the language selector on the profile page and choose your preferred language. We hope this new feature makes Brainwave more accessible and user-friendly for everyone!\n\n### Built With\n\n- [![Next][Next.js]][Next-url]\n- [![React][React.js]][React-url]\n- [![Prisma][Prisma]][Prisma-url]\n- [![Tailwind CSS][Tailwind CSS]][Tailwind CSS-url]\n- [![Vercel][Vercel]][Verce-url]\n- [![OpenAi][OpenAi]][OpenAi-url]\n- [Next Auth](https://next-auth.js.org/)\n- [Langchain](https://js.langchain.com/docs/get_started/introduction)\n- [shadcn/ui](https://ui.shadcn.com/docs)\n- [TRPC](https://trpc.io/)\n\n### Features\n\n- Email Magic Link Authentication\n- Quiz Generation\n- Results Breakdown\n\n### What I Learned ?\n\n- How to use NextAuth.js to implement authentication and authorization\n- Langchain API integration\n- How to use tRPC to implement a GraphQL-like API\n- How to use Tailwind CSS \u0026 Radix UI to build a responsive and engaging UI\n- How to setup an embedding vector database\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🧩 Integrations\n\n**Mixpanel**\n\nwe prioritize data-driven decision-making to enhance the user experience and continuously improve our services.\nTo achieve this, we have integrated Mixpanel, a powerful analytics and user engagement platform, into our application.\n\n**Sentry**\n\nWe have integrated Sentry, an open-source error tracking tool, into our application using \n[Sentry's Next.js SDK](https://docs.sentry.io/platforms/javascript/guides/nextjs/). \nThis allows us to monitor and fix crashes in real-time, as well as monitor our application's performance and identify potential bottlenecks. \nSentry's session replay feature also allows us to see exactly what our users are experiencing, which helps us to improve our application's usability.\n\n### Prerequisites\n\nTo get started with Brainwave, you will need to set up your development environment. You will need the following tools:\n\n- [Node.js](https://nodejs.org/) (Recommended version: 18)\n- [Pnpm](https://pnpm.io/) (Recommended version: 6)\n- [Postgresql](https://www.postgresql.org/) (Recommended version: 15)\n\n### Installation\n\n1. Get an Open AI API Key at [Open AI Platform](https://platform.openai.com/)\n2. Clone the repo\n   ```bash\n    git clone https://github.com/todo-labs/brainwave.git\n   ```\n3. Install NPM packages\n   ```bash\n    pnpm i\n   ```\n4. Copy over your env file\n   ```bash\n    cp .env.example .env\n   ```\n5. Push the prisma schema to your database\n   ```bash\n    pnpm db:push\n   ```\n6. Run the development server\n   ```bash\n    pnpm dev\n   ```\n7. Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Roadmap\n\n- [ ] Setup the vector database\n  - [ ] Pre load a dataset of past SAT Practice Exams\n  - [ ] Setup a cron job to update the database with new exams\n  - [ ] Link vector db to quiz generation query\n- [ ] Enhance the quiz generation procedure\n  - [ ] Add support for different question types\n- [x] Enhance results breakdown UI and functionality\n- [x] Add a leader board and ranking system\n- [ ] Enhance the mobile experience\n\nSee the [open issues](https://github.com/todo-labs/brainwave/issues) for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'feat(scope): Add some AmazingFeature (fixes #123)'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contact\n\nDavid Ojo - [@conceptcodes](https://github.com/conceptcodes) - conceptcodes@gmail.com\n\nProject Link: [https://brainwave.quest](https://brainwave.quest)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/todo-labs/brainwave.svg?style=for-the-badge\n[contributors-url]: https://github.com/todo-labs/brainwave/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/todo-labs/brainwave.svg?style=for-the-badge\n[forks-url]: https://github.com/todo-labs/brainwave/network/members\n[stars-shield]: https://img.shields.io/github/stars/todo-labs/brainwave.svg?style=for-the-badge\n[stars-url]: https://github.com/todo-labs/brainwave/stargazers\n[issues-shield]: https://img.shields.io/github/issues/todo-labs/brainwave.svg?style=for-the-badge\n[issues-url]: https://github.com/todo-labs/brainwave/issues\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/david-ojo-66a12a147\n[product-screenshot]: public/screenshot.png\n[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge\u0026logo=nextdotjs\u0026logoColor=white\n[Next-url]: https://nextjs.org/\n[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\n[React-url]: https://reactjs.org/\n[Prisma]: https://img.shields.io/badge/Prisma-3982CE?style=for-the-badge\u0026logo=Prisma\u0026logoColor=white\n[Prisma-url]: https://www.prisma.io/\n[app-url]: https://brainwave.quest\n[Verce-url]: https://vercel.com/\n[Vercel]: https://img.shields.io/badge/vercel-%23000000.svg?style=for-the-badge\u0026logo=vercel\u0026logoColor=white\n[Tailwind CSS]: https://img.shields.io/badge/Tailwind%20CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white\n[Tailwind CSS-url]: https://tailwindcss.com/\n[OpenAi]: https://img.shields.io/badge/chatGPT-74aa9c?style=for-the-badge\u0026logo=openai\u0026logoColor=white\n[OpenAi-url]: https://openai.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftodo-labs%2Fbrainwave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftodo-labs%2Fbrainwave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftodo-labs%2Fbrainwave/lists"}