Petr Mašát

Hi, I'm

Petr Mašát

Fullstack developer · Tech lead · I build products and the teams behind them

About me

I'm a fullstack developer with 20+ years in the field and a strong backend foundation. I take projects from a first idea to something real and shipped — and I build the products and teams that get them there.

Currently working as a frontend developer, tech lead and people lead at Adastra while also developing the Hrejko game engine as a fullstack side project. I combine technical quality with leadership, mentoring, and the ability to keep both product and delivery moving in the right direction.

For Granton, I run technical interviews with candidates, evaluating not only their technical skills but also how they might fit into a team, what motivates them, and how they approach learning and long-term growth.

AI is part of my daily workflow — GitHub Copilot, Claude, Cursor. It helps me with architecture decisions, code review, tests, and documentation. Not just a tool, but a way of working.

× AI used pragmatically, securely, and with long-term project health in mind ×

Skills

  • TypeScript · JavaScript · React · Node.js
  • Next.js · Vite · Astro
  • WebSocket · Real-time systems
  • Team building · Technical interviews · Mentoring
  • Team Lead · Solution Architect · Client communication
  • Docker · CI/CD · Monorepo (pnpm)
  • AI: GitHub Copilot · Claude · Cursor

Outside of code

Aikido (3rd dan), Japanese culture, travel, indie game development, co-organiser of Nette community meetups, consulting for Czechitas.

Projects

Framework Multiplayer Open Source
v1.0.0

Hrejko

The simplest possible multiplayer framework for React developers — built on solid fundamentals: Node.js, WebSocket, React and TypeScript. No unnecessary dependencies, no vendor lock-in.

  • Real-time multiplayer via WebSocket
  • Automatic state synchronisation
  • Zero-complexity API · 5 core dependencies
  • Docker ready · QNAP · Kubernetes
🐍 Example

Snake (example project)

A compact top-down sample game demonstrating game loop and state sync in Hrejko.

🚀 Game Action
Tunneler Reborn gameplay screenshot

Tunneler Reborn

Full 8-direction tank combat. A standalone project built on top of the Hrejko framework.

🔥 Educational UX/UI

Forms From Hell

An educational game — ten levels of UX/UI suffering. Forms that look innocent yet hide usability nightmares: missing labels, aggressive validation, dark patterns. A hands-on way to learn what not to do.

🧭 Satire AI

SureNav

A parody "smart navigation of a new generation" that only takes its looks seriously. Routes are 100% invented by a language model (via Pollinations.ai) — streets, turns, times and distances are pure fiction. A tongue-in-cheek reminder that confident-sounding AI output can have nothing to do with reality.

Experience

A selection from 20+ years in the field

💼

Pluxee

B2B employee benefits platform. Modern frontend development with focus on forms, validation, and UX.

ReactVitereact-hook-formZodTypeScript
✈️

Fllite.com

Uber for private aviation. 1,000+ charter operators across the US. Complex admin panel and customer portal.

ReactNext.jsreact-adminMUIreact-queryTypeScript
📺

moTV.eu

IPTV portal for 1M+ users. Transformed a legacy PHP solution into a modern SPA, long-term support.

ReactReduxMUIFormik
🏦

HomeCredit a.s.

Intranet for 12 countries worldwide. Team lead, solution architect, optimised for diverse environments and departments.

LiferayReactBootstrap
🎮

TunnelerOnline (predecessor)

Porting a DOS game to the browser with real-time multiplayer combat. Full stack from frontend to backend with GraphQL and Prisma.

ReactNode.jsGraphQLPrismaTypeScriptNexus
❤️

Šance pro děti

Charity project. Full-stack development from scratch, optimised for high load.

Node.jsReactRethinkDBWebpack

Open Source

~/chaos-proxy/package.json

vite-plugin-chaos-proxy

npm package

A Vite plugin that injects proxy chaos — random errors and response delays. Perfect for testing frontend resilience against unstable APIs.

$ npm install --save-dev vite-plugin-chaos-proxy
import chaosProxy from 'vite-plugin-chaos-proxy'

export default defineConfig({
plugins: [chaosProxy({
targets: ['/api/**'],
errorRate: 0.2,
delayMs: [100, 2000]
})]
})

Contact

Got a project, an idea, or just a question? I'd love to hear from you.

Or reach me directly:

▶ Discord