Front-End Engineer | Angular & UI Specialist
Paniagua.dev
Sole proprietorship / Geneva
Building smart interfaces with AI-augmented workflows.

Areas of Work
UI/UX Prototyping
Design of modern, ergonomic interfaces. Scalable design systems and high-fidelity interactive prototypes.
Digital Consulting
Strategic advice on software architecture and technology stack. Digitalisation of business workflows to gain operational efficiency.
Audit & Web Perf
Advanced Core Web Vitals optimisation (LCP, CLS, INP). In-depth Lighthouse analysis to secure a 95+ score and flawless technical SEO.
Migration & Security
Modernisation of legacy codebases, AngularJS to modern Angular for instance. CMS hardening and transition to Headless/JAMstack architectures.
Urgent Troubleshooting
Critical intervention on blocking bugs (Angular, React, WordPress). Fast diagnosis and robust fixes to minimise production downtime.
Managed Hosting
Deployment and maintenance of web infrastructure. CI/CD pipelines, SSL management and proactive 24/7 monitoring.
Technical Expertise
Precision Engineering
My methodology rests on using the best-performing tools available to meet the demands of modern digitalisation. Every engagement is guided by three pillars: raw performance, security, and long-term maintainability.
- Frameworks & Logic
- Angular (Signals/RxJS), React, Vanilla JS ES2024+, TypeScript.
- Performance
- Core Web Vitals, SSR/SSG, bundle optimisation (Vite/Webpack).
- Infrastructure
- CI/CD GitHub Actions, Vercel, VPS Linux, Docker.
- UI & Design
- Design Systems, Tailwind CSS, Figma, Accessibility (A11y).
import { Component, signal, computed } from '@angular/core';
@Component({
selector: 'app-user-profile',
standalone: true,
template: `
<h1>{{ fullName() }}</h1>
<span class="badge">{{ status() }}</span>
`
})
export class UserProfileComponent {
// Modern Signal State
readonly firstName = signal<string>('Julio');
readonly lastName = signal<string>('Paniagua');
readonly isAvailable = signal<boolean>(true);
// Computed value (Derived state)
readonly fullName = computed(() =>
`${this.firstName()} ${this.lastName()}`
);
readonly status = computed(() =>
this.isAvailable() ? 'Available for hire' : 'Busy'
);
}