Strus Camp

Apr 2026

Landing page Overnight (~12 hours from brief to live) Live
Astro Tailwind TypeScript Cf Pages Cf Turnstile SMTP

Overview

Single-page landing site for Strus Camp — a 4-day martial arts and mountain sports camp in Zakopane organized by Piotr Strus. The client needed a registration website live by the next morning. Designed, built, and deployed to a custom domain in one session. Registration form sends participant data via email using Cloudflare Pages Functions and raw SMTP.

Key features

Registration Form with Email Delivery

Collects participant details (name, phone, email, referral) and sends the data to the organizer via SMTP — plus an automatic confirmation email to the participant with payment instructions.

Cloudflare Turnstile

Bot protection on the form without CAPTCHAs. Validates server-side before sending any email.

Scroll-Snap Sections

Full-viewport sections with scroll snapping on desktop — hero, camp details, schedule & pricing, registration form.

Referral Discount System

Built-in referral field — participants can name who referred them and both get a discount, tracked through form submissions.

The Problem

The client runs martial arts training camps in the Tatra Mountains. He needed a website to advertise the next camp and collect registrations — and he needed it live by the next day. No time for back-and-forth, no complex requirements. Just a clean page with camp details and a form that sends participant data to his email.

Approach

Speed was the only constraint. The client described what he needed, I proposed a design, and started building immediately. Static Astro site — no framework overhead, no build complexity. Tailwind for styling, deployed to Cloudflare Pages for instant global delivery.

No external services. The registration form posts to a single Cloudflare Pages Function that sends email via raw SMTP (using Cloudflare’s connect socket API). No form backends, no database, no third-party dependencies. The organizer gets a notification email with all participant details, and the participant gets an automatic confirmation with payment instructions and venue info.

Spam protection without friction. Cloudflare Turnstile runs invisibly — no puzzles, no checkboxes. Server-side validation catches bots, honeypot field catches the rest.

Challenges

Raw SMTP on Cloudflare Workers. Cloudflare doesn’t support Node.js net or nodemailer. The email function uses cloudflare:sockets to open a raw TLS connection and speaks the SMTP protocol directly — EHLO, AUTH LOGIN, MAIL FROM, RCPT TO, DATA, base64-encoded MIME. No libraries, no dependencies.

Polish character encoding. Camp details, confirmation emails, and form submissions all use Polish characters. The SMTP function handles UTF-8 encoding with base64 content transfer to ensure nothing breaks across email clients.

Results

Live on a custom domain the next morning — client started sharing the link immediately

Zero running costs — Cloudflare Pages free tier, no database, no third-party form service

Fully static except for one serverless function — loads instantly on any connection

Need a site, a custom tool, or full e-commerce build?

Send scope, budget range, and timeline. I will reply with a realistic plan.

hello@fao.dev