Skip to content

Commit 699447f

Browse files
committed
Initial commit
1 parent 9559b98 commit 699447f

9 files changed

+1315
-1
lines changed

.gitignore

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
lerna-debug.log*
8+
.pnpm-debug.log*
9+
10+
# Diagnostic reports (https://nodejs.org/api/report.html)
11+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12+
13+
# Runtime data
14+
pids
15+
*.pid
16+
*.seed
17+
*.pid.lock
18+
19+
# Directory for instrumented libs generated by jscoverage/JSCover
20+
lib-cov
21+
22+
# Coverage directory used by tools like istanbul
23+
coverage
24+
*.lcov
25+
26+
# nyc test coverage
27+
.nyc_output
28+
29+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30+
.grunt
31+
32+
# Bower dependency directory (https://bower.io/)
33+
bower_components
34+
35+
# node-waf configuration
36+
.lock-wscript
37+
38+
# Compiled binary addons (https://nodejs.org/api/addons.html)
39+
build/Release
40+
41+
# Dependency directories
42+
node_modules/
43+
jspm_packages/
44+
45+
# Snowpack dependency directory (https://snowpack.dev/)
46+
web_modules/
47+
48+
# TypeScript cache
49+
*.tsbuildinfo
50+
51+
# Optional npm cache directory
52+
.npm
53+
54+
# Optional eslint cache
55+
.eslintcache
56+
57+
# Optional stylelint cache
58+
.stylelintcache
59+
60+
# Microbundle cache
61+
.rpt2_cache/
62+
.rts2_cache_cjs/
63+
.rts2_cache_es/
64+
.rts2_cache_umd/
65+
66+
# Optional REPL history
67+
.node_repl_history
68+
69+
# Output of 'npm pack'
70+
*.tgz
71+
72+
# Yarn Integrity file
73+
.yarn-integrity
74+
75+
# dotenv environment variable files
76+
.env
77+
.env.development.local
78+
.env.test.local
79+
.env.production.local
80+
.env.local
81+
82+
# parcel-bundler cache (https://parceljs.org/)
83+
.cache
84+
.parcel-cache
85+
86+
# Next.js build output
87+
.next
88+
out
89+
90+
# Nuxt.js build / generate output
91+
.nuxt
92+
dist
93+
94+
# Gatsby files
95+
.cache/
96+
# Comment in the public line in if your project uses Gatsby and not Next.js
97+
# https://nextjs.org/blog/next-9-1#public-directory-support
98+
# public
99+
100+
# vuepress build output
101+
.vuepress/dist
102+
103+
# vuepress v2.x temp and cache directory
104+
.temp
105+
.cache
106+
107+
# Docusaurus cache and generated files
108+
.docusaurus
109+
110+
# Serverless directories
111+
.serverless/
112+
113+
# FuseBox cache
114+
.fusebox/
115+
116+
# DynamoDB Local files
117+
.dynamodb/
118+
119+
# TernJS port file
120+
.tern-port
121+
122+
# Stores VSCode versions used for testing VSCode extensions
123+
.vscode-test
124+
125+
# yarn v2
126+
.yarn/cache
127+
.yarn/unplugged
128+
.yarn/build-state.yml
129+
.yarn/install-state.gz
130+
.pnp.*

README.md

+22-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,22 @@
1-
# HireGPT
1+
# HireGPT
2+
3+
![demo](demo.png)
4+
5+
No one (ever) enjoys writing job applications 🙅🏻‍♂️ Just type in a few details like company name, your background, and job position, then the HireGPT will use OpenAI GPT model to generate the writings needed in your next job application (e.g. message to hiring manager, cover letter, etc).
6+
7+
# How to use
8+
9+
Download the Github repo:
10+
```
11+
git clone https://github.com/jaejaywoo/HireGPT.git
12+
```
13+
14+
Install all the necessary dependencies:
15+
```
16+
npm install
17+
```
18+
19+
Run the app:
20+
```
21+
npm run start
22+
```

demo.png

522 KB
Loading

index.html

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=DM Sans">
8+
<link href="styles.css" rel="stylesheet" type="text/css">
9+
</head>
10+
<body>
11+
<!-- API Key page -->
12+
<div id="api-key-page" class="center">
13+
<div class="center"><h1 id="name">HireGPT</h1></div>
14+
<br><br>
15+
<label for="api-key-txt" id="api-key-label">Your OpenAI API key</label>
16+
<input type="text" id="api-key-txt">
17+
<button id="api-key-btn" type="submit">Apply</button>
18+
</div>
19+
20+
<!-- Main page -->
21+
<div id="main-page" class="center">
22+
<div class="center"><h1 id="name">HireGPT</h1></div>
23+
<!-- <div id="nav-bar" class="center">
24+
<button>Cover Letter</button>
25+
<button>Why</button>
26+
</div> -->
27+
<div id="main-sub-page">
28+
<!-- Generated prompt -->
29+
<div id="answer">Generated output will be displayed here</div>
30+
<!-- User & company info -->
31+
<div id="info-section">
32+
<label for="company-info">Company Name</label>
33+
<input type="text" id="company-info">
34+
<br><br>
35+
<label for="user-background">Your Background</label>
36+
<textarea id="user-background" rows="5" cols="50"></textarea>
37+
<br><br>
38+
<label for="job-position">Job Position</label>
39+
<input type="text" id="job-position">
40+
<button id="generate-btn" type="submit">Generate</button>
41+
<button id="go-back-btn">Go back</button>
42+
</div>
43+
</div>
44+
</div>
45+
<script src="./renderer.js"></script>
46+
</body>
47+
</html>

main.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const { app, BrowserWindow } = require('electron');
2+
3+
const createWindow = () => {
4+
const win = new BrowserWindow({
5+
width: 1300,
6+
height: 1000,
7+
titleBarStyle: 'hidden'
8+
});
9+
10+
win.loadFile('index.html');
11+
// win.webContents.openDevTools() // Debugger
12+
};
13+
14+
app.whenReady().then(() => {
15+
createWindow();
16+
17+
app.on('activate', () => {
18+
if (BrowserWindow.getAllWindows().length === 0) {
19+
createWindow();
20+
}
21+
});
22+
});
23+
24+
app.on('window-all-closed', () => {
25+
if (process.platform !== 'darwin') {
26+
app.quit();
27+
}
28+
});

0 commit comments

Comments
 (0)