Skip to content
Almar Ramos Curto

§ Lab

Tech Island

A small 3D map: one zone for my professional work, one for each of three of my projects and a contact point. The rest are on the projects page.

An experimental 3D view of my projects. It will be replaced by an editorial lab of experiments.

Interactive view

The same zones, as a list

On small screens or devices without WebGL, the 3D view is replaced by this list.

The 3D view is not loaded on small screens, so the zones are listed instead.

Back to home

Team work at AELIS Consulting

Enterprise software

Products of AELIS Consulting, built by its development team, where I work: warehouse management software and solutions integrated with the Sage 200 ERP. They belong to the company.

  • I work on them as part of the development team.
  • Only this general description is published: no names, code, screenshots, clients or internal details.

Fantasy padel app

Padelium

A mobile-first fantasy padel app with a Spring Boot domain backend and a Flutter client. In beta, paused since May 2026.

Java 21 · Spring Boot 4 · PostgreSQL · Flutter · Supabase · OpenAPI

  • Authentication and database on Supabase; scoring and leaderboards in Spring Boot.
  • Schema changes through Flyway migrations; integration tests run against H2.
  • Beta milestones: authentication, the scoring loop and a seeded leaderboard.

Personal finance PWA

Nido Finance

A personal budgeting and spending-analysis app that replaces a monthly spreadsheet: a React PWA over Supabase. In alpha.

React 19 · TypeScript · Supabase · PostgreSQL · Vite · Playwright

  • The schema evolves through versioned SQL migrations, tested with pgTAP.
  • Unit tests with Vitest and end-to-end tests with Playwright, in a three-job CI workflow.
  • Built with AI agents under a written contract; I review every change before it is merged.

Final degree project

SportStats

A web platform that brings sports data together with a micro-feed and recommends content with TF-IDF and k-NN. Graded 10/10 with honours.

Python · Flask · scikit-learn · MySQL · SQLAlchemy · pandas · BeautifulSoup

  • Sports data from API-SPORTS and from World Athletics, behind a disk cache with expiry.
  • Recommendations with TF-IDF and cosine k-NN in scikit-learn; the fitted model is persisted with joblib.
  • A Flask application over MySQL, with SQLAlchemy.