Skip to content

praaatap/Resumint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resumint Logo

Resumint

Mint Your Perfect Resume

React Native Expo TypeScript Build Status License

FeaturesScreenshotsInstallationProject StructureTech Stack


Overview

Resumint is a premium, AI-powered resume builder mobile application built with React Native and Expo. Create professional, ATS-friendly resumes in minutes with intelligent suggestions, beautiful templates, and seamless PDF export.

Build Resumes Fast AI-Powered Optimization Export Anywhere
Professional templates Smart content suggestions PDF, DOCX support
Guided builder ATS score analysis Share instantly
Auto-save Grammar checking Print-ready

Features

Resume Builder

  • Step-by-step guided resume creation
  • Professional templates (Modern, Executive, Creative)
  • Auto-save with local persistence
  • Real-time preview

AI Assistant

  • Smart content rewriting
  • ATS compatibility scoring
  • Keyword optimization
  • Grammar and impact analysis

Export Options

  • High-quality PDF generation
  • Print and share functionality
  • Email integration
  • Multiple format support

Premium Design

  • Deep Teal and Mint color scheme
  • Smooth animations with Reanimated
  • Haptic feedback
  • Native toast notifications

Tech Stack

Category Technologies
Framework React Native Expo
Language TypeScript
State Zustand
Navigation Expo Router
Animations Reanimated Moti
Backend Appwrite
AI OpenAI
Storage AsyncStorage

Installation

Prerequisites

  • Node.js 18+ or Bun
  • Expo CLI
  • iOS Simulator / Android Emulator or physical device

Quick Start

# Clone the repository
git clone https://github.com/yourusername/resumint.git
cd resumint

# Install dependencies
bun install
# or
npm install

# Start the development server
bun start
# or
npx expo start

Running on Device

# iOS
bun run ios

# Android
bun run android

# Web
bun run web

Project Structure

resumint/
├── app/                          # Expo Router screens
│   ├── (auth)/                   # Authentication screens
│   │   ├── _layout.tsx           # Auth layout
│   │   ├── login.tsx             # Login screen
│   │   ├── register.tsx          # Registration screen
│   │   ├── onboarding.tsx        # Onboarding flow
│   │   └── start.tsx             # Welcome screen
│   │
│   ├── (tabs)/                   # Main tab navigation
│   │   ├── _layout.tsx           # Tab bar configuration
│   │   ├── index.tsx             # Home dashboard
│   │   ├── templates.tsx         # Template gallery
│   │   ├── resumes.tsx           # My resumes list
│   │   ├── analysis.tsx          # AI assistant chat
│   │   └── profile.tsx           # User profile
│   │
│   ├── builder/                  # Resume builder flow
│   │   ├── _layout.tsx
│   │   └── new.tsx               # New resume creation
│   │
│   ├── preview/                  # Resume preview
│   │   └── [id].tsx              # Dynamic preview screen
│   │
│   ├── resume-editor/            # Resume editing
│   │   └── [id].tsx              # Dynamic editor screen
│   │
│   ├── _layout.tsx               # Root layout
│   ├── index.tsx                 # Entry redirect
│   ├── export.tsx                # PDF export screen
│   ├── settings.tsx              # App settings
│   ├── premium.tsx               # Premium upgrade
│   └── modal.tsx                 # Modal template
│
├── components/                   # Reusable components
│   ├── ui/                       # UI primitives
│   │   ├── Button.tsx
│   │   ├── Input.tsx
│   │   ├── Card.tsx
│   │   └── ...
│   ├── AppText.tsx               # Typography component
│   ├── Button.tsx                # Primary button
│   ├── Input.tsx                 # Form input
│   └── SplashScreen.tsx          # Custom splash
│
├── constants/                    # App constants
│   ├── theme.ts                  # Colors, spacing, typography
│   └── index.ts                  # Exports
│
├── hooks/                        # Custom React hooks
│   ├── useResumePersistence.ts   # Resume storage hook
│   ├── use-color-scheme.ts       # Theme detection
│   └── use-theme-color.ts        # Theme colors
│
├── lib/                          # Core libraries
│   ├── appwrite.ts               # Appwrite client
│   ├── auth.ts                   # Authentication service
│   ├── resume.ts                 # Resume service
│   └── AuthContext.tsx           # Auth provider
│
├── services/                     # External services
│   ├── ai/                       # AI integration
│   │   ├── config.ts             # AI configuration
│   │   ├── service.ts            # AI service methods
│   │   └── index.ts
│   ├── appwrite/                 # Appwrite services
│   │   ├── auth.ts
│   │   ├── database.ts
│   │   └── storage.ts
│   └── ads/                      # Ad integration
│
├── store/                        # Zustand state management
│   ├── resumeStore.ts            # Resume state
│   ├── authStore.ts              # Auth state
│   └── index.ts                  # Store exports
│
├── utils/                        # Utility functions
│   ├── pdfGenerator.ts           # PDF generation
│   ├── storage.ts                # AsyncStorage helpers
│   ├── toast.ts                  # Toast notifications
│   ├── helpers.ts                # General helpers
│   └── validation.ts             # Form validation
│
├── assets/                       # Static assets
│   └── images/                   # Images and icons
│       ├── icon.png              # App icon
│       ├── splash.png            # Splash screen
│       └── ...
│
├── app.json                      # Expo configuration
├── package.json                  # Dependencies
├── tsconfig.json                 # TypeScript config
└── tailwind.config.js            # Tailwind configuration

Key Features Explained

Resume Persistence

Resumes are automatically saved locally using AsyncStorage:

// Automatic save on every change
const { resumes } = useResumeStore();
await saveResumes(resumes);

PDF Export

Generate professional PDFs with a single tap:

import { printResume } from '@/utils/pdfGenerator';

const handleExport = async () => {
    await printResume(currentResume);
    toast.success('Exported!', 'Your resume PDF is ready.');
};

AI Integration

Smart content optimization powered by OpenAI Azure:

const analysis = await aiService.analyzeResume(resumeContent);
// Returns: ATS score, keyword matches, suggestions

Design System

Color Palette

Color Hex Usage
#0F766E Deep Teal #0F766E Primary brand color
#2DD4BF Mint #2DD4BF Accent color
#CCFBF1 Teal Light #CCFBF1 Backgrounds
#115E59 Teal Dark #115E59 Dark accents

Scripts

Command Description
bun start Start Expo development server
bun run android Run on Android device/emulator
bun run ios Run on iOS simulator
bun run web Run in web browser
bun run lint Run ESLint

Contributing

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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

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


Built with React Native and Expo

Made with passion by Your Name

GitHub Stars

About

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages