Skip to content
Back to selected workJava backend CV

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
2documented AI provider integrations
Java 17application foundation
JavaFXdesktop interface
Screenshot of the InterviewAI Java desktop application
InterviewAI application screenshot from the existing project portfolio.
THE PROBLEM

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.

CONTRIBUTIONS

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.

SYSTEM MAPInterviewAI
  1. 01JavaFX 20

    Desktop screens present interview preparation, account access, and coaching.

  2. 02Java 17 application

    Application logic connects the interface with persistence and AI integrations.

  3. 03DAO + MySQL

    Data access objects separate database persistence from the desktop interface.

  4. 04Gemini + OpenRouter

    Two documented provider integrations supply AI coaching capabilities.

Java application logic connects independently to data storage and AI providers. Architecture illustration.
ENGINEERING CHOICES

Decisions and their tradeoffs.

01

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.

02

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.

03

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.

VALIDATION

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.
TAKEAWAYS

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.