{"id":31757353,"url":"https://github.com/sougata-github/build-ai","last_synced_at":"2025-10-09T19:57:42.241Z","repository":{"id":317222733,"uuid":"1066471268","full_name":"sougata-github/build-ai","owner":"sougata-github","description":"Vibe coding tool built using Next.js.","archived":false,"fork":false,"pushed_at":"2025-10-07T16:10:28.000Z","size":81,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-07T17:29:25.652Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://build-ai-teal.vercel.app","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/sougata-github.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-29T14:27:09.000Z","updated_at":"2025-10-07T16:10:31.000Z","dependencies_parsed_at":"2025-09-29T17:27:13.705Z","dependency_job_id":"409a743d-f78f-49da-989b-dec3ba637ccf","html_url":"https://github.com/sougata-github/build-ai","commit_stats":null,"previous_names":["sougata-github/build-ai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sougata-github/build-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sougata-github%2Fbuild-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sougata-github%2Fbuild-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sougata-github%2Fbuild-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sougata-github%2Fbuild-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sougata-github","download_url":"https://codeload.github.com/sougata-github/build-ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sougata-github%2Fbuild-ai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001943,"owners_count":26083244,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-09T19:57:40.952Z","updated_at":"2025-10-09T19:57:42.236Z","avatar_url":"https://github.com/sougata-github.png","language":"TypeScript","readme":"## Background Jobs\n\nnormal task:\n\n- login\n- send req\n- instant response (success/fail)\n\nlong-running tasks (without background jobs)\n\n- user clicks 'generate summary'\n- send network req\n- backend generates summary (30 second)\n- user waits\n- risk: timeout/tab closed/connection lost\n- user might never get result\n\nThis is why we have background jobs.\n\nlong-running tasks (with background jobs)\n\n- user clicks 'generate summary'\n- send network req\n- queue background job\n- non blocking\n- background job runs in a separate environment\n- notify user when job finishes\n\nConvex + Next.js + Inngest\n\nLocal\n\nNext.js Client (localhost) ---\u003e Convex Dev Cloud (Cloud Sandbox) ---\u003e Inngest Dev Server (localhost:8288 + ngrok)\n\n- Next.js uses dev Convex URL (`https://dev-xxxx.convex.cloud`)\n- Convex Cloud needs tunnel URL to reach local - Inngest Dev Server (ngrok or local IP)\n- Event key is dev/test key\n- Tunnel changes each session unless you reserve a subdomain\n\nProd\n\nNext.js Client (Vercel) ---\u003e Convex Prod Cloud (Cloud prod) ---\u003e Inngest Cloud (Cloud prod API)\n\n- Everything is fully cloud-based. No tunneling needed\n- Convex Cloud → Inngest Cloud communicates via HTTPS API\n- Event key → production app key\n- All environments isolated\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsougata-github%2Fbuild-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsougata-github%2Fbuild-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsougata-github%2Fbuild-ai/lists"}