Serein
Rust로 만든 가볍고 성능 좋은 Discord 전용 네이티브 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Welcome, and thanks for taking the time. Pulse is a working (mostly!) Next.js app: a living globe of anonymous strangers — every online user is a dot on a world map; tap one to connect for text chat or a video call. No accounts, no history, nothing stored. Coordination and WebRTC signaling run through the server (Postgres + HTTP polling); chat and video are peer-to-peer over WebRTC.
You'll work through four phases. They're designed to be realistic, not trick questions. We care as much about how you think as about what you ship — so a short write-up is required (see Deliverables).
Using AI is allowed. Use whatever tools you'd use on the job. The phases are built so that judgment, debugging, and product taste matter more than raw code generation. Please make the decisions yours and be ready to explain them.
A working version is deployed at https://pulse-silk-eta.vercel.app/.
Because Pulse connects two strangers, you need two participants to try it: open the link in two separate browser windows (e.g. a normal window + an incognito/private window, or two different browsers). In each window's DevTools → Sensors, set a different mock geolocation so the two dots land apart, then tap one dot to connect, accept, chat, and start video.
⚠️ Repository setup — please read this first
Clone this repository — do NOT fork it. Then create a brand-new public GitHub repository of your own and push your clone there. Commit as you go — we review your git history and commit practice, so use meaningful, incremental commits with clear messages (not one giant final commit). Your final deliverables are your public repo URL and a live Vercel URL — see Deliverables below.
npm install
.env.example to .env and fill in your own credentials:
npx prisma db push
npm run dev
Open http://localhost:3000.WebRTC needs two participants. Open the app in two browser profiles (e.g. a normal window + an incognito window). In each tab's DevTools → Sensors, set a different mock geolocation so the dots land apart, then connect.
Connections use STUN only (no TURN), so a minority of strict/corporate networks won't establish a media connection — that's a known limitation, not something you need to solve.
There is a note in
AGENTS.mdabout this codebase. Please read it.
(See the email for time expectations.)
The app does not currently work end-to-end. There are several bugs in here — find and fix each one until two users can reliably see each other on the map, connect, chat, and start a video call.
As one example of the kind of thing you'll run into:
"I tested with a friend. After we both closed the app, our dots stayed on the map for ages — it kept looking like people were online when nobody was."
That's one bug. There are more — this is just an example to show the flavor. Track down and fix each issue you find.
This phase is all about UI/UX. Make Pulse genuinely beautiful — something you'd be proud to show off and that people would actually want to use. There's no mockup and no rules: restyle anything, add motion and polish, rethink the layout, tighten the flow, sweat the details. Use your creativity and make this app gorgeous. We're looking at your sense of design, taste, and product feel — go make it stunning.
Review the API before shipping. Identify the issues you'd want fixed before this went live, prioritize them, and address what you can.
Build something new that makes Pulse feel more alive and/or safe — and that genuinely impresses us. Add a unique feature or capability of your own design: something creative and original that makes the app stand out and that you'd want a reviewer to remember. There's no spec and no right answer — the idea is entirely yours. Surprise us, ship it working, and explain your thinking in your notes.
Phases 2 and 4 can be attempted at any time. Phase 3 (security review) assumes a running app, so it's most natural after Phase 1.
.env.example in the Vercel
project settings, and run the Prisma schema against your database.NOTES.md at the repo root with a short section per phase:
Submit the repo URL and the Vercel URL. Keep NOTES.md concise — bullet
points are fine. We read it closely.
Good luck — have fun with it.
| Phase | Weight |
|---|---|
| Phase 1 — Make it run | 15% |
| Phase 2 — Make it good | 30% |
| Phase 3 — Make it secure | 20% |
| Phase 4 — Make it better | 30% |
| Engineering practice & delivery | 5% |