Watch
1
0
Fork
You've already forked resume-site
0
Resume website for anyone interested in me and my work https://resume.gamriel.com/
  • Svelte 54.9%
  • JavaScript 24.8%
  • CSS 16.8%
  • HTML 3.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Vladimir Petrov c23127da76
All checks were successful
Deploy to VPS / build-and-deploy (push) Successful in 26s
Report unmatched routes from the app
This is a one-page app: nginx answers any unknown path with 200 + index.html
(the SPA fallback), so the miss is invisible to BearVision. The entry point now
reports a path that isn't served via bv.notFound(), which surfaces it on Web
Vitals' Not found tab.
2026-10-02 20:12:13 +03:00
.forgejo/workflows Add analytics 2026-04-04 21:02:31 +03:00
public this too 2026-04-27 18:15:33 +03:00
src Report unmatched routes from the app 2026-10-02 20:12:13 +03:00
.gitignore first commit 2024-06-17 11:09:16 +03:00
bun.lockb Update tailwind, update image sizes, and fix lightouse issues 2026-04-27 18:15:24 +03:00
index.html Serve BearVision SDK and forms first-party 2026-09-24 11:41:23 +03:00
jsconfig.json first commit 2024-06-17 11:09:16 +03:00
package-lock.json Icon improvements, smaller bundle 2026-08-06 01:57:10 +03:00
package.json Icon improvements, smaller bundle 2026-08-06 01:57:10 +03:00
README.md update finally 2026-08-21 15:28:14 -04:00
svelte.config.js first commit 2024-06-17 11:09:16 +03:00
vite.config.js Icon improvements, smaller bundle 2026-08-06 01:57:10 +03:00

Resume website

Bringing all my knowledge and experiences in a single place.

Currently live at: https://resume.gamriel.com/

Svelte TailwindCSS Vercel

I will not go into detail because the project is very simple.

Here are some notworthy features:

Themes

The front end features a combination of light and dark theme + an accent color. This is achieved using css variables and using them within tailwind.

Multible languages

The i18n.js file I have created offers 2 ways of translating strings:

  • Function: Simply passing the string to a function
  • Dirrective: Using svelte's unique directive feature, I can simply use:i18n and the contents of the element will be translated

Translations live in src/utils/translations/ as one file per locale (bg.json, de.json, jp.json). I prefer to see what is being translated so I made the whole sentances the keys, instead of using locator strings like "body.skills.js". This also provides a nice fallback for any strings I have not translated. Each locale file is lazy-loaded as its own chunk, so the English version (which uses the keys themselves) downloads no translation data at all.

Persisted Store

Im sure I could have written this myself but I wanted to focus on the content instead so instead I used svelte-persisted-store. This allows me to save the site settings to the brouser so things like language, themes and colors can stay the way the user configures them even after closing the website.


I use bun btw :)