[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fwplC9AJRZaWWy9_Et6hhd4jb3XedUx55xPJaYFC34-Y":3,"$f63-dULBmMWiUGItStXSKbWggJqD9idneEcQYV74ElmU":37,"$fRXOtHeuIyJNo3nL6H-fk4F9JDuhsfGk9qjJ3qMoEfvA":116},{"success":4,"data":5},true,{"id":6,"title":7,"description":8,"long_description":9,"image":10,"image_url":10,"technologies":11,"category":17,"github_url":18,"demo_url":19,"featured":4,"status":20,"created_at":21,"updated_at":22,"problem":23,"approach":24,"trouble":25,"result_metric":26,"result_label":27,"role":28,"year":18,"tier":29,"link_status":30,"title_ko":31,"description_ko":32,"problem_ko":33,"approach_ko":34,"trouble_ko":35,"result_label_ko":36},"2fa53735-1c8d-4b71-89bd-62aa265756c1","Law4Kor","RAG legal-information system that answers foreign students' questions about Korean law with citations.","Retrieval-augmented legal assistant for foreign students in Korea. Grounds every answer in real statutes via pgvector, streams responses over SSE, deployed behind Caddy.","https:\u002F\u002Fatpyngridfrvfrbwkyyu.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fproject-images\u002Fkorean-law-rag.jpeg",[12,13,14,15,16],"RAG","pgvector","FastAPI","OpenRouter","Caddy","AI",null,"https:\u002F\u002Flaw4kor.uz","Live","2026-07-18T10:55:07.805217+00:00","2026-09-21T07:50:15.855+00:00","Foreign students in Korea face legal questions where a wrong answer is expensive, and machine-translated statute is not trustworthy enough to act on.","Hybrid retrieval over a Korean statute corpus: dense pgvector search and sparse search fused with reciprocal rank fusion, then a calibrated reranker. Answers in plain English, every claim linked back to its source article.","The scope filter silently let the wrong statute through. Authority-lane hits arrive in two shapes — a statute ARTICLE carries statute_name_ko, but a statute-tier CHUNK (an English KLRI translation) has statute_name_ko=None and its name in title. Matching on the Korean name alone meant a Commercial Building Lease Protection Act chunk survived a residential-scope query untouched. Reproduced it before fixing, then matched on both shapes.","332","tests across the retrieval and answer pipeline","Solo build","case","live","","한국 거주 외국인 학생을 위한 법률 정보 RAG 시스템. 한국 법령을 근거와 함께 쉬운 영어로 설명합니다.","한국에 있는 외국인 학생은 답을 잘못 알면 대가가 큰 법률 문제를 마주하는데, 기계 번역된 법령은 그대로 믿고 행동하기에는 신뢰하기 어렵습니다.","한국 법령 코퍼스 위의 하이브리드 검색입니다. pgvector 기반 dense 검색과 sparse 검색을 RRF로 융합한 뒤 캘리브레이션된 reranker를 거칩니다. 답변은 쉬운 영어로 제공하고, 모든 주장은 원 조문으로 링크됩니다.","범위 필터가 엉뚱한 법령을 조용히 통과시키고 있었습니다. authority 레인의 검색 결과는 두 가지 형태로 들어오는데, 법령 ARTICLE은 statute_name_ko를 갖지만 statute-tier CHUNK(영문 KLRI 번역본)는 statute_name_ko가 None이고 이름이 title에 있습니다. 한국어 이름만으로 매칭하다 보니 상가건물 임대차보호법 청크가 주거 범위 질의에서 그대로 살아남았습니다. 먼저 재현한 뒤 두 형태 모두에 대해 매칭하도록 고쳤습니다.","검색·답변 파이프라인 전반의 테스트",{"data":38},[39,42,45,48,51,52,55,58,61,64,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113],{"title":40,"title_ko":18,"featured":4,"created_at":41},"scenefile","2026-10-14T08:25:03.956596+00:00",{"title":43,"title_ko":31,"featured":4,"created_at":44},"MoykaGo","2026-09-10T08:30:04.940981+00:00",{"title":46,"title_ko":18,"featured":4,"created_at":47},"JobHunterKR","2026-07-20T09:00:00+00:00",{"title":49,"title_ko":18,"featured":4,"created_at":50},"Hannim","2026-07-19T10:55:07.805217+00:00",{"title":7,"title_ko":31,"featured":4,"created_at":21},{"title":53,"title_ko":18,"featured":4,"created_at":54},"TraWell","2026-07-17T10:55:07.805217+00:00",{"title":56,"title_ko":18,"featured":4,"created_at":57},"GroupWrapped","2026-07-16T10:55:07.805217+00:00",{"title":59,"title_ko":18,"featured":4,"created_at":60},"FootHost","2026-07-16T08:17:25.770148+00:00",{"title":62,"title_ko":18,"featured":4,"created_at":63},"Sening Toy","2026-07-16T06:17:25.770148+00:00",{"title":65,"title_ko":18,"featured":66,"created_at":67},"Stadium Map",false,"2026-07-16T04:17:25.770148+00:00",{"title":69,"title_ko":18,"featured":66,"created_at":70},"UniBridge","2026-07-16T02:23:30.769478+00:00",{"title":72,"title_ko":18,"featured":66,"created_at":73},"Toto Planner","2026-07-16T00:23:30.769478+00:00",{"title":75,"title_ko":18,"featured":66,"created_at":76},"Mekan Games","2026-07-15T22:43:35.782538+00:00",{"title":78,"title_ko":18,"featured":66,"created_at":79},"ManageBirthday","2026-07-15T20:43:35.782538+00:00",{"title":81,"title_ko":18,"featured":4,"created_at":82},"Boardroom","2026-07-15T10:55:07.805217+00:00",{"title":84,"title_ko":18,"featured":66,"created_at":85},"Token Saver","2026-07-14T10:55:07.805217+00:00",{"title":87,"title_ko":18,"featured":66,"created_at":88},"GeoLeads","2026-07-13T10:55:07.805217+00:00",{"title":90,"title_ko":18,"featured":66,"created_at":91},"Rival Radar","2026-07-12T10:55:07.805217+00:00",{"title":93,"title_ko":18,"featured":66,"created_at":94},"Shorts Maker","2026-07-11T10:55:07.805217+00:00",{"title":96,"title_ko":18,"featured":66,"created_at":97},"ChessCoach","2026-07-10T10:55:07.805217+00:00",{"title":99,"title_ko":18,"featured":66,"created_at":100},"ScanDina","2026-07-09T10:55:07.805217+00:00",{"title":102,"title_ko":18,"featured":66,"created_at":103},"VoiceDesk","2026-07-08T10:55:07.805217+00:00",{"title":105,"title_ko":18,"featured":66,"created_at":106},"UniDesk","2026-07-07T10:55:07.805217+00:00",{"title":108,"title_ko":18,"featured":66,"created_at":109},"Hakgil","2026-07-06T10:55:07.805217+00:00",{"title":111,"title_ko":18,"featured":66,"created_at":112},"BIGPIT","2026-07-05T10:55:07.805217+00:00",{"title":114,"title_ko":18,"featured":66,"created_at":115},"Pose Coach","2026-07-04T10:55:07.805217+00:00",{"success":4,"data":117},{}]