Higher Diploma in Web Application Development
I.E.S. Armando Cotarelo Valledor, 2020 – 2022
EQF level 5Available· can start immediately
Full-stack web developer. I master front-end, back-end and databases, and I prove it with three live projects of my own and an operating system in development, Tesela.
On the server I work with PHP and Node.js, and I know Java and Spring well from my web development diploma (DAW). I also build for Android with Kotlin and for Linux systems with Bash and Python, which I use to build Tesela, my own operating system. Here is the detail, with examples of how I write code.
@RestController@RequestMapping("/api/tasks")public class TaskController { private final TaskService service; public TaskController(TaskService service) { this.service = service; } @GetMapping("/{id}") public ResponseEntity<TaskDto> ver(@PathVariable Long id) { return service.buscar(id) .map(ResponseEntity::ok) .orElse(ResponseEntity.notFound().build()); }}
<?phpRoute::get('/inmuebles', function (Request $request) { return Inmueble::query() ->where('operacion', $request->input('operacion')) ->whereBetween('precio', [ $request->integer('min'), $request->integer('max', PHP_INT_MAX), ]) ->with('fotos') ->latest() ->paginate(20);});
fun update(dt: Float) { bubble.speed += GRAVITY * dt bubble.y += bubble.speed * dt for (building in buildings) { if (building.hits(bubble)) { return gameOver() } if (!building.passed && building.x < bubble.x) { building.passed = true score++ } }}
SELECT j.apodo, MAX(p.puntos) AS record, RANK() OVER (ORDER BY MAX(p.puntos) DESC) AS puestoFROM partidas pJOIN jugadores j ON j.id = p.jugador_idWHERE p.fecha >= CURDATE() - INTERVAL 7 DAYGROUP BY j.id, j.apodoORDER BY puestoLIMIT 50;
const form = document.querySelector('#alerta');form.addEventListener('submit', async (event) => { event.preventDefault(); const datos = Object.fromEntries(new FormData(form)); const res = await fetch('/api/alertas', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(datos), }); form.dataset.estado = res.ok ? 'creada' : 'error';});
#!/usr/bin/env bash# Tesela: picks the graphics driver at bootset -euo pipefailgpu=$(lspci -nn | grep -Ei 'vga|3d' | head -n1)case "$gpu" in *NVIDIA*) driver=nvidia ;; *AMD*|*ATI*) driver=amdgpu ;; *Intel*) driver=i915 ;; *) driver=modesetting ;;esacmodprobe "$driver"echo "driver: $driver" | systemd-cat -t tesela-graficos
Sample snippets written in the same style I use in my projects. Switch tabs to see each language.
HTML5Expert
CSS3, Grid and FlexboxExpert
JavaScriptExpert
AngularAdvanced
Responsive designExpert
PHPExpert
LaravelAdvanced
Java · DAW trainingAdvanced
Spring · DAW trainingAdvanced
Node.jsAdvanced
MySQL and SQLExpert
Kotlin for AndroidIntermediate
WordPress and themesAdvanced
E-commerceExpert
API integrationAdvanced
Linux and system administrationAdvanced
BashAdvanced
PythonIntermediate
Qt and QMLIntermediate
systemd and servicesAdvanced
System images and ISOsAdvanced
UEFI boot and Secure BootIntermediate
Containers (podman)Intermediate
SVG graphicsAdvanced
Adobe XDIntermediate
Adobe SuiteIntermediate
Microsoft OfficeExpert
Interface, API, business logic and database, designed and built by me.
Red Vivienda · Gum It! · D'Alençon Lancaster
Relational schemas, relationships, indexes and complex queries in MySQL.
Red Vivienda · Gum It! · D'Alençon Lancaster
Private areas with different permissions for clients, advertisers and administrators.
D'Alençon Lancaster · Gum It! · Red Vivienda
Automatic payments with Stripe and an invoice for every sale.
Gum It!
Translated interfaces and content: three, five and seven languages depending on the project.
Red Vivienda · Gum It! · D'Alençon Lancaster
Search by area, price and type, and multi-area search on a map.
Red Vivienda
Kotlin connected to my own PHP and MySQL API for leaderboards and the in-game economy.
Gum It!
Structured data, fast loading, keyboard navigation and responsive design.
D'Alençon Lancaster · this website
System image, installer, systemd services and UEFI Secure Boot, hand-built on a Linux base.
Three live projects of my own that you can try right now, and an operating system in development. All designed and built end to end by me.

Property portal
A portal to buy, rent or book holiday stays anywhere in Spain, with online valuation, price alerts and a register of unpaid rent.
What it shows
757 KB20 requests0 third partiesHTTP/3 · Brotli

Mobile game · Android
A free game where you blow a bubble-gum bubble and dodge buildings. Behind it is a complete product: leaderboards, prize draws and a platform where businesses buy their ads.
What it shows
120 KB8 requests0 third partiesHTTP/3 · Brotli

Legal and financial firm
Three applications in one: the firm's public website, a private portal where each client checks their case, and the admin panel that runs it all.
What it shows
104 KB7 requests0 third partiesHTTP/3 · Brotli
Tesela UpdateAl día
Puntos de restauraciónAl día
CortafuegosAl día
Operating system · In development
A desktop operating system in Spanish with a Linux base, designed as an alternative to Windows: it works like Windows 7, with its own visual style, no telemetry and everything local. It ships its own installer, first-run setup, control panel and updates.
What it shows
17,101 lines of its own codeQML · Bash · Python
// in development · no public website yet
Real data from each project, measured in production on 4 November 2026: how much each home page weighs, how many requests it makes, what it depends on and how it is protected.
Average website: 2,311 KB and 70 requests on mobile, according to HTTP Archive’s Web Almanac 2024.
Lighthouse 12 audit of the home page (mobile profile).
Real screenshots of my live projects, on mobile and on desktop. Hover to pause the reel.

















What my work looks like without an interface: this website’s changelog, its real security headers and the Tesela build.
$ cat CHANGELOG.md | head -6
2026-11-04 more visuals: phones, terminals and gallery
2026-11-03 Galician version of the whole site
2026-11-03 CSS and JS versioning for the CDN cache
2026-11-03 “Linux systems · Tesela” skill
2026-11-03 case studies in each project’s branding
2026-11-02 full redesign: terminal style and 3D
$ curl -sI https://nathanieldalencon.com
HTTP/2 200
content-type: text/html; charset=UTF-8
content-encoding: br
strict-transport-security: max-age=31536000; includeSubDomains
content-security-policy: default-src 'self'; script-src 'self' 'sha256-…
x-content-type-options: nosniff
referrer-policy: strict-origin-when-cross-origin
permissions-policy: geolocation=(), microphone=(), camera=()
# no frameworks · CSP with hashes · HSTS
$ bash construir.sh
[1/6] System image (podman build) ............. ok
[2/6] NVIDIA module built and signed (MOK) ..... ok
[3/6] OCI layers without duplicates ... 6.0 → 5.4 GB
[4/6] Minimal USB: 419 packages ................ ok
[5/6] ISO with signed shim + GRUB .............. ok
[6/6] GPL source code for distribution ......... ok
tesela.iso · ready to test
I have been coding since 2018 and working in law and finance since 2015. That combination is what I bring to a team.
I cover the full life cycle of an application: layout and interactivity with JavaScript and Angular, server logic with PHP, Laravel, Java and Spring, and database modelling in MySQL.
As a stockbroker and legal advisor, and after my time on ABANCA's financial management team, I understand the business behind the code: contracts, compliance, payments and sensitive data.
– present
Freelance
– present
D'Alençon Lancaster, Legal and Financial Services
–
ABANCA Corporación Bancaria
I.E.S. Armando Cotarelo Valledor, 2020 – 2022
EQF level 5Professional certificate, Xunta de Galicia, 2026
590 hoursI.E.S. Macías o Namorado, 2017 – 2019
EQF level 514 certifications. Drag to browse.
2026
Xunta de Galicia
2022
Xunta de Galicia
2022
Adobe Community Professional
2022
Xunta de Galicia
2022
Laborali
2022
Xunta de Galicia
2021
Ramon Llull University
2020
Ramon Llull University
2020
Dribbble
2018
Meetup WordPress
2018
Meetup WordPress
2017
Elisava School of Engineering
2017
Meetup WordPress
2017
Ramon Llull University
I can start immediately and I am fully available. Write to me and I'll get back to you the same day.
Or, if you prefer, another channel: