Built by Sysfora
Tudso is a floating desktop AI assistant made by Sysfora to help users prepare for interviews, improve communication, and answer with greater clarity and speed. It blends a polished local desktop experience with a secure backend for AI orchestration, resume parsing, account management, and subscription enforcement.
Sysfora creates focused, practical software tools that reduce friction and improve real-world outcomes. Tudso is one of the company’s desktop-first AI products designed to make interview preparation feel fast, personal, and useful at the moment of need.
Many interview prep tools are either too generic, too noisy, or too disconnected from the user’s real context. Tudso focuses on the practical path:
- use the user’s resume and profile as context
- answer in the user’s preferred language
- keep answers concise and immediately usable
- adapt to the company, role, and situation
- support live screen and audio-aware assistance in a desktop workflow
The result is a focused desktop experience for rapid, real-time answer generation without forcing the user into a heavy browser flow.
- Resume onboarding and extraction
- Profile-aware AI answers
- Company and role context support
- Preferred answer language support
- Session setup with plan and usage metadata
- Live copilot and screen-based answer workflows
- Conversation memory and context persistence
- Secure backend-only secret handling
- Stripe billing and entitlement checks
- Desktop app packaging for Linux, macOS, and Windows
Tudso is designed to feel like a lightweight companion:
- a floating, non-intrusive desktop surface
- concise answers instead of long-winded explanations
- AI context informed by user experience, resume, and goals
- minimal friction during session setup and answer generation
- quick actions like answer-from-screen and live copilot without cluttering the UI
┌──────────────────────────────────────────────┐
│ Electron Desktop App │
│ Renderer UI • Window controls • Capture │
│ Secure preload • Local app state │
└──────────────────────┬───────────────────────┘
│
│ IPC / authenticated API calls
▼
┌──────────────────────────────────────────────┐
│ Backend Service │
│ Auth • AI orchestration • Sessions │
│ Resume parsing • Memory • Profile logic │
│ Entitlements • Stripe integrations │
└──────────────────────┬───────────────────────┘
│
┌────────────┴────────────┐
▼ ▼
PocketBase Stripe
This separation keeps provider keys, billing secrets, and admin-level access in the backend instead of exposing them to the renderer.
- Electron
- React 19
- Vite
- TypeScript
- Tailwind CSS
- Zustand
- PocketBase
- OpenAI-compatible AI backend
- Stripe
# install root deps
npm install
# install server deps
cd server && npm installThen configure the app and backend environment, then run:
npm run devThis starts the application in development mode with the backend and UI connected together.
npm run buildnpm run typechecknpm run lintnpm testnpm run packagePlatform-specific packaging is also supported:
npm run package:linux
npm run package:mac
npm run package:winnpm run dev # start app in dev mode
npm run build # build the server side
npm run typecheck # TypeScript verification
npm run lint # project linting
npm run test # backend tests
npm run package # package the desktop app.
├── src/
│ ├── main/
│ ├── preload/
│ ├── renderer/
│ └── shared/
├── server/
│ ├── src/
│ ├── public/
│ ├── data/
│ └── scripts/
├── scripts/
├── public/
├── EmailStructures/
├── build/
├── resources/
├── LICENSE
├── README.md
├── POCKETBASE_SETUP.md
├── STRIPE_SETUP.md
├── pb_schema.json
├── package.json
├── tsconfig.json
├── tsconfig.app.json
├── tsconfig.node.json
├── vite.config.ts
└── eslint.config.js
Before running the app, make sure the required environment is configured:
- PocketBase is running and the schema is imported
- Stripe plan setup is configured for subscriptions
- AI provider credentials are available to the backend only
- local desktop permissions are enabled where applicable
See:
POCKETBASE_SETUP.mdSTRIPE_SETUP.md
Tudso is designed with a few strong safety principles:
- renderer code stays separate from secrets and billing logic
- AI provider access is backend-only
- subscription enforcement is server-side
- permission requests are limited to actual desktop features
- context, profile, and session data stay scoped to the user and device profile
The backend builds personalized prompts from:
- user profile data
- resume content
- goals and skill information
- remembered facts
- plan and session metadata
- answer preference settings such as language and tone
This makes the assistant more useful without requiring the user to manually repeat the same details every time.
Planned product evolution includes:
- richer multi-step interview flows
- stronger resume intelligence and better extracted context
- tighter live-copilot orchestration
- more session analytics and improvement metrics
- additional language and localization support
- more polished desktop interactions across Linux, macOS, and Windows
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
The full license text is in the LICENSE file.
AGPL 3.0 is a copyleft license intended to preserve open-source freedoms for users of networked software. If you modify and run this service in a way that users interact with over a network, the corresponding source must remain available under the same terms.
Contributions are welcome. If you are improving user experience, fixing bugs, enhancing interview prompts, or strengthening the desktop experience, feel free to open a pull request.
Tudso is an active desktop AI product under active iteration, with ongoing work focused on onboarding flow improvements, session setup, permissions, AI prompt quality, and desktop polish.
- Project: Sysfora
- Repository: https://github.com/Sysfora/Tudso