https://github.com/jonathanperis/jonathanperis
GitHub profile README -- terminal-themed developer portfolio showcasing microservices, game dev, and polyglot performance engineering
https://github.com/jonathanperis/jonathanperis
brazil clean-architecture csharp developer dotnet game-dev github-profile go microservices open-source performance portfolio readme rust typescript
Last synced: 1 day ago
JSON representation
GitHub profile README -- terminal-themed developer portfolio showcasing microservices, game dev, and polyglot performance engineering
- Host: GitHub
- URL: https://github.com/jonathanperis/jonathanperis
- Owner: jonathanperis
- License: mit
- Created: 2026-03-30T22:54:35.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-15T00:35:17.000Z (2 days ago)
- Last Synced: 2026-06-15T02:23:54.247Z (2 days ago)
- Topics: brazil, clean-architecture, csharp, developer, dotnet, game-dev, github-profile, go, microservices, open-source, performance, portfolio, readme, rust, typescript
- Homepage: https://jonathanperis.github.io
- Size: 43 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
```
> "A Vinganca nunca e plena, mata a alma e a envenena." - Seu Madruga
```
```csharp
var jonathan = new Developer
{
Location = "Itanhaem, SP, Brazil",
Company = "Peris Studio",
Focus = new[] { "Microservices", "Clean Architecture", "Performance Engineering" },
Languages = new[] { "C#", "Go", "Rust", "Python", "TypeScript", "C" },
Hobbies = new[] { "Game Dev", "Load Testing Everything", "Proving .NET Is Fast" }
};
```
### `$ whoami`
Software engineer focused on backend systems, benchmarking, and low-level game work. I build services, measure them, and then rebuild them in other languages to compare the results.
I keep the stack centered on .NET, but I also use Go, Rust, Python, TypeScript/ReactLynx, and C/SDL2 for projects that fit those tools better.
---
### `$ ls ~/projects --sort=stars`
**[cpnucleo](https://github.com/jonathanperis/cpnucleo)** `★ 8` \
Production-grade .NET 9 microservices reference architecture \
`Clean Architecture` `CQRS` `DDD` `gRPC` `FastEndpoints` `Blazor WASM` `Native AOT` `Docker` `PostgreSQL` `OpenTelemetry`
**[blazor-mudblazor-starter](https://github.com/jonathanperis/blazor-mudblazor-starter)** `★ 1` \
Blazor Server starter template with MudBlazor, multi-arch Docker, AOT + trimming \
`MudBlazor 8.3` `.NET 9` `Azure deployment` `CI/CD`
**[speedy-bird-lynx](https://github.com/jonathanperis/speedy-bird-lynx)** \
Cross-platform side scroller built with ReactLynx and TypeScript \
`ReactLynx` `TypeScript` `2D game` `cross-platform`
**[super-mango-editor](https://github.com/jonathanperis/super-mango-editor)** \
Classic 2D side-scrolling platformer in pure C + SDL2, playable in the browser via WebAssembly \
`32 render layers` `delta-time physics` `gamepad support` `parallax scrolling` `Emscripten` `pixel art`
**[rinha2-back-end-dotnet](https://github.com/jonathanperis/rinha2-back-end-dotnet)** `★ 3` \
Rinha de Backend challenge -- ASP.NET 9, Native AOT, 60% less RAM than allowed \
`< 800ms responses` `250MB RAM ceiling` `PostgreSQL stored functions` `Npgsql multiplexing`
**[rinha2-back-end-go](https://github.com/jonathanperis/rinha2-back-end-go)** \
Rinha de Backend implementation in Go, kept to a compact single-file service at ~190 lines \
`chi router` `pgx` `single-file` `compact`
**[rinha2-back-end-python](https://github.com/jonathanperis/rinha2-back-end-python)** \
Rinha de Backend implementation in Python for the same transaction workload \
`Python` `HTTP API` `database-backed` `benchmarking`
**[rinha2-back-end-rust](https://github.com/jonathanperis/rinha2-back-end-rust)** \
Rinha de Backend implementation in Rust, ~140 lines and backed by Actix-web \
`Actix-web` `Tokio` `SQLx` `single-file`
**[rinha2-back-end-k6](https://github.com/jonathanperis/rinha2-back-end-k6)** \
Shared stress test suite for all Rinha implementations -- k6 + InfluxDB + Grafana dashboards \
`load testing` `HTML reports` `custom xk6 binary`
**[jonathanperis.github.io](https://github.com/jonathanperis/jonathanperis.github.io)** \
Portfolio site with a dark terminal aesthetic, Konami code easter egg, and a fake terminal \
`Next.js 16` `React 19` `TypeScript` `Tailwind CSS v4` `portfolio`
---
### `$ cat /proc/tech_stack`
```
+-----------------------+--------------------------------------------------+
| Backend | .NET 9, ASP.NET, FastEndpoints, gRPC, EF Core, |
| | Dapper, Native AOT |
| Systems | Go (chi, pgx), Rust (Actix-web, Tokio, SQLx), |
| | C (SDL2, Emscripten/WASM) |
| Frontend | Blazor WASM, React 19, ReactLynx, Next.js 16, |
| | TypeScript, Tailwind CSS, MudBlazor |
| Infrastructure | Docker, Nginx, PostgreSQL, GitHub Actions |
| Observability | OpenTelemetry, Grafana, InfluxDB, k6 |
| Architecture | Clean Architecture, CQRS, DDD, Microservices |
+-----------------------+--------------------------------------------------+
```
---
### `$ cat benchmarks.md`
The **Rinha de Backend** challenge: handle concurrent credit/debit transactions across 2 API instances behind Nginx, all within **550 MB total RAM** with every response under **800 ms p99** — same workload across **5 implementations**, same PostgreSQL stored procedures, same Nginx config, same [k6 stress harness](https://github.com/jonathanperis/rinha2-back-end-k6).
| Impl | Lang | Framework | DB driver | LOC | CI | Notable |
|------|------|-----------|-----------|----:|----|---------|
| [rinha2-back-end-dotnet](https://github.com/jonathanperis/rinha2-back-end-dotnet) | C# | ASP.NET 10 + FastEndpoints | Npgsql multiplexing | ~200 | [](https://github.com/jonathanperis/rinha2-back-end-dotnet/actions) | Native AOT, 60% RAM headroom |
| [rinha2-back-end-go](https://github.com/jonathanperis/rinha2-back-end-go) | Go | chi | pgx v5 | ~190 | [](https://github.com/jonathanperis/rinha2-back-end-go/actions) | Single-file service |
| [rinha2-back-end-rust](https://github.com/jonathanperis/rinha2-back-end-rust) | Rust | Actix-web + Tokio | SQLx | ~140 | [](https://github.com/jonathanperis/rinha2-back-end-rust/actions) | Smallest LOC |
| [rinha2-back-end-python](https://github.com/jonathanperis/rinha2-back-end-python) | Python | FastAPI / asyncpg | asyncpg | ~150 | [](https://github.com/jonathanperis/rinha2-back-end-python/actions) | Same API contract, compact |
| [rinha2-back-end-k6](https://github.com/jonathanperis/rinha2-back-end-k6) | JS (k6) | xk6 + Grafana | — | — | [](https://github.com/jonathanperis/rinha2-back-end-k6/actions) | Shared stress harness |
> All four service repos share a `Reusable — Deploy docs to GitHub Pages` workflow defined in [`jonathanperis/.github`](https://github.com/jonathanperis/.github/blob/main/.github/workflows/pages-docs-deploy.yml) — every consumer's deploy job is ~10 lines of YAML.
---
### `$ neofetch`
```
jonathan@peris-studio
----------------------
OS: macOS / Linux / Docker
Shell: zsh + dotfiles
Editor: VS Code + JetBrains
Uptime: coding since 2015
Repos: 13 active, 0 abandoned
Packages: NuGet, npm, Cargo, pip
Theme: Dark Terminal Aesthetic
Contact: jperis.silva@gmail.com
Portfolio: https://jonathanperis.github.io/
Twitter: @jperis_silva
```
---
---

---
hint: visit jonathanperis.github.io and try the Konami code