How bariskisir/jevtalks works
Jev Talks is a decision-driven chat app: visitors submit a message, then the app repeatedly requests one character or one of 250 words until the model returns STOP. Optional rechecking reviews and may replace the completed answer. Chats, personal keys, and custom prompt profiles are browser-persisted; the API routes decisions to TypeSafe. The main component wiring and server behavior are only partially excerpted, so uncertain internal calls are omitted; documented capabilities are retained.
Main entry points: App.tsx App · jev.ts Jev API · api.ts API client · Composer.tsx Composer
Components 23
Chat interface
- Composer
src/components/Composer.tsx - Chat timeline
src/components/ChatTimeline.tsx - Chat sidebar
src/components/Sidebar.tsx - Settings dialog
src/components/SettingsDialog.tsx - Profile editor
src/components/PromptProfilesSettings.tsx
Chat orchestration
- App
src/App.tsx - Chat storage
src/lib/chatStorage.ts - Key storage
src/lib/keyStorage.ts - Prompt profiles
src/lib/promptProfiles.ts
Generation and review
- Letter generation
src/lib/generateReply.ts - Word generation
src/lib/generateWordReply.ts - Letter recheck
src/lib/recheckReply.ts - Word recheck
src/lib/recheckWordReply.ts - API client
src/lib/api.ts
Decision service
- Jev API
api/jev.ts - Letter protocol
src/lib/jevProtocol.ts - Word protocol
src/lib/wordProtocol.ts - Request log
api/jev.ts
Other components
- Visitor
- Browser chat store
- Browser key store
- Browser profile store
- TypeSafe service
Connections 26
- Visitor → Composer: writes message
- Composer → App: submits
- App → Chat timeline: renders conversation
- App → Chat sidebar: supplies chats
- App → Settings dialog: opens settings
- Settings dialog → Profile editor: shows profiles
- App → Chat storage: loads and saves
- Chat storage → Browser chat store: reads and writes
- App → Key storage: loads and saves key
- Key storage → Browser key store: reads and writes
- App → Prompt profiles: selects profiles
- Prompt profiles → Browser profile store: reads and writes
- Profile editor → App: changes profiles
- App → Letter generation: starts letter mode
- App → Word generation: starts word mode
- App → Letter recheck: starts letter recheck
- App → Word recheck: starts word recheck
- Letter generation → API client: requests choices
- Word generation → API client: requests choices
- Letter recheck → API client: requests review
- Word recheck → API client: requests review
- API client → Jev API: posts decisions
- Jev API → Letter protocol: builds and decodes
- Jev API → Word protocol: builds and decodes
- Jev API → TypeSafe service: sends evaluation
- Jev API → Request log: appends events