developerwoodstudios commited on
Commit
e379477
·
verified ·
1 Parent(s): 8fa000c

undefined - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +706 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Ai App App
3
- emoji: 💻
4
- colorFrom: yellow
5
- colorTo: blue
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: ai-app-app
3
+ emoji: 🐳
4
+ colorFrom: purple
5
+ colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,706 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>AI Integration Specialist | HuggingFace + Atlassian</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ .gradient-bg {
11
+ background: linear-gradient(135deg, #0052CC 0%, #2684FF 100%);
12
+ }
13
+ .card-hover {
14
+ transition: all 0.3s ease;
15
+ }
16
+ .card-hover:hover {
17
+ transform: translateY(-5px);
18
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
19
+ }
20
+ .typewriter {
21
+ overflow: hidden;
22
+ border-right: .15em solid #2684FF;
23
+ white-space: nowrap;
24
+ margin: 0 auto;
25
+ letter-spacing: .15em;
26
+ animation:
27
+ typing 3.5s steps(40, end),
28
+ blink-caret .75s step-end infinite;
29
+ }
30
+ @keyframes typing {
31
+ from { width: 0 }
32
+ to { width: 100% }
33
+ }
34
+ @keyframes blink-caret {
35
+ from, to { border-color: transparent }
36
+ 50% { border-color: #2684FF; }
37
+ }
38
+ .pulse-animation {
39
+ animation: pulse 2s infinite;
40
+ }
41
+ @keyframes pulse {
42
+ 0% {
43
+ transform: scale(1);
44
+ box-shadow: 0 0 0 0 rgba(38, 132, 255, 0.7);
45
+ }
46
+ 70% {
47
+ transform: scale(1.05);
48
+ box-shadow: 0 0 0 10px rgba(38, 132, 255, 0);
49
+ }
50
+ 100% {
51
+ transform: scale(1);
52
+ box-shadow: 0 0 0 0 rgba(38, 132, 255, 0);
53
+ }
54
+ }
55
+ </style>
56
+ </head>
57
+ <body class="bg-gray-50 font-sans antialiased">
58
+ <!-- Navigation -->
59
+ <nav class="bg-white shadow-sm">
60
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
61
+ <div class="flex justify-between h-16">
62
+ <div class="flex">
63
+ <div class="flex-shrink-0 flex items-center">
64
+ <img class="h-8 w-auto" src="https://huggingface.co/front/assets/huggingface_logo-noborder.svg" alt="HuggingFace">
65
+ <span class="mx-2 text-gray-400">+</span>
66
+ <img class="h-8 w-auto" src="https://wac-cdn.atlassian.com/dam/jcr:e348b562-4152-4cdc-8a55-3d297e509cc8/Atlassian-horizontal-blue-rgb.svg" alt="Atlassian">
67
+ </div>
68
+ </div>
69
+ <div class="hidden sm:ml-6 sm:flex sm:space-x-8">
70
+ <a href="#about" class="border-blue-500 text-gray-900 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">About</a>
71
+ <a href="#expertise" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Expertise</a>
72
+ <a href="#projects" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Projects</a>
73
+ <a href="#contact" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Contact</a>
74
+ </div>
75
+ <div class="-mr-2 flex items-center sm:hidden">
76
+ <button type="button" id="mobile-menu-button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-blue-500">
77
+ <span class="sr-only">Open main menu</span>
78
+ <i class="fas fa-bars h-6 w-6"></i>
79
+ </button>
80
+ </div>
81
+ </div>
82
+ </div>
83
+
84
+ <!-- Mobile menu -->
85
+ <div class="hidden" id="mobile-menu">
86
+ <div class="pt-2 pb-3 space-y-1">
87
+ <a href="#about" class="bg-blue-50 border-blue-500 text-blue-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">About</a>
88
+ <a href="#expertise" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Expertise</a>
89
+ <a href="#projects" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Projects</a>
90
+ <a href="#contact" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Contact</a>
91
+ </div>
92
+ </div>
93
+ </nav>
94
+
95
+ <!-- Hero Section -->
96
+ <div class="gradient-bg text-white">
97
+ <div class="max-w-7xl mx-auto py-16 px-4 sm:py-24 sm:px-6 lg:px-8">
98
+ <div class="text-center">
99
+ <h1 class="text-4xl md:text-5xl font-extrabold tracking-tight">
100
+ <span class="block">AI Integration Specialist</span>
101
+ <span class="block typewriter mt-2">HuggingFace + Atlassian</span>
102
+ </h1>
103
+ <p class="mt-5 max-w-xl mx-auto text-xl">
104
+ Building intelligent apps that connect NLP pipelines with Atlassian products through GitHub integrations.
105
+ </p>
106
+ <div class="mt-8 flex justify-center">
107
+ <div class="rounded-md shadow">
108
+ <a href="#contact" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-blue-700 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10">
109
+ Get in touch
110
+ </a>
111
+ </div>
112
+ <div class="ml-3 rounded-md shadow">
113
+ <a href="#projects" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 bg-opacity-60 hover:bg-opacity-70 md:py-4 md:text-lg md:px-10">
114
+ View work
115
+ </a>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </div>
120
+ </div>
121
+
122
+ <!-- About Section -->
123
+ <div id="about" class="py-12 bg-white">
124
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
125
+ <div class="lg:text-center">
126
+ <h2 class="text-base text-blue-600 font-semibold tracking-wide uppercase">About</h2>
127
+ <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
128
+ Specialized in AI-powered Atlassian integrations
129
+ </p>
130
+ <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto">
131
+ I combine HuggingFace transformers with Atlassian's ecosystem to create intelligent workflows and automation.
132
+ </p>
133
+ </div>
134
+
135
+ <div class="mt-10">
136
+ <div class="space-y-10 md:space-y-0 md:grid md:grid-cols-2 md:gap-x-8 md:gap-y-10">
137
+ <div class="flex">
138
+ <div class="flex-shrink-0">
139
+ <div class="flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white">
140
+ <i class="fas fa-robot text-xl"></i>
141
+ </div>
142
+ </div>
143
+ <div class="ml-4">
144
+ <h3 class="text-lg leading-6 font-medium text-gray-900">NLP Pipelines</h3>
145
+ <p class="mt-2 text-base text-gray-500">
146
+ Expertise in implementing HuggingFace transformers for text classification, summarization, and question answering within Jira and Confluence.
147
+ </p>
148
+ </div>
149
+ </div>
150
+
151
+ <div class="flex">
152
+ <div class="flex-shrink-0">
153
+ <div class="flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white">
154
+ <i class="fab fa-atlassian text-xl"></i>
155
+ </div>
156
+ </div>
157
+ <div class="ml-4">
158
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Atlassian Ecosystem</h3>
159
+ <p class="mt-2 text-base text-gray-500">
160
+ Deep knowledge of Atlassian's REST APIs, webhooks, and Forge platform for building custom apps and integrations.
161
+ </p>
162
+ </div>
163
+ </div>
164
+
165
+ <div class="flex">
166
+ <div class="flex-shrink-0">
167
+ <div class="flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white">
168
+ <i class="fab fa-github text-xl"></i>
169
+ </div>
170
+ </div>
171
+ <div class="ml-4">
172
+ <h3 class="text-lg leading-6 font-medium text-gray-900">GitHub Integrations</h3>
173
+ <p class="mt-2 text-base text-gray-500">
174
+ Building CI/CD pipelines that connect GitHub actions with Atlassian products, enabling automated testing and deployment of AI models.
175
+ </p>
176
+ </div>
177
+ </div>
178
+
179
+ <div class="flex">
180
+ <div class="flex-shrink-0">
181
+ <div class="flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white">
182
+ <i class="fas fa-project-diagram text-xl"></i>
183
+ </div>
184
+ </div>
185
+ <div class="ml-4">
186
+ <h3 class="text-lg leading-6 font-medium text-gray-900">End-to-End Solutions</h3>
187
+ <p class="mt-2 text-base text-gray-500">
188
+ From model training to deployment, creating complete solutions that bring AI capabilities directly into your workflow tools.
189
+ </p>
190
+ </div>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ </div>
195
+ </div>
196
+
197
+ <!-- Expertise Section -->
198
+ <div id="expertise" class="py-12 bg-gray-50">
199
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
200
+ <div class="lg:text-center">
201
+ <h2 class="text-base text-blue-600 font-semibold tracking-wide uppercase">Technical Expertise</h2>
202
+ <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
203
+ My specialized skill set
204
+ </p>
205
+ <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto">
206
+ Combining cutting-edge NLP with enterprise integration patterns
207
+ </p>
208
+ </div>
209
+
210
+ <div class="mt-10">
211
+ <div class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3">
212
+ <!-- HuggingFace Card -->
213
+ <div class="bg-white overflow-hidden shadow rounded-lg card-hover">
214
+ <div class="px-4 py-5 sm:p-6">
215
+ <div class="flex items-center">
216
+ <div class="flex-shrink-0 bg-blue-500 rounded-md p-3">
217
+ <i class="fas fa-brain text-white text-2xl"></i>
218
+ </div>
219
+ <div class="ml-5 w-0 flex-1">
220
+ <h3 class="text-lg font-medium text-gray-900">HuggingFace Transformers</h3>
221
+ </div>
222
+ </div>
223
+ <div class="mt-4">
224
+ <ul class="list-disc pl-5 space-y-2 text-gray-600">
225
+ <li>Custom model training and fine-tuning</li>
226
+ <li>Pipeline creation for text processing</li>
227
+ <li>Model optimization for production</li>
228
+ <li>Integration with FastAPI/Flask</li>
229
+ </ul>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ <!-- Atlassian Card -->
235
+ <div class="bg-white overflow-hidden shadow rounded-lg card-hover">
236
+ <div class="px-4 py-5 sm:p-6">
237
+ <div class="flex items-center">
238
+ <div class="flex-shrink-0 bg-blue-500 rounded-md p-3">
239
+ <i class="fab fa-atlassian text-white text-2xl"></i>
240
+ </div>
241
+ <div class="ml-5 w-0 flex-1">
242
+ <h3 class="text-lg font-medium text-gray-900">Atlassian Integrations</h3>
243
+ </div>
244
+ </div>
245
+ <div class="mt-4">
246
+ <ul class="list-disc pl-5 space-y-2 text-gray-600">
247
+ <li>Jira/Confluence app development</li>
248
+ <li>Forge and Connect platforms</li>
249
+ <li>Webhook implementations</li>
250
+ <li>OAuth 2.0 authentication flows</li>
251
+ </ul>
252
+ </div>
253
+ </div>
254
+ </div>
255
+
256
+ <!-- GitHub Card -->
257
+ <div class="bg-white overflow-hidden shadow rounded-lg card-hover">
258
+ <div class="px-4 py-5 sm:p-6">
259
+ <div class="flex items-center">
260
+ <div class="flex-shrink-0 bg-blue-500 rounded-md p-3">
261
+ <i class="fab fa-github text-white text-2xl"></i>
262
+ </div>
263
+ <div class="ml-5 w-0 flex-1">
264
+ <h3 class="text-lg font-medium text-gray-900">GitHub Automation</h3>
265
+ </div>
266
+ </div>
267
+ <div class="mt-4">
268
+ <ul class="list-disc pl-5 space-y-2 text-gray-600">
269
+ <li>Actions for CI/CD pipelines</li>
270
+ <li>Automated testing workflows</li>
271
+ <li>Model deployment automation</li>
272
+ <li>Issue tracking integration</li>
273
+ </ul>
274
+ </div>
275
+ </div>
276
+ </div>
277
+ </div>
278
+ </div>
279
+ </div>
280
+ </div>
281
+
282
+ <!-- Projects Section -->
283
+ <div id="projects" class="py-12 bg-white">
284
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
285
+ <div class="lg:text-center">
286
+ <h2 class="text-base text-blue-600 font-semibold tracking-wide uppercase">Projects</h2>
287
+ <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
288
+ Recent implementations
289
+ </p>
290
+ <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto">
291
+ Examples of HuggingFace + Atlassian integrations
292
+ </p>
293
+ </div>
294
+
295
+ <div class="mt-10 space-y-12">
296
+ <!-- Project 1 -->
297
+ <div class="flex flex-col md:flex-row gap-8">
298
+ <div class="md:w-1/2">
299
+ <div class="bg-gray-50 p-6 rounded-lg h-full">
300
+ <h3 class="text-xl font-bold text-gray-900">Jira Issue Classifier</h3>
301
+ <p class="mt-2 text-gray-600">
302
+ A Forge app that automatically categorizes incoming Jira issues using a fine-tuned HuggingFace transformer model.
303
+ </p>
304
+ <div class="mt-4">
305
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-100 text-blue-800">HuggingFace</span>
306
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-green-100 text-green-800 ml-2">Forge</span>
307
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-purple-100 text-purple-800 ml-2">BERT</span>
308
+ </div>
309
+ <div class="mt-6">
310
+ <button class="project-details-btn inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700" data-project="project1">
311
+ View details
312
+ </button>
313
+ </div>
314
+ </div>
315
+ </div>
316
+ <div class="md:w-1/2 hidden md:block">
317
+ <div class="bg-gray-100 rounded-lg h-full flex items-center justify-center p-6">
318
+ <img src="https://huggingface.co/front/assets/huggingface_logo-noborder.svg" alt="HuggingFace Logo" class="h-16 opacity-30">
319
+ <span class="mx-4 text-gray-400">+</span>
320
+ <img src="https://wac-cdn.atlassian.com/dam/jcr:e348b562-4152-4cdc-8a55-3d297e509cc8/Atlassian-horizontal-blue-rgb.svg" alt="Atlassian Logo" class="h-8 opacity-30">
321
+ </div>
322
+ </div>
323
+ </div>
324
+
325
+ <!-- Project 2 -->
326
+ <div class="flex flex-col md:flex-row-reverse gap-8">
327
+ <div class="md:w-1/2">
328
+ <div class="bg-gray-50 p-6 rounded-lg h-full">
329
+ <h3 class="text-xl font-bold text-gray-900">Confluence Knowledge Assistant</h3>
330
+ <p class="mt-2 text-gray-600">
331
+ A question-answering bot integrated into Confluence that uses a fine-tuned T5 model to answer questions based on company documentation.
332
+ </p>
333
+ <div class="mt-4">
334
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-100 text-blue-800">HuggingFace</span>
335
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-green-100 text-green-800 ml-2">Connect</span>
336
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-purple-100 text-purple-800 ml-2">T5</span>
337
+ </div>
338
+ <div class="mt-6">
339
+ <button class="project-details-btn inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700" data-project="project2">
340
+ View details
341
+ </button>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ <div class="md:w-1/2 hidden md:block">
346
+ <div class="bg-gray-100 rounded-lg h-full flex items-center justify-center p-6">
347
+ <img src="https://huggingface.co/front/assets/huggingface_logo-noborder.svg" alt="HuggingFace Logo" class="h-16 opacity-30">
348
+ <span class="mx-4 text-gray-400">+</span>
349
+ <img src="https://wac-cdn.atlassian.com/dam/jcr:e348b562-4152-4cdc-8a55-3d297e509cc8/Atlassian-horizontal-blue-rgb.svg" alt="Atlassian Logo" class="h-8 opacity-30">
350
+ </div>
351
+ </div>
352
+ </div>
353
+
354
+ <!-- Project 3 -->
355
+ <div class="flex flex-col md:flex-row gap-8">
356
+ <div class="md:w-1/2">
357
+ <div class="bg-gray-50 p-6 rounded-lg h-full">
358
+ <h3 class="text-xl font-bold text-gray-900">GitHub-Jira Sync with NLP</h3>
359
+ <p class="mt-2 text-gray-600">
360
+ A GitHub Action that analyzes PR descriptions using sentiment analysis and automatically updates linked Jira tickets.
361
+ </p>
362
+ <div class="mt-4">
363
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-100 text-blue-800">HuggingFace</span>
364
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-green-100 text-green-800 ml-2">GitHub Actions</span>
365
+ <span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-purple-100 text-purple-800 ml-2">DistilBERT</span>
366
+ </div>
367
+ <div class="mt-6">
368
+ <button class="project-details-btn inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700" data-project="project3">
369
+ View details
370
+ </button>
371
+ </div>
372
+ </div>
373
+ </div>
374
+ <div class="md:w-1/2 hidden md:block">
375
+ <div class="bg-gray-100 rounded-lg h-full flex items-center justify-center p-6">
376
+ <img src="https://huggingface.co/front/assets/huggingface_logo-noborder.svg" alt="HuggingFace Logo" class="h-16 opacity-30">
377
+ <span class="mx-4 text-gray-400">+</span>
378
+ <img src="https://wac-cdn.atlassian.com/dam/jcr:e348b562-4152-4cdc-8a55-3d297e509cc8/Atlassian-horizontal-blue-rgb.svg" alt="Atlassian Logo" class="h-8 opacity-30">
379
+ </div>
380
+ </div>
381
+ </div>
382
+ </div>
383
+ </div>
384
+ </div>
385
+
386
+ <!-- Project Modals -->
387
+ <div id="project-modal" class="fixed z-10 inset-0 overflow-y-auto hidden">
388
+ <div class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0">
389
+ <div class="fixed inset-0 transition-opacity" aria-hidden="true">
390
+ <div class="absolute inset-0 bg-gray-500 opacity-75"></div>
391
+ </div>
392
+ <span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">&#8203;</span>
393
+ <div class="inline-block align-bottom bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-2xl sm:w-full sm:p-6">
394
+ <div>
395
+ <div class="mx-auto flex items-center justify-center h-12 w-12 rounded-full bg-blue-100">
396
+ <i class="fas fa-project-diagram text-blue-600"></i>
397
+ </div>
398
+ <div class="mt-3 text-center sm:mt-5">
399
+ <h3 id="modal-title" class="text-lg leading-6 font-medium text-gray-900"></h3>
400
+ <div class="mt-2">
401
+ <p id="modal-description" class="text-sm text-gray-500"></p>
402
+ <div id="modal-technologies" class="mt-4"></div>
403
+ <div id="modal-features" class="mt-4 text-left"></div>
404
+ </div>
405
+ </div>
406
+ </div>
407
+ <div class="mt-5 sm:mt-6">
408
+ <button type="button" id="modal-close" class="inline-flex justify-center w-full rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:text-sm">
409
+ Close
410
+ </button>
411
+ </div>
412
+ </div>
413
+ </div>
414
+ </div>
415
+
416
+ <!-- Contact Section -->
417
+ <div id="contact" class="gradient-bg text-white py-12">
418
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
419
+ <div class="lg:text-center">
420
+ <h2 class="text-base text-blue-200 font-semibold tracking-wide uppercase">Contact</h2>
421
+ <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight sm:text-4xl">
422
+ Let's build something amazing
423
+ </p>
424
+ <p class="mt-4 max-w-2xl text-xl text-blue-100 lg:mx-auto">
425
+ Interested in integrating AI with your Atlassian products? Get in touch!
426
+ </p>
427
+ </div>
428
+
429
+ <div class="mt-10 flex flex-col md:flex-row justify-center gap-8">
430
+ <div class="bg-white bg-opacity-10 backdrop-filter backdrop-blur-lg rounded-lg p-6 md:w-1/2 max-w-md">
431
+ <h3 class="text-lg font-medium mb-4">Send me a message</h3>
432
+ <form id="contact-form" class="space-y-4">
433
+ <div>
434
+ <label for="name" class="block text-sm font-medium text-blue-100">Name</label>
435
+ <input type="text" id="name" name="name" class="mt-1 block w-full border border-blue-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white bg-opacity-10 text-white placeholder-blue-200">
436
+ </div>
437
+ <div>
438
+ <label for="email" class="block text-sm font-medium text-blue-100">Email</label>
439
+ <input type="email" id="email" name="email" class="mt-1 block w-full border border-blue-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white bg-opacity-10 text-white placeholder-blue-200">
440
+ </div>
441
+ <div>
442
+ <label for="message" class="block text-sm font-medium text-blue-100">Message</label>
443
+ <textarea id="message" name="message" rows="4" class="mt-1 block w-full border border-blue-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white bg-opacity-10 text-white placeholder-blue-200"></textarea>
444
+ </div>
445
+ <div>
446
+ <button type="submit" class="w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-blue-700 bg-white hover:bg-blue-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">
447
+ Send message
448
+ </button>
449
+ </div>
450
+ </form>
451
+ </div>
452
+
453
+ <div class="bg-white bg-opacity-10 backdrop-filter backdrop-blur-lg rounded-lg p-6 md:w-1/2 max-w-md">
454
+ <h3 class="text-lg font-medium mb-4">Connect with me</h3>
455
+ <div class="space-y-4">
456
+ <div class="flex items-center">
457
+ <div class="flex-shrink-0 bg-blue-500 rounded-md p-2">
458
+ <i class="fab fa-github text-white"></i>
459
+ </div>
460
+ <div class="ml-3">
461
+ <p class="text-sm font-medium text-blue-100">GitHub</p>
462
+ <a href="#" class="text-sm text-blue-200 hover:text-white">github.com/hf-atlassian-dev</a>
463
+ </div>
464
+ </div>
465
+ <div class="flex items-center">
466
+ <div class="flex-shrink-0 bg-blue-500 rounded-md p-2">
467
+ <i class="fab fa-linkedin text-white"></i>
468
+ </div>
469
+ <div class="ml-3">
470
+ <p class="text-sm font-medium text-blue-100">LinkedIn</p>
471
+ <a href="#" class="text-sm text-blue-200 hover:text-white">linkedin.com/in/hf-atlassian-dev</a>
472
+ </div>
473
+ </div>
474
+ <div class="flex items-center">
475
+ <div class="flex-shrink-0 bg-blue-500 rounded-md p-2">
476
+ <i class="fab fa-twitter text-white"></i>
477
+ </div>
478
+ <div class="ml-3">
479
+ <p class="text-sm font-medium text-blue-100">Twitter</p>
480
+ <a href="#" class="text-sm text-blue-200 hover:text-white">@hf_atlassian_dev</a>
481
+ </div>
482
+ </div>
483
+ <div class="flex items-center">
484
+ <div class="flex-shrink-0 bg-blue-500 rounded-md p-2">
485
+ <i class="fas fa-envelope text-white"></i>
486
+ </div>
487
+ <div class="ml-3">
488
+ <p class="text-sm font-medium text-blue-100">Email</p>
489
+ <a href="#" class="text-sm text-blue-200 hover:text-white">contact@hf-atlassian.dev</a>
490
+ </div>
491
+ </div>
492
+ </div>
493
+ </div>
494
+ </div>
495
+ </div>
496
+ </div>
497
+
498
+ <!-- Footer -->
499
+ <footer class="bg-gray-800">
500
+ <div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8">
501
+ <div class="xl:grid xl:grid-cols-3 xl:gap-8">
502
+ <div class="space-y-8 xl:col-span-1">
503
+ <div class="flex items-center">
504
+ <img class="h-8" src="https://huggingface.co/front/assets/huggingface_logo-noborder.svg" alt="HuggingFace">
505
+ <span class="mx-2 text-gray-400">+</span>
506
+ <img class="h-8" src="https://wac-cdn.atlassian.com/dam/jcr:e348b562-4152-4cdc-8a55-3d297e509cc8/Atlassian-horizontal-blue-rgb.svg" alt="Atlassian">
507
+ </div>
508
+ <p class="text-gray-300 text-base">
509
+ Specializing in AI-powered integrations between HuggingFace transformers and Atlassian products.
510
+ </p>
511
+ </div>
512
+ <div class="mt-12 grid grid-cols-2 gap-8 xl:mt-0 xl:col-span-2">
513
+ <div class="md:grid md:grid-cols-2 md:gap-8">
514
+ <div>
515
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Expertise</h3>
516
+ <ul class="mt-4 space-y-4">
517
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">HuggingFace</a></li>
518
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Atlassian</a></li>
519
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">GitHub</a></li>
520
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">NLP</a></li>
521
+ </ul>
522
+ </div>
523
+ <div class="mt-12 md:mt-0">
524
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Resources</h3>
525
+ <ul class="mt-4 space-y-4">
526
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Documentation</a></li>
527
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Tutorials</a></li>
528
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Blog</a></li>
529
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Case Studies</a></li>
530
+ </ul>
531
+ </div>
532
+ </div>
533
+ <div class="md:grid md:grid-cols-2 md:gap-8">
534
+ <div>
535
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Legal</h3>
536
+ <ul class="mt-4 space-y-4">
537
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Privacy</a></li>
538
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Terms</a></li>
539
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Cookie Policy</a></li>
540
+ </ul>
541
+ </div>
542
+ <div class="mt-12 md:mt-0">
543
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Connect</h3>
544
+ <ul class="mt-4 space-y-4">
545
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">GitHub</a></li>
546
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">LinkedIn</a></li>
547
+ <li><a href="#" class="text-base text-gray-400 hover:text-white">Twitter</a></li>
548
+ </ul>
549
+ </div>
550
+ </div>
551
+ </div>
552
+ </div>
553
+ <div class="mt-12 border-t border-gray-700 pt-8">
554
+ <p class="text-base text-gray-400 text-center">
555
+ &copy; 2023 AI Integration Specialist. All rights reserved.
556
+ </p>
557
+ </div>
558
+ </div>
559
+ </footer>
560
+
561
+ <!-- Success Toast -->
562
+ <div id="success-toast" class="fixed bottom-4 right-4 hidden">
563
+ <div class="bg-green-500 text-white px-4 py-2 rounded-md shadow-lg flex items-center">
564
+ <i class="fas fa-check-circle mr-2"></i>
565
+ <span>Message sent successfully!</span>
566
+ </div>
567
+ </div>
568
+
569
+ <script>
570
+ // Mobile menu toggle
571
+ document.getElementById('mobile-menu-button').addEventListener('click', function() {
572
+ const menu = document.getElementById('mobile-menu');
573
+ menu.classList.toggle('hidden');
574
+ });
575
+
576
+ // Smooth scrolling for anchor links
577
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
578
+ anchor.addEventListener('click', function (e) {
579
+ e.preventDefault();
580
+
581
+ const targetId = this.getAttribute('href');
582
+ const targetElement = document.querySelector(targetId);
583
+
584
+ if (targetElement) {
585
+ targetElement.scrollIntoView({
586
+ behavior: 'smooth'
587
+ });
588
+
589
+ // Close mobile menu if open
590
+ const mobileMenu = document.getElementById('mobile-menu');
591
+ if (!mobileMenu.classList.contains('hidden')) {
592
+ mobileMenu.classList.add('hidden');
593
+ }
594
+ }
595
+ });
596
+ });
597
+
598
+ // Project modal functionality
599
+ const projects = {
600
+ project1: {
601
+ title: "Jira Issue Classifier",
602
+ description: "A Forge app that automatically categorizes incoming Jira issues using a fine-tuned HuggingFace transformer model, reducing manual triage time by 60%.",
603
+ technologies: [
604
+ { name: "HuggingFace Transformers", color: "blue" },
605
+ { name: "Atlassian Forge", color: "green" },
606
+ { name: "BERT Model", color: "purple" },
607
+ { name: "Python", color: "yellow" }
608
+ ],
609
+ features: [
610
+ "Automatically classifies issues into predefined categories",
611
+ "Integrates seamlessly with Jira's UI",
612
+ "Self-learning system that improves over time",
613
+ "Deployed as a Forge app for easy installation"
614
+ ]
615
+ },
616
+ project2: {
617
+ title: "Confluence Knowledge Assistant",
618
+ description: "A question-answering bot integrated into Confluence that uses a fine-tuned T5 model to answer questions based on company documentation, reducing support queries by 45%.",
619
+ technologies: [
620
+ { name: "HuggingFace Pipelines", color: "blue" },
621
+ { name: "Atlassian Connect", color: "green" },
622
+ { name: "T5 Model", color: "purple" },
623
+ { name: "FastAPI", color: "red" }
624
+ ],
625
+ features: [
626
+ "Natural language understanding of company docs",
627
+ "Context-aware responses",
628
+ "Feedback mechanism to improve accuracy",
629
+ "Secure authentication via OAuth 2.0"
630
+ ]
631
+ },
632
+ project3: {
633
+ title: "GitHub-Jira Sync with NLP",
634
+ description: "A GitHub Action that analyzes PR descriptions using sentiment analysis and automatically updates linked Jira tickets, improving cross-team visibility by 75%.",
635
+ technologies: [
636
+ { name: "HuggingFace Pipelines", color: "blue" },
637
+ { name: "GitHub Actions", color: "green" },
638
+ { name: "DistilBERT", color: "purple" },
639
+ { name: "Node.js", color: "orange" }
640
+ ],
641
+ features: [
642
+ "Real-time sentiment analysis of PRs",
643
+ "Automatic Jira ticket updates",
644
+ "Customizable rules engine",
645
+ "Detailed analytics dashboard"
646
+ ]
647
+ }
648
+ };
649
+
650
+ document.querySelectorAll('.project-details-btn').forEach(button => {
651
+ button.addEventListener('click', function() {
652
+ const projectId = this.getAttribute('data-project');
653
+ const project = projects[projectId];
654
+
655
+ document.getElementById('modal-title').textContent = project.title;
656
+ document.getElementById('modal-description').textContent = project.description;
657
+
658
+ const technologiesContainer = document.getElementById('modal-technologies');
659
+ technologiesContainer.innerHTML = '';
660
+ project.technologies.forEach(tech => {
661
+ const span = document.createElement('span');
662
+ span.className = `inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-${tech.color}-100 text-${tech.color}-800 mr-2 mb-2`;
663
+ span.textContent = tech.name;
664
+ technologiesContainer.appendChild(span);
665
+ });
666
+
667
+ const featuresContainer = document.getElementById('modal-features');
668
+ featuresContainer.innerHTML = '<h4 class="font-medium text-gray-900 mb-2">Key Features:</h4><ul class="list-disc pl-5 space-y-1"></ul>';
669
+ const featuresList = featuresContainer.querySelector('ul');
670
+ project.features.forEach(feature => {
671
+ const li = document.createElement('li');
672
+ li.className = 'text-sm text-gray-600';
673
+ li.textContent = feature;
674
+ featuresList.appendChild(li);
675
+ });
676
+
677
+ document.getElementById('project-modal').classList.remove('hidden');
678
+ });
679
+ });
680
+
681
+ document.getElementById('modal-close').addEventListener('click', function() {
682
+ document.getElementById('project-modal').classList.add('hidden');
683
+ });
684
+
685
+ // Contact form submission
686
+ document.getElementById('contact-form').addEventListener('submit', function(e) {
687
+ e.preventDefault();
688
+
689
+ // In a real app, you would send the form data to a server here
690
+ // For this demo, we'll just show a success message
691
+
692
+ // Reset form
693
+ this.reset();
694
+
695
+ // Show success toast
696
+ const toast = document.getElementById('success-toast');
697
+ toast.classList.remove('hidden');
698
+
699
+ // Hide toast after 3 seconds
700
+ setTimeout(() => {
701
+ toast.classList.add('hidden');
702
+ }, 3000);
703
+ });
704
+ </script>
705
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=developerwoodstudios/ai-app-app" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
706
+ </html>