Skip to content

luisdralves

About

What I do

Senior frontend engineer, six years in the trade

CV

Based in

Viana do Castelo, Portugal. Looking to relocate.

Internationally known

Volunteered in rural Bulgaria, until COVID interrupted me

NGO

President of a youth organization

Soapbox

Cities would be better with fewer cars and more transit

Languages

🇵🇹 Portuguese (native), 🇬🇧 English (fluent), 🇳🇱 Dutch (learning)

Off the clock

Board games, hiking, photography

Projects

01 / 08

Time doesn't have to be a circle.

A collection of alternative clocks that challenge how we visualize time. Some are practical, some aren't, but they all toy with convention.

02 / 08

Now everyone can have a cool profile pic like me

Add recursion to your photos! Simply draw a "hole" around an object or region and watch your photo fold in on itself, infinitely. All processing happens locally via WebGL shaders, nothing leaves your browser.

Drawing a mask on a photo
03 / 08

A physical collection, rendered in physics.

Cataloguing my father's coin collection in 3D, built from Numista data and assets. Browse by country, inspect coins in a showcase, or watch a set tumble into a pile.

04 / 08

Bring the receipts to your next argument.

A household chore tracker with a bit of gamification. Log who did what, when, and with how much effort. Each finished task earns XP and drops down a queue that ranks chores by urgency. Track your XP over time.

Per-person XP, an evolution chart, and recent history
05 / 08

Putting memories on the map

I've been known to indulge in retrospection and melancholy from time to time. I like to keep track of where I've been and look back.

Locations without clustering
06 / 08

TUI aesthetics and real-time

Just another todo app. This one mimics a terminal interface and is collaborative in real-time. Everything over WebSockets, even auth.

Todo lists with items
07 / 08

System monitor on the web

A system monitor that reads metrics with Rust and renders them on HTML canvas. CPU, memory, disk, network, all updating in real-time with a persistent window so that the charts are populated on first load. This one uses simple polling instead of WebSockets or SSEs though.

08 / 08

It outgrew its own case.

15+ services on hardware I own, behind a reverse proxy. Email, photos, code, media, dashboards, personal projects. A repurposed gaming desktop that ran out of room in two different ways: no free space left on its disks and no free bays left inside the case. Shown here mid-upgrade. Don't worry about the cables, they don't look like this now :)

The server with its side panel off, an external drive cage wired in beside it

But wait, there's more!

It's just that this was getting a little long

Photography

Moments captured through the lens.