From 25365c1bcf6fce216561d84aca8f0a42168a6a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Gierwia=C5=82o?= Date: Sat, 6 Dec 2025 15:54:29 +0100 Subject: [PATCH] chore: refresh about page content --- frontend/public/content/about-us.html | 189 +++++++++++++++------ frontend/public/images/about/rg-author.jpg | Bin 0 -> 17778 bytes 2 files changed, 135 insertions(+), 54 deletions(-) create mode 100644 frontend/public/images/about/rg-author.jpg diff --git a/frontend/public/content/about-us.html b/frontend/public/content/about-us.html index 80d81c4..18c18e4 100644 --- a/frontend/public/content/about-us.html +++ b/frontend/public/content/about-us.html @@ -9,17 +9,7 @@ font-size: 2.25rem; font-weight: 700; margin-bottom: 1.5rem; - color: #1f2937; - } - - .content-wrapper h2 { - font-size: 1.875rem; - font-weight: 700; - margin-top: 2.5rem; - margin-bottom: 1rem; - color: #1f2937; - border-bottom: 2px solid #e5e7eb; - padding-bottom: 0.5rem; + color: #111827; } .content-wrapper p { @@ -36,18 +26,99 @@ color: #4f46e5; } - .content-wrapper hr { - margin: 2.5rem 0; - border: 0; - border-top: 1px solid #e5e7eb; - } - .intro-text { font-size: 1.125rem; color: #1f2937; margin-bottom: 1.5rem; } + .about-layout { + display: grid; + grid-template-columns: minmax(200px, 280px) 1fr; + gap: 2rem; + align-items: start; + } + + .profile-card { + background: #0f172a; + color: #e2e8f0; + border-radius: 16px; + padding: 1.25rem; + box-shadow: 0 18px 40px rgba(15, 23, 42, 0.25); + display: flex; + flex-direction: column; + gap: 1rem; + } + + .portrait { + position: relative; + border-radius: 14px; + overflow: hidden; + width: 100%; + min-height: 340px; + height: clamp(380px, 62vh, 560px); + background: #0b1224; + } + + .portrait img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; + filter: saturate(1.05); + transform: scaleX(-1); + transform-origin: center; + } + + .portrait::before { + content: ""; + position: absolute; + inset: 0; + background: linear-gradient(180deg, rgba(15, 23, 42, 0.1) 0%, rgba(15, 23, 42, 0.45) 100%); + pointer-events: none; + } + + + .profile-meta { + display: flex; + flex-direction: column; + gap: 0.25rem; + } + + .profile-meta .name { + font-weight: 700; + font-size: 1.125rem; + color: #e2e8f0; + text-decoration: none; + } + + .profile-meta .role { + font-size: 0.95rem; + color: #cbd5e1; + } + + .profile-meta .tagline { + font-size: 0.95rem; + color: #94a3b8; + } + + .home-link { + color: #0f172a; + text-decoration: underline; + font-weight: 600; + padding: 0; + margin: 0; + border: none; + background: transparent; + transition: color 120ms ease; + } + + .home-link:hover { + color: #111827; + transform: none; + box-shadow: none; + } + .footer-links { margin-top: 2rem; padding-top: 1.5rem; @@ -55,54 +126,64 @@ color: #6b7280; font-size: 0.875rem; } + + @media (max-width: 900px) { + .about-layout { + grid-template-columns: 1fr; + } + }
-

About Us

+
+
+ +
+ Radek Gierwiało +
Founder · Software Engineer · WCS Dancer
+
Building tools for dancers who record as much as they dance.
+
+
-

- Hi, I'm Radek – a software engineer, a West Coast Swing dancer and the person behind spotlight.cam. -

+
+

About Us

-

- Spotlight.cam is a project built by someone who actually stands in the same registration lines, dances in the same heats and scrolls through the same event pages as you :P -

+

+ Hi, I'm Radek – a software engineer, a West Coast Swing dancer and the person behind spotlight.cam. +

-

- If we ever meet at an event, I'll probably be somewhere near the dance floor, probably pressing "record" on someone's spotlight. -

+

+ Despite the very official "About Us" in the menu, at the moment "us" is just... me 😅 One-person team, many hats. +

-

- To be fair, the original idea for this service was actually dropped on me by a friend who was tired of hunting for someone to film her dances – I just did what any backend developer / DevOps / Linux admin would do: said "okay, that shouldn't be that hard… right?", opened my editor, set up a few servers and scripts… and suddenly we had a new project on our hands 😅 I also had a not-so-secret teammate: AI. Without it, this would probably still be stuck in my "one day" folder for about a year 😄 -

+

+ Spotlight.cam is a project built by someone who actually stands in the same registration lines, dances in the same heats and scrolls through the same event pages as you :P +

-

The Vision

+

+ If we ever meet at an event, I'll probably be somewhere near the dance floor, probably pressing "record" on someone's spotlight. +

-

- Our goal is to make it easier for dancers to capture and share their competition moments. No more running around looking for someone with a free hand to record your heat. No more missing your own spotlight because you were recording someone else's. -

+

+ To be fair, the original idea for this service was actually dropped on me by a friend who was tired of hunting for someone to film her dances – I just did what any backend developer / DevOps / Linux admin would do: said "okay, that shouldn't be that hard... right?", opened my editor, set up a few servers and scripts... and suddenly we had a new project on our hands 😅 I also had a not-so-secret teammate: AI. Without it, this would probably still be stuck in my "one day" folder for about a year 😄 +

-

- We're building a platform that connects dancers who want to help each other out, making the whole process smoother, fairer, and more organized. -

+

+ If you’re into WCS nerdy stuff, you might also like my open-source WSDC Event Results Analyzer – a tool for exploring and visualizing competition placements – or gdzienawesta.com, a calendar that collects upcoming West Coast Swing events in Warsaw (and, who knows, maybe one day across all of Poland). +

-

Technology

+

+ More about me: socials, contact options, and CV are at + radoslaw.gierwialo.com +

-

- Under the hood, spotlight.cam uses modern web technologies to deliver a fast, secure, and reliable experience: -

- -
    -
  • WebRTC peer-to-peer transfers - your videos are sent directly between devices, never stored on our servers
  • -
  • Real-time chat - coordinate with your recording partners instantly
  • -
  • Smart auto-matching - fairness algorithms ensure everyone gets help
  • -
  • End-to-end encryption - your data is protected at every step
  • -
- -
diff --git a/frontend/public/images/about/rg-author.jpg b/frontend/public/images/about/rg-author.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0b6b44b6ca61950e8a5ba7847a68af5000ec542 GIT binary patch literal 17778 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 LH_c+jh(G_?Ta^%G literal 0 HcmV?d00001