Skip to content

amitharor/Lyra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lyra Splash Screen

LYRA – AI Powered Resume Optimization

React TypeScript Vite Node.js Express.js Tailwind CSS Supabase PostgreSQL OpenAI Spline


OVERVIEW

Lyra is a comprehensive web application designed to help job seekers optimize their resumes for specific job applications using AI technology. The platform streamlines the entire job application process by providing intelligent resume analysis, ATS optimization, and centralized application tracking.

Demo Watch the full walkthrough video on YouTube:

YouTube Demo

FEATURES

πŸ€– AI Powered Resume Enhancement

  • Intelligent Analysis: Leverages OpenAI's API to analyze resumes and provide detailed feedback on clarity, organization, and ATS optimization
  • Job Specific Tailoring: Automatically rewrites resumes to align with specific job descriptions while maintaining the candidate's unique voice
  • Real-time Feedback: Provides instant analysis with actionable improvement suggestions

πŸ“Š Comprehensive Application Management

  • Centralized Dashboard: Track all job applications, companies, and resume versions in one intuitive interface
  • Application Status Tracking: Monitor application progress through various stages (pending, interviews, offers, etc.)
  • Interview & Contact Management: Store interview dates, outcomes, and recruiter contact information

πŸ“„ Document Management

  • PDF Processing: Utilizes pdf-parse library for accurate text extraction from resume PDFs
  • Secure Storage: Encrypted document storage via Supabase with version control for both original and enhanced resumes
  • Easy Downloads: Export AI optimized resumes as PDFs with a single click R

πŸ” Authentication & Security

  • Multiple Auth Options: Supports email/password and OAuth 2.0 providers (Google, GitHub, LinkedIn, Microsoft, Apple, Twitter/X, Meta)
  • Secure Sessions: Built on Supabase Auth for enterprise grade security
  • User Privacy: All data is encrypted and user specific

🎨 Modern User Interface

  • Responsive Design: Built with React, TypeScript, and Tailwind CSS for a seamless experience across devices
  • Interactive Elements: Features dynamic Spline 3D backgrounds and smooth animations
  • Weather Integration: Includes a weather widget for a personalized dashboard experience
  • Quick Access: Direct links to major job boards and skill building platforms

STACK

Frontend

React TypeScript Vite Tailwind CSS Spline

  • Framework: React 18 with Vite
  • Language: TypeScript for type safety and better developer experience
  • Styling: Tailwind CSS with custom glassmorphism effects
  • 3D Graphics: Spline for interactive backgrounds
  • State Management: React hooks and context

Backend

Node.js Express.js TypeScript OpenAI

  • Runtime: Node.js with TypeScript
  • Framework: Express.js for RESTful API endpoints
  • AI Integration: OpenAI API for resume analysis and optimization
  • File Processing: Multer for file uploads, pdf-parse for PDF text extraction

Database & Storage

Supabase PostgreSQL

  • Database: PostgreSQL via Supabase
  • File Storage: Supabase Storage for secure document management
  • Authentication: Supabase Auth with multiple OAuth providers

External APIs

  • Weather: Tomorrow.io API for real-time weather data
  • AI Processing: OpenAI GPT models for resume analysis

GETTING STARTED

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Supabase account
  • OpenAI API key
  • Tomorrow.io API key (for weather feature)

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/lyrax.git
cd lyrax
  1. Install dependencies for both client and server:
# Install root dependencies
npm install

# Install client dependencies
cd client
npm install

# Install server dependencies
cd ../server
npm install
  1. Set up environment variables:

Create .env file in the server directory:

# Server
PORT=3000
BASE_URL=http://localhost:5173

# Supabase
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# OpenAI
OPENAI_API_KEY=your_openai_api_key

# Weather API
TOMORROW_IO_API_KEY=your_tomorrow_io_api_key

Create .env file in the client directory:

# Supabase
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_anon_key

# Server
VITE_SERVER_URL=http://localhost:3000
VITE_API_URL=http://localhost:3000
  1. Set up Supabase database:

    • Create the required tables (users, resumes, companies, jobs, applications, interviews, contacts)
    • Set up storage buckets for resume files
    • Configure authentication providers
  2. Start the development servers:

# Start the backend server (from server directory)
npm run dev

# Start the frontend (from client directory)
npm run dev

The application will be available at http://localhost:5173

USAGE

  1. Sign Up/Login: Create an account using email or OAuth providers
  2. Upload Resume: Upload your base resume as a PDF
  3. Add Application: Click "NEW" to add a job application with:
    • Company information
    • Job position and location
    • Job description
    • Your resume selection
  4. AI Analysis: The system will analyze your resume and create an optimized version
  5. Track Progress: Update application status, add interview notes, and manage contacts
  6. Download: Export your AI-optimized resume as a PDF

PROJECT STRUCTURE

lyrax/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # React components
β”‚   β”‚   β”œβ”€β”€ assets/        # Images and icons
β”‚   β”‚   └── utils/         # Utility functions
β”‚   └── package.json
β”œβ”€β”€ server/                # Node.js backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/        # API endpoints
β”‚   β”‚   β”œβ”€β”€ utils/         # Helper functions
β”‚   β”‚   └── config/        # Server configuration
β”‚   └── package.json
└── README.md

API ENDPOINTS

  • POST /api/resumes/upload - Upload and analyze resume
  • POST /api/resumes/improve - Generate job-specific resume
  • GET /api/resumes - Fetch user's resumes
  • POST /api/applications/create - Create new application
  • POST /api/companies/create - Add new company
  • GET /api/companies - Fetch user's companies
  • POST /api/jobs/create - Create job posting
  • GET /api/weather - Fetch weather data

CONTRIBUTING

Contributions are welcome! Please feel free to submit a Pull Request.

LICENSE

This project is licensed under the MIT License - see the LICENSE file for details.

About

AI Powered Resume Optimization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published