How maheshshelke05/ghostly-releases works
Ghostly AI is an Electron interview assistant whose main workflow is to configure a session and API credentials, capture interview audio or a screen, transcribe or analyze that input, and present AI answers with question history. The graph follows the sampled renderer and Electron entry points; provider and IPC internals are only represented at the supported module level because their implementations were not sampled.
Main entry points: Home.tsx Interview workspace · App.tsx App flow · main.ts Electron main · useStore.ts App and session state
Components 24
Session setup
- App flow
src/App.tsx - Interview setup
src/pages/InterviewSetupPage.tsx - API setup
src/pages/ApiSetupPage.tsx - Audio setup
src/pages/AudioSetupPage.tsx
Desktop runtime
- Electron main
electron/main.ts - Renderer bridge
electron/preload.ts - System hotkeys
electron/hotkeys.ts - Screen capture
electron/capture.ts - Stealth controls
electron/stealth.ts
Interview workflow
- Interview workspace
src/pages/Home.tsx - Audio capture
src/hooks/useInterviewAudio.ts - Screenshot compression
src/lib/utils/imageCompressor.ts - Interview prompts
src/lib/prompts.ts - Transcript display
src/components/LiveTranscriptBar.tsx - Answer display
src/components/SolutionCard.tsx - QA history
src/components/InterviewHistoryModal.tsx
AI services
- Deepgram speech API
- AI provider clients
src/lib/ai
Session state
- App and session state
src/store/useStore.ts - Desktop persistence
electron/ipc.ts
Other components
- Candidate
- Screen content
- Interview audio
- AI provider APIs
Connections 35
- Candidate → App flow: uses
- App flow → App and session state: loads state
- App flow → Desktop persistence: loads saved data
- App flow → Interview setup: routes to
- App flow → API setup: routes to
- App flow → Audio setup: routes to
- App flow → Interview workspace: opens workspace
- Interview setup → App and session state: sets session
- API setup → App and session state: sets credentials
- API setup → Desktop persistence: saves settings
- Audio setup → App and session state: sets audio options
- Interview workspace → App and session state: reads and updates
- Interview workspace → Screen capture: requests capture
- Screen content → Screen capture: provides image
- Screen capture → Interview workspace: returns image
- Interview workspace → Screenshot compression: compresses image
- Interview workspace → Interview prompts: builds prompts
- Interview workspace → AI provider clients: requests streamed answer
- AI provider clients → AI provider APIs: calls provider API
- AI provider clients → Interview workspace: streams answer
- Interview audio → Audio capture: provides audio
- Audio capture → Deepgram speech API: streams audio
- Deepgram speech API → Audio capture: returns transcript
- Audio capture → App and session state: updates session
- Interview workspace → Transcript display: passes live text
- Interview workspace → Answer display: passes answer
- Interview workspace → QA history: passes history
- Interview workspace → Desktop persistence: saves session data
- Electron main → Renderer bridge: exposes bridge
- Renderer bridge → Interview workspace: forwards IPC events
- Electron main → Screen capture: dispatches capture
- Electron main → System hotkeys: registers hotkeys
- System hotkeys → Interview workspace: sends commands
- Electron main → Stealth controls: applies display controls
- Electron main → Desktop persistence: registers IPC handlers