-
-
Homepage
-
Ask any home service or improvement task you need help with
-
JustRelay AI agent chat
-
JustRelay AI agent assisting with who to contact and how to communicate
-
JustRelay AI agent identifies relevant service providers within your neighborhood autonomously
-
Different type of service providers researched by JustRelay AI agent
-
Admin user can speak with JustRelay AI agent to identify exclusive and specific service providers
What inspired us
Every Western expat who has lived in Korea knows the feeling: something breaks, you need a plumber or a cleaner, and suddenly you're staring at Naver Map listings written entirely in Korean with no idea which providers are trustworthy, how to contact them, or whether they'll even respond to someone who doesn't speak the language. The best local services live on Korean-only platforms - such as Naver Map, Daangn - that are functionally invisible to most expats. We built justrelay to close that gap entirely.
What we built
A high-fidelity, interactive frontend prototype of an AI concierge platform. Users describe their home service need in plain English. The simulated AI searches a curated, vetted directory of local providers. Because many local Korean providers require direct messaging rather than automated booking, the AI generates precise bilingual (English and Korean) message templates. Users can simply click to copy the Korean text and paste it to the provider via KakaoTalk or SMS. The admin side features a robust console UI to manage users, curate the business directory, and interact with a simulated research assistant chat interface designed to stage new providers.
How we built it
We built a robust Single Page Application (SPA) using React 18, TypeScript, and Tailwind CSS for a clean, modern aesthetic. To rapidly validate the user experience and complex workflows without backend dependencies blocking UI development, we implemented a comprehensive client-side state management system using React Context. This simulates the entire full-stack lifecycle, from user authentication and role-based route guarding to threaded AI conversations, status updates, and directory management, using in-memory mock data. This frontend architecture is structured so it can be easily wired up to our deployed Node.js backend and MongoDB cluster in the next phase.
Challenges we ran into
A major UX challenge was handling the "last mile" of booking. Many local Korean service providers don't use automated web forms; they rely on direct text or KakaoTalk messages. We couldn't just have the AI say "call this number," as that defeats the purpose of removing the language barrier. We solved this by designing the bilingual message generation feature: the AI crafts the exact request in natural Korean, presented in a dedicated UI block with a one-click "Copy" button, alongside the English translation for user confidence. Another challenge was building a seamless, threaded chat interface that could elegantly render these structured AI responses (markdown, copyable blocks) alongside standard conversational text, system status updates, and post-service rating panels.
Built With
- bcryptjs
- cors
- daangn
- drizzle
- esbuild
- express.js
- framer
- gemini
- google-maps
- helmet
- mongodb
- naver-maps
- node.js
- openapi
- openrouter
- orval
- pino
- pnpm
- postgresql
- react
- tailwind
- typescript
- vertex
- vite
- wouter
- zod


Log in or sign up for Devpost to join the conversation.