JAVA DESKTOP / AI INTEGRATION
Turning interview preparation into a Java application.
An AI-powered interview coaching desktop application built with Java 17 and JavaFX 20, integrating Gemini and OpenRouter with MySQL persistence, account access, and gamification.
- CONTEXT
- Independent project
- CONTRIBUTION
- Java application development
- Java 17
- JavaFX 20
- MySQL
- Maven
- Gemini
- OpenRouter
- DAO
- BCrypt

The system behind the interface.
Interview preparation brings together an interactive user experience, personalized coaching, and saved progress. This project combines a Java desktop interface with database-backed application features and external AI services.
What I worked on.
- Built a Java desktop application for AI-assisted interview preparation and coaching.
- Integrated Gemini and OpenRouter for personalized AI coaching features.
- Implemented MySQL persistence through a DAO architecture, with BCrypt password hashing and role-based access.
- Added gamification alongside the interview preparation experience.
How the pieces connect.
An original diagram of the documented stack and application boundaries.
- 01JavaFX 20
Desktop screens present interview preparation, account access, and coaching.
- 02Java 17 application
Application logic connects the interface with persistence and AI integrations.
- 03DAO + MySQL
Data access objects separate database persistence from the desktop interface.
- 04Gemini + OpenRouter
Two documented provider integrations supply AI coaching capabilities.
Decisions and their tradeoffs.
Separate persistence with data access objects.
The documented DAO architecture gives MySQL access a distinct boundary. It reduces the need for database-specific work in interface code while requiring explicit data mapping and connection handling.
Integrate AI as an application dependency.
Gemini and OpenRouter bring external model capabilities into the Java application. These integrations also introduce network latency, provider availability, and response handling as concerns to verify alongside the desktop workflow.
Combine coaching with account access.
The application documents role-based access and BCrypt password hashing. These address account permissions and password storage; they should be reviewed together with session behavior and access to saved user data.
A clear review checklist.
- Account creation, sign-in, role restrictions, and password handling.
- Saved interview data and consistency between JavaFX interactions and MySQL persistence.
- Coaching responses from each provider, unavailable-provider behavior, and application responsiveness during requests.
What the project demonstrates.
Desktop software with AI integrations still depends on familiar engineering boundaries: interface, application logic, database access, and external services.
Provider behavior and network failures deserve the same attention as successful coaching responses when reviewing the user experience.