A Practical Approach
Research and quality in full stack development
I approach full stack development as a process of thinking, testing, and refining. Before building, I look closely at the problem, the users, and the technical choices behind the solution. During development, I test assumptions, monitor how the system behaves, and improve what does not work well. The aim is not simply to deliver more features, but to create software that is reliable, maintainable, secure, and useful in practice.
Testing
A layered testing approach
Different tests answer different questions. Together they help protect the user experience as the application grows.
Unit testing
Small, focused tests for utility functions, validation rules, and backend logic. These tests make individual pieces easier to trust and maintain.
Component testing
Testing Vue components with Vue Test Utils, including forms, product cards, navigation, and checkout components.
Integration testing
Checking how the frontend, backend, PostgreSQL database, and Stripe payment flow work together across realistic user actions.
End-to-end testing
Using Playwright to test important journeys such as browsing products, placing an order, and completing a payment.
Technical research
Research directions
Research & Engineering Notes
What Should We Actually Monitor in a Web Application?
Prometheus, Grafana, metrics, performance
Testing Failure, Not Only Success
API errors, timeouts, resilience, recovery
Security by Design in Full Stack Applications
Validation, secrets, webhooks, database access
From Concept to Production
Architecture, testing, deployment, monitoring
Linguistic research
Language, learning, and formal structure
Monitoring
Monitoring gives a clearer picture of how an application performs under real conditions. I use Grafana and Prometheus to track key metrics, follow changes over time, and investigate issues such as slow responses, failed requests, or unusual system behaviour.
Security
Security is considered across the whole application, from the way input is handled to the way services communicate with each other. I pay particular attention to validation, secret management, webhook verification, database permissions, and error handling so that sensitive data and internal application details remain protected.