Overview
Osky AI Chatbot is an AI-powered chatbot application available as both a web app and an Electron desktop client. Built at Osky Interactive, it integrates with OpenAI for conversational AI capabilities, supports PDF document parsing and export, and includes internationalization.
Challenge
The team needed an internal AI assistant that could work both in-browser and as a standalone desktop application. It needed to handle document uploads (particularly PDFs), provide conversational AI responses via OpenAI, and support multiple user roles with different access levels. Cross-platform desktop support (macOS, Windows, Linux) was a requirement.
Approach
The backend uses Laravel 10 with React 18 via Inertia.js. The OpenAI API integration powers the conversational interface, while PDF parsing allows users to upload documents for AI analysis. For the desktop version, I built an Electron wrapper that packages the web app as a native application for macOS, Windows, and Linux.
Google OAuth via Laravel Socialite provides authentication, and Laravel Sanctum handles token-based API access. i18next enables internationalization.
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Laravel 10 |
| Frontend | React 18, TypeScript, Inertia.js |
| Styling | Tailwind CSS |
| AI | OpenAI API |
| Desktop | Electron |
| State | Zustand |
| Auth | Google OAuth via Socialite, Laravel Sanctum |
| Database | MySQL |
Key Implementation Details
- Web and Electron desktop versions targeting macOS, Windows, and Linux
- OpenAI API integration with PDF document parsing and export
- Google OAuth authentication via Socialite with Sanctum token-based API access
- Internationalization support with i18next
Outcome
The chatbot is deployed internally at Osky Interactive, serving as an AI assistant for the team with both browser and desktop access options.