adprocode

adprocode

Antonio D. Palomo Cañete

Full Stack Web Developer

Projects.

Projects from the present to the past.

  1. Live · Apr 2026 – Present

    LifeOS

    Web application built to monitor, plan, and manage users' time and money. Closed alpha. Deployed on a self-hosted server with an active domain as of today.

    • FastAPI
    • PostgreSQL
    • Docker
    • Cloudflare Tunnel
    • AI (co-dev)
    Read more

    What did I do?

    • Categorised activity tracking and planning: what is done, how long, and in which area of life.
    • Monetary tracking and planning: income, expenses, and personal financial projection.
    • Integrated honeypot for the homelab: passive detection of unauthorised access attempts.
    • Long-term goal: large-scale personal data collection to train specialised AI agents covering nutrition, time management, finances, and personal training. Theoretical framework under active hypothesis testing.
    • Multiplatform stack with three environments (dev / prod-staging / prod) over the same Docker Compose, separated only by `.env`.
    • Production-grade security: bcrypt cost 12, TOTP encrypted at rest, CSP, rate limiting, OWASP headers, Cloudflare Tunnel.

    Why did I make this project?

    • To learn backend development with Python.
    • To learn how to deploy on a self-hosted server.
    • To manage my time and money better.
    • Daily summary

    • Log activity

    • Edit activity

    • Overall progress

    • Health progress

    • Expenses · list

    • Expenses · detail

    • Expenses · summary

    • Security · settings

    • Security · TOTP

    • Security · sessions

    • Authentication

  2. On hold · Jan 2026 – Present

    Venture

    JavaScript and WebGL2 client with an authoritative Node.js server for an isometric (2.5D) online multiplayer RPG. Renderer and shaders written directly on WebGL2.

    • WebGL2
    • GLSL ES 3.0
    • JavaScript
    • Node.js
    • Express
    • Socket.IO
    • Web Audio API
    • Blender
    • Python
    • AI (co-dev)
    Read more

    What did I do?

    • 3-layer renderer in WebGL2 / GLSL ES 3.0. Sprites in TEXTURE_2D_ARRAY (colour, normal, mask) with per-fragment Blinn-Phong, up to 16 concurrent lights in a std140 UBO with viewport culling and prioritisation. Instanced rendering: 1 draw call per texture batch.
    • Effects pipeline: 4000-particle pool with CPU simulation and instanced rendering, decals, outlines, glow pass (threshold + Kawase blur), ray-AABB shadow map over occluder volumes.
    • 2D spatial audio over Web Audio API: stereo panning and distance attenuation integrated into the game loop.
    • Authoritative server at 20 Hz with ECS architecture: entities as data-component containers, decoupled systems (Movement, Combat, AI, Pathfinding, Loot, Death, EntityState).
    • Command pattern for player actions: 14 commands validated per tick with a circular log for auditing. Observer (EventBus) for inter-system communication.
    • Network layer: chunk-based spatial grid with O(k) queries, room broadcast, per-socket snapshots, and delta compression — only changed fields sent per tick.
    • Live paper doll: equipment slots swappable at runtime without reload, with per-mask-zone colour profiles.
    • Custom content editor for weapons, armour, monsters, statics, attack areas, abilities, and colour profiles. 100% data-driven content (JSON). Pre-render pipeline in Blender with Python to generate the 3-layer sprites.

    Why did I make this project?

    • To learn Node.js on the backend.
    • Because I love video games.
    • Because during my studies we saw very few applications using sockets.
    • Dynamic lighting · cathedral

    • Outdoor night scene

    • Combat and HUD

    • Multiplayer · interest management

    • Live chat · multiplayer

    • Bots and chat · behaviour testing

    • Weapon editor · 3 layers

    • Procedural generation · 100 chunks

    • Monster editor

  3. Internship · Jun 2025 – Aug 2025

    CodeArts

    First formal professional experience: internship at a consultancy, contributing to a web product (showcase and ticket sales) for one of their clients. Symfony, Angular, PostgreSQL, Docker. Remote team, code reviews on PR.

    • Symfony
    • Angular
    • PostgreSQL
    • Docker
    Read more

    What did I do?

    • Real image sanitisation: upload API passing a 9-payload embedded test. Self-hosted with full responsibility, no third-party services.
    • JWT, httpOnly cookies, and server sessions: the grown-up version of the hand-rolled session system from Platos en ruta.
    • Refactor of the existing API and ER, SOLID class refactor, UI redesign with foundations for a style guide. Contribution accepted by the team.
    • Learned to use GitHub properly, and discovered first-hand the difficulties of taking over an in-progress project and working from scratch with a new team.

    Why did I make this project?

    • To learn Angular.
    • To consolidate my PHP knowledge.
    • To earn the degree.
  4. End of module · Feb 2025 – Apr 2025

    Platos en ruta

    End-of-studies project: two PHP monoliths for food delivery businesses. One handles online sales for the customer; the other lets the restaurant receive and manage orders. No framework.

    • PHP
    • JavaScript
    • Apache
    • CSS
    Read more

    What did I do?

    • Online storefront: menu catalogue, cart, and full order flow for the end customer.
    • Order manager with status tracker: the restaurant receives, accepts, prepares, and closes orders in real time.
    • Menu manager: create, edit, and remove products with photo upload from the management panel.
    • Two communicating monoliths: PlatosEnRuta (customer) and PlatosEnGestion (manager) on separate VirtualHosts, with an authenticated cross-domain endpoint for image uploads.
    • Native PHP and JavaScript, no framework. Custom session system: 64-hex opaque token, double expiry, strict CSP with nonces, hand-rolled CSRF.
    • Documented technical debt: 7 known issues explicitly named in code. No makeup.
    • UI and UX neglected: the project was focused on the backend.

    Why did I make this project?

    • To build a frontend and a backend without frameworks, recreating from scratch the tools that any library gives you out of the box: login, tokenisation, cross-domain API communication.
    • Customer landing

    • Menu · catalogue by category

    • Edit order · cart and comment

    • PlatosEnGestion · real-time kitchen

    Platos en ruta · Project videos

Antonio David Palomo Cañete, professional portrait.

About

My passion for technology started very early: in '99 I got my first PC, and by the 2000s I was already tinkering with RPG Maker. Years later, in high school, came C++. Always hungry for knowledge and full of curiosity, by my teens I had already programmed in PHP and JavaScript.

Although my professional life has not been connected to new technologies, they have always been very present in my day-to-day. I was raised on Windows, but I started using Linux drawn by the world of cybersecurity — especially Red Team.

In 2023, after completing a cybersecurity course at INCIBE, I decided to commit fully: I enrolled and graduated in web application development.

Since then I have worked with diverse stacks: native PHP and Symfony, Node and JavaScript, Python and FastAPI, WebGL2 and GLSL. A love for databases: MySQL, Oracle, PostgreSQL. Engaged with the use of Artificial Intelligence, adapting to the new markets.

My most ambitious personal projects —LifeOS, Venture and this portfolio— I build by directing AI as a co-developer. My hand-written codebase comes from my internship at CodeArts (Symfony / Angular) and my final module project Platos en ruta (native PHP).

Although my preference is the back end, during my internship I worked as full stack, and after finishing some projects I am increasingly drawn to software architecture.

The background may look scattered —audio, electrical engineering, web development— but what changes between projects is the tools.

What does not change is the discipline.

Education

Formal academic trajectory, in reverse order.

  1. January 2023 — June 2025

    Higher Vocational Training (FP2)

    Web Application Development

    iLERNA Online

  2. January 2023 — June 2023

    Entry-level technician

    Cybersecurity Technician

    INCIBE Online

  3. January 2013 — January 2015

    Higher Vocational Training (FP2)

    Higher Technician in Electrical and Automatic Installations

    I.E.S. Juan de la Cierva Vélez-Málaga (Spain)

  4. January 2009 — January 2011

    Higher Vocational Training (FP2)

    Higher Technician in Sound for Audiovisuals and Performing Arts

    I.E.S. Politécnico Jesús Marín Málaga (Spain)

Contact

I reply in < 24 h

Contact