← Back to janperutka.com
01 / 11
⚙️
janperutka.com Data & Talent Suite
Automatic Data.
Smart Talent.
Tennis Scraper + Coach App
Press any key or click arrows to continue
Two Products. One Ecosystem.
Built for
national federations
Tennis Scraper
Automatic Data Pipeline
Scrapes ITF, ČTS and Tennis Europe automatically every month. Generates Excel schedules for coaches. Sends monthly reports by email. No manual work.
3 Sources scraped automatically
0 Manual hours per month
Coach App
Talent Centre Management
Web platform for federation talent centres (TSM, KTA). Coaches track activities, player development cards, and camps. Multi-role access: player, coach, coordinator, admin.
4 User roles
3 Talent centre tiers (TSM/KTA/PS)
The Problem
Data buried.
Talent invisible.
🔍
Manual search
Coaches spend hours searching tournaments on ITF, ČTS, and Tennis Europe. Data copied into Excel by hand. Every month.
Hours lost. Outdated data. Missed tournaments.
📂
Paper & Excel
Player development tracked in paper forms or spreadsheets. No structure, no history, no cross-centre visibility.
Coordinator can't see what's happening in other centres.
🏕️
Camps without data
Training camps have no standardised structure. No log of hours, activities or outcomes across the federation.
Every centre does it differently. No baseline to improve from.
Tennis Scraper
Data on autopilot.
Every month.
🌐
Sources
ITF · ČTS
Tennis Europe
🤖
Puppeteer
Headless scraping
on Railway
📊
Excel
Formatted schedule
ready to share
🗄️
Database
Stored in Supabase
for Coach App
📧
Email
Monthly report
sent automatically
⏱ Cron · 11th of each month · 6:00 UTC
Runs automatically. Discord alert on failure. Zero maintenance needed once deployed.
Scraper Output
Coach opens email.
Schedule is ready.
Tournament Date Category Grade
ITF J1 Prostějov
Jun 10–15
U18
Grade A
Tennis Europe U14 Prague
Jun 17–22
U14
Grade 1
ČTS Junior Cup Brno
Jun 20–23
U16
National
ITF J3 Ostrava
Jul 1–6
U18
Grade C
Tennis Europe Girls U12
Jul 8–12
U12
Grade 2
📬
Delivered to coaches
Excel file sent by email every month. Opens in any spreadsheet app — no setup needed.
🎯
Relevant per player
Tournaments filtered by age group and ranking. Coach sees only what matters for their players.
Zero manual work
No searching, no copy-pasting. Data arrives formatted and ready to distribute.
Coach App
Every role.
One platform.
🏃
Player (15+)
Sees own profile, activity history, development evaluations.
GDPR compliant
🎾
Coach
Logs activities, fills player cards, manages camp schedules.
Talent centre
📊
Coordinator
Overview of the entire talent centre. Approvals, reports, cross-coach visibility.
TSM / KTA
🏛️
Admin / Federation
Global view, user management, all centres, national reports.
Federation level
Built specifically for Czech federation talent structure: TSM (top 20 per age group) · KTA (21–60th) · PS (preparatory, age 6–9)
Coach App — Player Card
Coach knows the player
before they meet.
Novák, Jan
TSM · Born 2009 · Ranking #14 U16
Tennis
Fitness
Physio
Mental
Nutrition
Current strengths
Powerful baseline play, aggressive FH cross-court. Consistent first serve under pressure.
Development priority
Backhand slice on high balls. Net approach timing needs improvement.
Last evaluation
March 31, 2026 · Coach: Perutka
Recent Activities
Tennis · 90 min
Jun 11, 2026
Tennis
Fitness · 60 min
Jun 10, 2026
Fitness
Mental prep · 45 min
Jun 9, 2026
Mental
Physiotherapy
Jun 7, 2026
Physio
Each player has one activity entry per day. Deduplication built in. GDPR-compliant for all age groups.
Roadmap
Built now.
Expanding fast.
✓ Live
Foundation
  • Tennis Scraper — 3 sources, monthly cron
  • Excel report generation + email delivery
  • Coach App deployed (Vercel)
  • Player management, activity logging
  • Multi-role auth (player/coach/coordinator/admin)
  • Admin panel + Edge Functions
→ In Progress
Player Card Sprint
  • 5-tab player card: Tennis/Fitness/Physio/Mental/Nutrition
  • Evaluation deadlines: Nov 30 + Mar 31
  • GDPR field-level redaction for mental data
  • Camp module: 4 session types, report export
  • Audit log + RBAC for players under 15
Upcoming
Mini Tennis & AI
  • Mini Tennis Ranking — Vercel dashboard
  • Railway nightly scrape + OCR of draw sheets
  • Claude Vision for PDF tournament brackets
  • Federation SSO integration
  • AI recommendation engine for talent selection
Key Benefits
Why federations
choose this
Tennis Scraper
⏱️
Zero hours of manual work — tournament data from ITF, ČTS and Tennis Europe arrives automatically every month.
📬
Coaches get the schedule in their inbox — formatted Excel, ready to distribute, no setup required.
🔔
Runs reliably — Discord alert on any failure. You know immediately if something goes wrong.
Coach App
👁️
Federation sees every talent — complete development data across all centres in one platform.
📋
Player card built on real data — coach knows the player before meeting them. Structured evaluations twice a year.
🔒
GDPR from day one — audit log, role-based access, field-level redaction for sensitive youth data.
Status
In production.
ČTS reference.
Tennis Scraper · Live
Current Status
Railway cron running — 11th each month
Excel generation + email delivery active
Discord webhook for failure alerts
Mini Tennis Ranking migration in progress
Coach App · Live
Deployed at
tennis-coach-app-tan.vercel.app
Multi-role auth deployed
Admin panel + Edge Functions live
Smoke test passed — May 2026
Player card sprint starting
Tech Stack
Node.js 20 Puppeteer Cheerio Railway React Supabase Vercel Resend xlsx-js
Reference
Developed with Czech Tennis Association input · 2026.
Built for real federation structure — TSM, KTA, PS talent centres.
Automate your
talent pipeline.
Tennis Scraper + Coach App · janperutka.com
3 Data sources
4 User roles
0 Manual hours/month
Developed with · Czech Tennis Association · input · 2026