An open API service indexing awesome lists of open source software.

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

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 | [![CI](https://github.com/jonathanperis/rinha2-back-end-dotnet/actions/workflows/build-check.yml/badge.svg)](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 | [![CI](https://github.com/jonathanperis/rinha2-back-end-go/actions/workflows/build-check.yml/badge.svg)](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 | [![CI](https://github.com/jonathanperis/rinha2-back-end-rust/actions/workflows/build-check.yml/badge.svg)](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 | [![CI](https://github.com/jonathanperis/rinha2-back-end-python/actions/workflows/build-check.yml/badge.svg)](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 | — | — | [![CI](https://github.com/jonathanperis/rinha2-back-end-k6/actions/workflows/codeql.yml/badge.svg)](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
```

---


Live demo → | Documentation →

---



github-snake

---


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