- 👯 I'm currently Backend Engineer at Epic Games
- 🔭 I'm currently working on Fitter — web data for AI agents
- 😄 Love dunks, football, basketball
- 📫 Twitter | Telegram
Tip
Every link below opens the fitter playground — my scraping engine compiled to WebAssembly — and runs a real scrape in your browser. No install, no backend, no API keys: the whole config travels inside the URL.
| Live scrape | What comes back | |
|---|---|---|
| 🔎 | Fact-check this profile | my stats straight from the GitHub API, plus an honest verdict field |
| 👨💻 | Catch me coding | my latest public GitHub event, red-handed |
| ⭐ | Should you star fitter? | a live, data-driven, completely unbiased answer |
| 📉 | Free financial advice | real-time BTC through my proprietary algorithm: change > 0 ? "HODL" : "HODL harder" |
| 🥁 | Emergency dad joke | fetched, parsed and strongly typed — enterprise-grade humor delivery |
🧐 How the magic works (yes, this section is collapsible — GitHub said we could)
Each link carries a declarative fitter config, deflate-compressed into the ?q= parameter. The playground decodes it and the real Go engine — the same code as the fitter CLI and MCP server, compiled to WASM — executes it entirely client-side. This is the "fact-check this profile" config:
{
"item": {
"connector_config": {
"response_type": "json",
"url": "https://api.github.com/users/PxyUp",
"server_config": {
"method": "GET"
}
},
"model": {
"object_config": {
"fields": {
"name": {
"base_field": {
"type": "string",
"path": "name"
}
},
"works_at": {
"base_field": {
"type": "string",
"path": "company"
}
},
"public_repos": {
"base_field": {
"type": "int",
"path": "public_repos"
}
},
"followers": {
"base_field": {
"type": "int",
"path": "followers"
}
},
"verdict": {
"base_field": {
"type": "int",
"path": "followers",
"generated": {
"calculated": {
"type": "string",
"expression": "fRes >= 100 ? \"certified influencer\" : \"artisanal, small-batch following\""
}
}
}
}
}
}
}
}
}Want your own? Build a config in the playground, hit Share, paste the link anywhere. LLMs can author these configs too — that's the whole point: fitter is an MCP server, so Claude can scrape the web for you, locally.
This is not a committed image. When you loaded this page, a headless browser opened live.html on my GitHub Pages, the real fitter engine (Go → WASM) pulled its configs from this repo, scraped six live sources and rendered the terminal below — you're looking at a photograph of that run, re-taken whenever the image caches expire (hours, not seconds). Click it to watch the same run happen live in your browser:
- ⚡ Fitter | DEMO - turn any website or API into structured JSON, declaratively. MCP server included, so AI agents can fetch web data locally https://github.com/PxyUp/fitter
- ⚡ Squzy | DEMO - high-performance open-source monitoring, incident and alert system https://github.com/squzy
- ⚡ Revact - Lightweight replacement of React + MobX + React Router. https://github.com/PxyUp/Revact
- 📫 This is bounce! - Game on Swift (Using sprite kit)


