Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
188 lines (179 loc) · 7.6 KB
/
Copy pathindex.html
File metadata and controls
188 lines (179 loc) · 7.6 KB
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
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Primary Meta Tags -->
<title>Oleksandr Zahoruiko — Android & Full-Stack Developer | Orléans, France</title>
<meta name="title" content="Oleksandr Zahoruiko — Android & Full-Stack Developer | Orléans, France" />
<meta name="description" content="Orléans-based software engineer & lecturer. Native Android apps end-to-end (Jetpack Compose, Kotlin) + full-stack web (React, Spring Boot, .NET, Node.js). Live side projects and open for freelance collaborations." />
<meta name="author" content="Oleksandr Zahoruiko" />
<meta name="keywords" content="Android developer, Full-Stack developer, Jetpack Compose, Kotlin, React, Spring Boot, freelance developer, Orléans, France, sunmeat" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://sunmeat.dev/" />
<!-- Favicon -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<!-- Open Graph / Facebook / LinkedIn -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://sunmeat.dev/" />
<meta property="og:title" content="Oleksandr Zahoruiko — Android & Full-Stack Developer" />
<meta property="og:description" content="Native Android apps end-to-end + full-stack web. Live side projects. 19+ years in software & teaching. Based in Orléans, France. Open for projects." />
<meta property="og:image" content="https://sunmeat.dev/preview.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="sunmeat.dev — Oleksandr Zahoruiko portfolio" />
<meta property="og:site_name" content="sunmeat.dev" />
<meta property="og:locale" content="en_US" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:url" content="https://sunmeat.dev/" />
<meta name="twitter:title" content="Oleksandr Zahoruiko — Android & Full-Stack Developer" />
<meta name="twitter:description" content="Native Android apps end-to-end + full-stack web. Live side projects. Based in Orléans, France." />
<meta name="twitter:image" content="https://sunmeat.dev/preview.jpg" />
<!-- Google AdSense -->
<meta name="google-adsense-account" content="ca-pub-7611995396546769">
<!-- Structured Data: Person -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Oleksandr Zahoruiko",
"alternateName": "sunmeat",
"url": "https://sunmeat.dev/",
"image": "https://sunmeat.dev/preview.jpg",
"jobTitle": "Android & Full-Stack Developer",
"description": "Orléans-based software engineer and lecturer specializing in native Android development and full-stack web applications.",
"address": {
"@type": "PostalAddress",
"addressLocality": "Orléans",
"addressCountry": "FR"
},
"email": "mailto:sunmeatrich@gmail.com",
"sameAs": [
"https://github.com/sunmeat",
"https://www.linkedin.com/in/sunmeat",
"https://t.me/sunmeat",
"https://play.google.com/store/apps/developer?id=sunmeat"
],
"knowsAbout": [
"Android Development",
"Jetpack Compose",
"Kotlin",
"React",
"Spring Boot",
"ASP.NET Core",
"Full-Stack Development",
"Node.js"
]
}
</script>
<!-- Structured Data: Websites / Side Projects -->
<script type="application/ld+json">
[
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Solenya",
"url": "https://uviktorii.vercel.app/",
"description": "A bright website for an authentic Korean pickles brand in Odesa, featuring product showcases, market locations, and nationwide delivery details.",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
},
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Alex FM",
"url": "https://alexfm.vercel.app/",
"description": "An in-browser radio player with a live audio-reactive visualizer, built on the Web Audio API for real-time frequency analysis.",
"applicationCategory": "MultimediaApplication",
"operatingSystem": "Any",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
},
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Pisanina",
"url": "https://pisanina.vercel.app/",
"description": "A minimal personal poetry blog with a clean reading experience and a simple admin CMS powered by React and Firebase.",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
},
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Aerodion",
"url": "https://aerodion.vercel.app/",
"description": "An interactive hand-tracking music app that turns finger gestures into notes and chords, letting you make music without a physical instrument.",
"applicationCategory": "MultimediaApplication",
"operatingSystem": "Any",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
},
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Duo Stats",
"url": "https://duostat.vercel.app/",
"description": "A minimal tool for viewing and sharing public Duolingo profile statistics. Displays avatar, XP, streaks and top courses, and generates a shareable PNG card — no login required.",
"applicationCategory": "UtilitiesApplication",
"operatingSystem": "Any",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
},
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Happy Lena",
"url": "https://happy-lena.netlify.app/",
"description": "A personal interactive birthday greeting page with playful animations and a small surprise built in.",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
},
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Freya",
"url": "https://freechka.vercel.app/",
"description": "A lightweight interactive page built as a personal project — a playground for small UI and animation ideas.",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
},
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "No Rent",
"url": "https://no-rent.vercel.app/",
"description": "A rent-vs-buy savings calculator that visualizes how money saved on rent could grow over time if invested instead.",
"applicationCategory": "FinanceApplication",
"operatingSystem": "Any",
"creator": {
"@type": "Person",
"name": "Oleksandr Zahoruiko"
}
}
]
</script>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
<!-- 100% privacy-first analytics -->
<script data-collect-dnt="true" async src="https://scripts.simpleanalyticscdn.com/latest.js"></script>
<noscript><img src="https://queue.simpleanalyticscdn.com/noscript.gif?collect-dnt=true" alt="" referrerpolicy="no-referrer-when-downgrade"/></noscript>
</body>
</html>