Joanet

Hi, I'm Joan

I build products that solve real problems, from the first client to the system that grows all of them at once. Android & Web Developer. I work with real clients and have built my own product to manage them. Below you'll find my experience and the projects that prove it.

Work experience

  1. Android Developer

    IDWaste

    Android development for field operations on industrial Speedata devices: RFID UHF read/write apps, GPS navigation with the TomTom SDK and HERE, and custom routes, BLE communication with container-locking hardware, and NMEA parsing for devices without Google services. Maintenance and evolution of production apps used daily by waste-collection teams across multiple municipalities.
  2. Full Stack Internship

    Aduxia

    I built and styled web interfaces with Bootstrap, Tailwind and Chakra UI, following the coding standards and workflow of a professional development team.

Projects

01
Restaurant templates
  • React
  • TypeScript
  • Tailwind CSS
  • Netlify Functions
  • Gemini API

A web presence platform for local businesses with its own admin panel: the client updates today's menu from their phone and it publishes itself, no code involved. Automatic CA/ES/EN translation via the Gemini API and a serverless JAMstack architecture (content versioned in Git, serverless functions on Netlify). Built white-label: one codebase, replicable per client with their own branding.

Have a local business? Get in touch and let's talk.

02
↳ Grew out of that first project
  • React
  • Netlify Identity
  • Netlify Functions

Hand-editing TypeScript files for every content change doesn't scale. I built my own React panel with two access levels: the client manages their daily menu from their phone, and I have a separate admin view with backend-verified roles (Netlify Identity JWTs, content validation and traceability of who made each change). Designed as the foundation for a future multi-tenant panel that centralizes every client in one place.

The superadmin itself is in Catalan, my working language — but the translation tool detects it just the same, and the live site still works fine across all three languages.

03
  • JavaScript
  • Firebase

A real-time basketball team management and scoreboard app: every game tracks points, rebounds and assists player by player, with the scoreboard syncing instantly across devices via Firestore. Custom framework-free SPA router, manual-approval authentication (pending → approved → admin), and a dashboard with monthly and historical per-player stats. It's an installable PWA that also works on mobile. Built to solve a real need for the team, not as an exercise.

Other projects & exercises

PizzaLgust — 100% customizable pizza app

PizzaLgust — 100% customizable pizza app

  • Kotlin

A native Android app in Kotlin to customize a pizza ingredient by ingredient, with real-time state management driving price and composition as selections change.

Code

Stack

Technologies I work with daily, both in industrial production and on my own SaaS product.

Android

Native development for mobile devices: RFID readers, geolocation, and hardware communication.

  • Kotlin
  • Java
  • RFID UHF
  • BLE
  • NFC
  • GPS / NMEA
  • TomTom SDK · HERE

Frontend

Fast, maintainable web interfaces, from the static portfolio to complex admin panels.

  • React
  • TypeScript
  • JavaScript
  • Astro
  • Tailwind CSS

Backend & data

Multi-tenant architecture to serve multiple clients from a single codebase.

  • Supabase (PostgreSQL)
  • Firebase
  • Decap CMS

Deployment & infrastructure

Full CI/CD flow: every commit deploys, with serverless functions for backend logic.

  • GitHub
  • Netlify
  • Netlify Functions
  • Netlify Identity

About me

I'm Joan, an Android and web developer. I like taking a concrete problem and turning it into a product that actually works — at work, field apps for industrial devices; on my own, a web-presence SaaS for local businesses with real, active clients.

That practical approach has led me to build tools from scratch when the existing ones didn't fit — like the custom admin panel I built so my clients could manage their content without touching code.

Right now I'm evolving my product's architecture toward a multi-tenant model on Supabase/PostgreSQL, so a single codebase can serve different kinds of business. I'm interested in building systems that can be maintained and grown over time, not just made to work on delivery day.

Joan Enajas