Full-stack developer building web interfaces and Node.js APIs.
I work across React interfaces, application state, API design, validation, and data persistence. My projects range from interactive frontend demos to backend services and a simulated industrial dashboard.
| Project | What it demonstrates | Explore |
|---|---|---|
| Personal Finance | Budget and savings CRUD, transaction filters, validated transfers, browser persistence | Code · Live |
| Audiophile | Product browsing, persistent cart, checkout validation, order-summary flows | Code · Live |
| Photosnap | Responsive layouts, shared routing, keyboard navigation, interactive pricing | Code · Live |
| FORMA Studio | Editorial UI, project routing, motion, accessible enquiry validation | Code · Live |
| Phonebook API | Express REST endpoints, MongoDB persistence, schema validation, error handling | Code |
| Cement Production Intelligence | Node.js API, simulated process data, rule-based forecasts, production-loss dashboard | Code |
The four live frontend projects are portfolio demos. Personal Finance uses sample data; Audiophile does not process payments; Photosnap does not sell subscriptions; FORMA represents a fictional studio. The cement platform runs on simulated data.
| Area | Technologies used in my projects |
|---|---|
| Frontend | React, TypeScript, JavaScript, React Router, Tailwind CSS, CSS Modules |
| Backend | Node.js, Express, Fastify, REST APIs, Zod |
| Data | PostgreSQL, Prisma, MongoDB, Mongoose |
| Quality and delivery | Vitest, Playwright, axe-core, Git, Vite, Vercel |
Taskly brings together a React frontend, a typed Fastify API, shared Zod validation, Prisma models, and PostgreSQL persistence. Its source repository is currently private. The public repositories above show separate examples of my interface and backend work.
My Full Stack Open exercises and Notes API document my learning in React, HTTP, and Express. I also have earlier Solidity projects, including FundMe and an ERC-20 token.
- Make state changes, data ownership, and validation rules explicit.
- Build responsive layouts with keyboard access and reduced-motion support.
- Test important behavior and document what the tests do and do not cover.
- Keep setup instructions, demo limitations, and asset attribution close to the code.
Visit my portfolio for project case studies and contact details.