mooner / Resume KO/EN /

mooner:~/resume $ cat projects/agora/README.md

AGORA

Multi-agent decision system

A decision tool: submit an agenda and LLM agents with different roles debate it round by round, then write a report with the conclusion, its grounds, conditions and remaining risks.

mooner:~/resume/projects/agora $ tree -L 1

Structure01

구조

06 parts

A Ktor backend, a SvelteKit frontend and an extraction service for web pages. LLM calls go through an in-house client library that treats Claude, Gemini and OpenAI-compatible APIs the same way.

orchestration/
The orchestrator that runs an agenda, context assembly, the discussion event bus and per-role prompts.
nexus/
Web grounding: searches with SearXNG, fetches page text through the extractor and hands both to the agents as tools.
service/pdf
Extracts text from attached PDFs and estimates their token count up front.
extractor
An internal FastAPI service that turns a URL into Markdown and metadata with Trafilatura.
frontend
Writing agendas, watching the debate live, reports, per-role prompt and model settings, token usage stats.
auth
Passkey (WebAuthn) and TOTP sign-in.

mooner:~/resume/projects/agora $ cat docs/architecture.md

Architecture02

아키텍처

Data flow

SVELTEKIT UIagenda · live viewKTORorchestrator · roundsround nCTOCCO / CMODECISION MGRSEARXNGweb search toolEXTRACTORTrafilaturaPOSTSSEtool// statements and tool calls stream// to the page as they happen

The debate runs on the server round by round, and every statement and tool call streams to the frontend over SSE. Agents call a web search tool when they need grounds.

  • Four roles: CTO, CCO/CMO, a decision manager, and a small model for summaries. Each role’s system prompt and model can be changed.
  • Each agenda sets its maximum rounds, a token budget and per-perspective weights, and can carry a PDF.
  • The frontend reads the fetch stream itself and renders statements, tool calls starting and finishing, and search results as they arrive.
  • The report holds the conclusion, confidence, key grounds, conditions, remaining risks and what would trigger a review.

mooner:~/resume/projects/agora $ git log --grep=fix

Problem solving03

문제 해결

00 cases

// Being written.

Accepting requestsAnsan --:-- KST

mooner:~/resume $ ./contact.sh

Contact→

Name
문민기 / Minki Moon
Handle
@mooner
Base
Ansan, KR

Happy to trade coffee for conversation.

If anything here catches your eye, feel free to reach out.

// ping me anytime — i read all.

© 2026 Minki Mooncrafted with monospace affection · rev 2026.10.18