A modern, animated portfolio built with Next.js, TypeScript & Tailwind CSS
This is my personal portfolio website showcasing my work as a Full Stack TypeScript Engineer & CISO at NFCtron. It uses an editorial bento layout, restrained motion, and live integrations to present selected work without unnecessary chrome.
- π¨ Editorial Design β A distinctive responsive bento system with custom typography
- π Selected Work β Featuring
gopay-sdk, Snipr, and NFCtron - β‘ Live Spotify β Currently playing via Spotify Web API (when configured)
- π± Fully Responsive β Optimized for all devices
- π Dark Mode β Automatic dark/light theme switching
- π Smooth Animations β Framer Motion powered transitions
- π§ Contact Form β Private Discord delivery with managed Cloudflare Turnstile protection and a LinkedIn fallback
- β‘ Fast Performance β Next.js 16 with static generation and Turbopack
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 16.2.11 | React framework with SSR/SSG |
| React | 19.2.8 | UI library |
| TypeScript | 6.0.3 | Type-safe development |
| Tailwind CSS | 4.3.3 | Utility-first styling |
- Framer Motion β Smooth animations and transitions
- Sonner β Accessible toast notifications
- React Icons β Icon library
- Spotify Web API β βNow playingβ on the homepage (optional
SPOTIFY_*env)
# Clone the repository
git clone https://github.com/dominikzabcik/website.git
cd website
# Install dependencies
bun install
# Set up environment variables
cp .env.example .env
# Edit .env with your credentials
# Run development server
bun run devCreate a .env file with the following:
# Discord Webhook (for contact form)
DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
# Cloudflare Turnstile
TURNSTILE_SECRET_KEY=your_secret_key
# Optional: Spotify and Vercel KV, see .env.exampleBoth contact variables are required for message delivery. Builds remain available without them; the API fails closed and the form offers LinkedIn as a fallback. Verification and webhook calls each have a seven-second deadline.
# Run lint, type checks, formatting checks, and unit tests
bun run check
# Build for production
bun run build
# Run browser smoke tests
bun run test:e2e
# Start production server
bun run startEdit these files to customize:
src/pages/index.tsxβ Main content, links, biosrc/pages/_app.tsxβ Meta tags, page title
- Tailwind CSS v4 theme and global styles β
src/globals.css - Portfolio structure and content β
src/pages/index.tsx - Typography and metadata β
src/pages/_app.tsx
This website was originally based on the amazing work of:
- Alistair Smith (@alii) β Original website design and concept
- Repository:
alii/website
- Repository:
- Ana Arsonist β For open sourcing her website design elements
- Repository:
AnaArsonist/anahoward.me
- Repository:
This project is open source under the Apache-2.0 License. See CONTRIBUTING.md if you want to open a pull request.
If you use this as a template, please:
- β Star the original repository
alii/website - π Keep attribution credits in your README
- π¨ Make it your own with unique content and styling
I'm Dominik Ε½abΔΓk, a Full Stack TypeScript engineer from Prague, Czech Republic.
- π CISO at NFCtron β Leading security and backend development
- π³ Payment Systems β Building PCI-compliant payment infrastructure
- πͺ Event Tech β Cashless payments for events across Europe
- π οΈ Full Stack β From database design to frontend animations
- π₯ Building secure, scalable microservices
- π Optimizing high-throughput payment processing
- π PCI-DSS compliance & security architecture
- π Real-time event management systems
πΌ Hiring? Check out NFCtron careers β we're always looking for exceptional people!
Built with β€οΈ in Prague, Czech Republic
Β© 2026 Dominik Ε½abΔΓk