vinícius vidal / portfolio

Vinícius Vidal

systems & backend engineer (rust) · Americana, Brazil

I mostly write Rust and C: servers, network protocols, and the operating system parts underneath them.

focussystems, networking
langsrust · c · go · ts
resumepdf

Selected builds

P01

myownredis

Redis server in Rust speaking RESP2
source
Listener and per connection handler over Tokio, a Connection owning read and write buffers, and a Frame decoder driven by a cursor so partial reads never allocate a half frame. Split into a workspace: a shared resp crate used by both the server and a CLI client. Supports key expiration.
rusttokioresp2protocols
specifications
Protocolincremental parser and encoderRESP2
Cratescargo workspaceserver · resp · cli
Loggingstructuredtracing
P02

http-server

HTTP/1.1 from scratch
source
Request parsing, keep alive, static file serving and content encoding negotiation, with gzip when the client accepts it. No HTTP crates: the parser and response writer work directly on the socket buffers.
rusthttp/1.1networking
specifications
Connectionspersistentkeep alive
EncodingAccept-Encoding negotiationgzip
HTTP cratesdependencies0
P03

dns-server

Async DNS server, authoritative and forwarding
source
A UDP listener hands each query to its own Tokio task over shared server state. The packet layer parses and serializes the header, flags and questions by hand, following compression pointers when reading names. In forwarder mode a pool of UDP sockets rewrites each query id at random and routes the upstream reply back to the waiting task through a oneshot channel.
rusttokiodnsudp
specifications
Modesauthoritative, forwarder2
Record typesauthoritative zoneA
Wire formatparser + writerby hand
DNS cratesdependencies0
P04

micless

iPhone as a Mac microphone
source
An iOS sender streams raw PCM over UDP with a TCP control channel. The Rust receiver writes samples into a shared memory SPSC ring, and a macOS Audio Server plugin, also in Rust, reads from it.
rustudpcoreaudioffi
specifications
Transportcontrol / audiotcp · udp
Buffershared memoryspsc ring
DriverAudioServerPlugIn over FFIrust cdylib
Dependenciesreceiver, ring, driverstd + libc

Smaller builds

buildwhatarea
futex mutexMutex built directly on Linux futex syscalls.sync
oneshotAtomicU8 state machine over a MaybeUninit slot, park and unpark instead of a condvar.sync
arcReference counting with Release decrement and an Acquire fence before freeing.memory
mpscBounded channel with separate condvars for each side and drop driven shutdown.sync
job queueIn memory queue with leases, retries and a dead letter queue.systems

Writing

5 posts
  1. Everything Is a File, So What Is a File?

    What "everything is a file" really means: files, directories, file descriptors, and the system calls that connect them.

  2. System calls in depth

    How a one-line printf actually crosses into the kernel. Privilege levels, traps, MSR_LSTAR, the kernel stack, and entry_SYSCALL_64.

  3. Strings in Rust: how they differ from C

    char*, null terminators, fat pointers, DSTs, and Deref. Everything that makes Rust strings different from C, explained through memory.

  4. Networking concepts from the ground up

    Sockets, TCP, UDP, IP addresses, ports, byte order, and DNS. The concepts you need before writing a single line of network code.

  5. After all, what is a .tar.gz file?

    What a .tar.gz actually is, where its shape comes from, and what the flags in tar -xzvf mean.

About

Self taught, coding since I was 14. Started on the web, then went down into operating systems, CPU architecture, compilers and networking, because I wanted to know what actually happens when code runs.

Stack

areatoolsused in
languagesRust, C, Go, TypeScript, SQLall builds
rustasync, Tokio, unsafe, FFI, no_stdmyownredis, http-server, dns-server, micless
systemsLinux, concurrency, atomics and memory ordering, epoll, io_uring, IPC, shared memorymicless, smaller builds, writing
networkingTCP/IP, UDP, network programming, binary protocol design and parsingmyownredis, http-server, dns-server, micless
alsoaxum, PostgreSQL, Node.js, React, AWS (Lambda, DynamoDB, SQS, S3)Fitscale, JStack

Experience

Fitscale

Full-stack developer10/2025 – 05/2026

Multi-tenant SaaS for fitness business management, end to end: React 19 frontend, TypeScript backend on AWS serverless.

  • Backend without an HTTP framework: controller, middleware, validation and authorization layers written by hand, so the request path stays explicit and dependency free.
  • Multi-tenant RBAC with hierarchical permissions, JWT refresh token rotation and OAuth.
  • DynamoDB single-table design with co-location to minimise round trips per request.
  • Published a versioned TypeScript SDK with automatic token refresh and request queuing, the main integration surface for external consumers.

JStack

Full-stack developer04/2024 – 10/2025

Course platforms and backoffice systems in TypeScript on AWS serverless.

  • Contributed to a video streaming system with access control and automated certificate generation.
  • Owned infrastructure as code and CI/CD pipelines.

Contact