-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
300 lines (291 loc) · 11.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="./logo.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Mohamed Tawileh | Portfolio</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,200;0,300;0,400;1,200;1,300;1,400&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="./style.css" />
</head>
<body class="">
<div class="navbar">
<div class="container">
<div class="menu">
<svg viewBox="0 0 50 50" id="menu-trigger">
<path d="M1.5,20 L48.5,20" />
<path d="M1.5,30 L48.5,30" />
</svg>
<ul class="nav-menu">
<li><a href="#projects">Latest Projects</a></li>
<li><a href="./mohammed-tawileh-resume.pdf">Resume</a></li>
</ul>
</div>
<div class="links-container">
<a href="https://fb.me/mthead11" class="link" target="_blank">
<img src="./assets/facebook.svg" alt="facebook" />
</a>
<a href="https://github.com/mthead5/" class="link" target="_blank">
<img src="./assets/github.svg" alt="github" />
</a>
<a
href="mailto:[email protected]"
class="link"
target="_blank"
>
<img src="./assets/gmail.svg" alt="gmail" />
</a>
</div>
</div>
</div>
<header class="header-section">
<div class="container">
<div class="left-section">
<h1 class="name">
My Name <br />
is Mohamed <span>Tawileh</span>
</h1>
<p>
I am an experienced full-stack web developer with expertise in
JavaScript and related frameworks. I have worked extensively with
React JS, building user interfaces and front-end applications. On
the back-end, I have experience with Node.js for building scalable
server-side logic. I am also proficient in Next.js for developing
server-rendered React apps. Additionally, I utilize Sass for
authoring CSS stylesheets. With my range of full-stack skills, I am
capable of working on projects end-to-end, from front-end UI to
back-end APIs and databases. I have a strong understanding of modern
web development practices and continuously expand my skills in new
frameworks and libraries. My JavaScript and front-end focused
background enables me to rapidly develop web apps and sites that
provide smooth, engaging user experiences.
</p>
<div class="pl-langs">
<ul>
<li>Javascript</li>
<li>React JS</li>
<li>Node JS</li>
<li>Next JS</li>
<li>Sass</li>
</ul>
</div>
</div>
<div class="right-section">
<div class="personal-picture">
<img src="./assets/me.png" alt="me" class="picture" />
</div>
<div class="exp-years">
<span>2+</span>
<span>Years of experience</span>
</div>
</div>
</div>
</header>
<div class="projects" id="projects">
<div class="wave">
<svg
data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1200 120"
preserveAspectRatio="none"
>
<path
d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"
class="shape-fill"
></path>
</svg>
</div>
<div class="content">
<div class="container">
<h2>Latest Projects</h2>
<ul>
<li>
<a href="#coderacer">
<div class="project">
<div class="num">01</div>
<div class="image">
<img src="./assets/coderacer.png" alt="project image" />
</div>
<div class="title">CodeRacer</div>
</div>
</a>
</li>
<li>
<a href="#bayan-learn">
<div class="project">
<div class="num">02</div>
<div class="image">
<img src="./assets/bayan-learn.png" alt="project image" />
</div>
<div class="title">Albayan Learning <br />Arabic Letters</div>
</div>
</a>
</li>
<li>
<a href="#bayan">
<div class="project">
<div class="num">03</div>
<div class="image">
<img src="./assets/bayan.png" alt="project image" />
</div>
<div class="title">Albayan E-Books</div>
</div>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="project" id="coderacer">
<div class="wave">
<svg
data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1200 120"
preserveAspectRatio="none"
>
<path
d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"
class="shape-fill"
></path>
</svg>
</div>
<div class="container">
<a href="https://coderacer.onrender.com/" target="_blank"
><h1>CodeRacer</h1></a
>
<div class="desc">
<p>
Coderacer is a website designed and developed from the ground up by
me, the founder, on January 15, 2022 to enable programmers to engage
in typing speed competitions. The back-end was built using Node.js,
while the front-end was created with React.js and Next.js
frameworks. Next.js is a full-stack development framework that
builds on React's front-end capabilities by adding back-end
functionality like server-side rendering and static site generation.
Through the use of Next.js, Coderacer gained benefits like faster
page loads and search engine optimization. On the front-end, React
provides an efficient way to build user interfaces and components
that respond quickly. By leveraging the strengths of Node.js, React,
and Next.js, I was able to build a modern, high-performance website
where programmers can test and compare their coding speed in a
gamified environment.
</p>
<div class="image">
<img src="./assets/coderacer-demo.png" alt="coderacer-demo" />
</div>
</div>
</div>
</div>
<div class="project bayan" id="bayan-learn">
<div class="wave">
<svg
data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1200 120"
preserveAspectRatio="none"
>
<path
d="M985.66,92.83C906.67,72,823.78,31,743.84,14.19c-82.26-17.34-168.06-16.33-250.45.39-57.84,11.73-114,31.07-172,41.86A600.21,600.21,0,0,1,0,27.35V120H1200V95.8C1132.19,118.92,1055.71,111.31,985.66,92.83Z"
class="shape-fill"
></path>
</svg>
</div>
<div class="container">
<a href="https://www.fayforar.com/BayanDraw/" target="_blank"
><h1>Albayan Drawing Learn</h1></a
>
<div class="desc">
<p>
Albayan is an innovative web application that provides an engaging
way for children to learn Arabic letter writing. Built using React
for the frontend and p5.js for canvas-based drawing, Albayan
presents an interactive experience for mastering Arabic calligraphy.
Children can practice tracing letter shapes at their own pace as the
app analyzes their drawing in real-time. Albayan gives instant
feedback to help improve letter formation, sizing, and
proportionality. Its intelligent system evaluates multiple strokes,
curvature, and movement to determine accuracy like a human teacher.
With its learner-centric design, Albayan adapts to each child’s
progress to advance them from letter tracing to independent writing.
React provides a smooth user interface for the app while p5.js
enables dynamic canvas interactions. Together they create an
immersive learning environment that stimulates visual, auditory, and
motor skills development vital for Arabic penmanship.
</p>
<div class="image">
<img src="./assets/albayan-learn-demo.png" alt="coderacer-demo" />
</div>
</div>
</div>
</div>
<div class="project bayan-book" id="bayan">
<div class="wave">
<svg
data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1200 120"
preserveAspectRatio="none"
>
<path
d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"
class="shape-fill"
></path>
</svg>
</div>
<div class="container">
<a><h1>Albayan E-Books</h1></a>
<div class="desc">
<ul>
<li>
<a href="https://www.fayforar.com/Bayan/" target="_blank"
><h2>Al Bayan 1</h2></a
>
</li>
<li>
<a href="https://www.fayforar.com/Bayan2/" target="_blank"
><h2>Al Bayan 2</h2></a
>
</li>
<li>
<a href="https://www.fayforar.com/Bayan3/" target="_blank"
><h2>Al Bayan 3</h2></a
>
</li>
</ul>
<p>
Al-Bayan’s E-Books is an interactive web app tailored to help
children master proper individual letter articulation, a foundation
of Arabic oral fluency. With its engaging e-book interface, kids can
independently explore Arabic phonics at their own pace. The E-Books
lessons use audio cues and visual diagrams to demonstrate key mouth
positions for every letter. Kids first hear the isolated sound.
</p>
<div class="image">
<img src="./assets/bayan-demo.png" alt="coderacer-demo" />
</div>
</div>
</div>
</div>
<footer>
<div class="container">Copyright © Mohamed Tawileh</div>
</footer>
<script>
const menuTrigger = document.getElementById("menu-trigger");
const menu = document.querySelectorAll(".nav-menu a");
const toggle = () => {
document.body.classList.toggle("open-nav");
};
const close = () => {
document.body.classList.remove("open-nav");
};
menuTrigger.addEventListener("touchstart", toggle);
menu.forEach((e) => e.addEventListener("click", close));
</script>
</body>
</html>