Research and Academic Work

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

Full-stack architecture for educational platforms
Testing strategies for learning applications
Observability with Grafana and Prometheus
Secure payment and user-data systems
PostgreSQL and data modeling for educational software
Docker and reproducible development environments
Developer tools for beginner programmers
Human-centered UI/UX for coding education
AI-assisted feedback for programming learners
Accessibility and multilingual learning platforms

Research & Engineering Notes

Linguistic research

Language, learning, and formal structure

Applied linguistics
Computational linguistics
Programming education
Computational thinking
Language acquisition
Digital literacy
Learning sciences
Knowledge representation
Language development and conceptual growth
Grammar awareness and pattern recognition

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.

Chat Avatar