BossHunter
스마트 구직 에이전트(소스 공개, PolyForm 비상업적 라이선스; 상업적 이용은 별도 서면 허가 필요)
STEM 제작자들이 결과를 공개·검증·채용하는 네트워크, AI 에이전트가 업무를 처리함
The network where STEM builders show what they've made, their club's officers verify it, and companies recruit from the proof. With an AI agent that does the busywork.
비즈니스GitHub @brazework온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Build it. Prove it. Get found. The verified work network for STEM.
Students post what they build. Their club's officers, who saw the work happen, verify it. Companies find proven builders through that verified work instead of through résumés anyone can write.
Brazework was called Forge until November 2026 (why the new name; the trademark check is still open). Internal names keep the old one: the repo
forge-app, tables likeforge_admins, env vars likeFORGE_EMAIL_FROMand the Linear team "Forge".
Who it's for
How it works
Ember, the AI helper built in, drafts posts, plans events and finds clubs and people. It never acts on its own: a person always taps Approve.
Why it matters now: AI made résumés free to generate. 91% of recruiters have caught candidate deception (Greenhouse, 2025). Work that someone accountable saw happen still carries signal, and today it's buried in group chats and lab notebooks. Research and sources: docs/positioning.md.
Read more
Stack: Next.js 16 (App Router, partial prerendering) · React 19 · TypeScript · Tailwind 4 · Supabase (Postgres with row-level security, Auth, Storage, Realtime) · Anthropic (Ember) · Stripe · Resend · Vercel. The iPhone app is SwiftUI on the same backend. Full picture, with a diagram: docs/architecture.md.
The one rule: the database is the security boundary. Every request runs as the signed-in member, and row-level security, column grants and checked functions decide what's allowed.
cd web
npm install
e2e/local-supabase.sh up # a private Supabase in Docker, with test members (password forge-test-pass-1)
NEXT_PUBLIC_SUPABASE_URL=http://localhost:54321 NEXT_PUBLIC_SUPABASE_ANON_KEY="$(cat e2e/.anon-key)" npm run dev
# http://localhost:3000, signed in as e.g. [email protected]
e2e/local-supabase.sh down # when you're done
Careful: web/.env.local points at production, so a plain npm run dev talks to real member data. Always pass the local values as above (or use forge-staging), and never run tests or scripts that write against production. For a fresh .env.local, copy web/.env.example.
cd web
npx tsc --noEmit && npm run lint && npm test # types, lint, unit tests (~30 s)
npm run e2e # every database rule + 8 browser journeys on a local Supabase (~8 min; Docker + Chrome)
npm run quality # Lighthouse speed/accessibility budgets + an OWASP ZAP security scan (~6 min)
npm run load # k6: 200 members at once + a sign-up burst (~3 min)
web/ The Next.js app: src/app (routes), src/lib (server logic), src/components
web/tests/ Unit tests
web/e2e/ End-to-end, quality and load tests, plus the local Supabase stack
supabase/*.sql The database, one additive file per step, run in supabase/order.txt order
supabase/tests/ SQL rule tests (run as real members, rolled back)
supabase/maintenance/ health-check.sql (read-only) and remove-test-data.sql
ios/ The iPhone app (SwiftUI; paused)
public/ The original app, kept until production is confirmed on web/
docs/ Everything else: start at docs/README.md
.github/workflows/ CI, CodeQL, preview deploy, Linear sync, load test
.claude/skills/ /next, /ship, /standup: working from the Linear board in Claude Code
The SQL files are additive and run in the order in supabase/order.txt, the single list that CI, the local test stack and production setup all follow. The app checks which steps have run and hides features whose tables don't exist yet (web/src/lib/db-features.ts). What each step does: docs/next-migration.md. Tables and who can touch them: docs/data-model.md. To check a database: supabase/maintenance/health-check.sql (read-only).
Two founders, small commits straight to main, with CI as the gate: a red check is fixed before anything else. Commits start with their Linear issue ID (FIX-30: …), and the Linear sync keeps the board current. The full guide, including the switch to pull requests when the team grows, is in CONTRIBUTING.md. What runs automatically: docs/automation.md.