My personal projects
Here are a few personal projects I've worked on over the years. More on GitHub .
A component to schedule meetings more efficiently.
A component to help users find the best time for meetings by selecting their availability.
Supports integration with React and Vue
Documentation made with VitePress
Tested with Vitest and Testing Library
- TypeScript
- React
- Vue.js
- VitePress
- Vitest
- Testing Library
A collaborative URL shortener platform for teams.
Authentication, team workspaces, role-based access, and invitation flows
Dedicated redirect service and event-driven architecture using RabbitMQ workers for email delivery and analytics aggregation
Full-stack monorepo with containerized infrastructure and observability dashboards
API and redirector documented with OpenAPI
- TypeScript
- React
- Hono
- PostgreSQL
- Redis
- RabbitMQ
- Docker
A document processing platform built around a queued OCR workflow.
Converts PDFs into structured downloadable outputs
Upload validation, authenticated user flows, progress tracking, and page-by-page processing
Full-stack TypeScript monorepo with background workers, object storage, and containerized infrastructure
Production-oriented service split for API, frontend, workers, database, cache, queue, and storage
- TypeScript
- React
- TanStack
- tRPC
- PostgreSQL
- Drizzle
- Redis
- RabbitMQ
- MinIO
- Docker
- Tesseract.js
- Ollama
A full-stack manga reader application.
Browse and read manga from various sources
REST API with JWT authentication and protected pages
Tracking of user reading history
PWA, responsive design for mobile and desktop, and dark mode support
Media storage backed by MinIO
- Node.js
- TypeScript
- NestJS
- Prisma
- PostgreSQL
- MinIO
- Vue.js
My personal website showcasing my projects and blog posts.
- TypeScript
- Vue.js
- Nuxt
- Tailwind
A TypeScript library for correcting spelling mistakes.
A Vue.js component for multi-select dropdowns.
A Vue.js component for multi-select dropdowns.
Supports single multi-select modes, Grouped options, Searchable options.
Customizable styles and templates.
A web app to track macronutrient intake and calories.
Track daily intake of proteins, carbohydrates, and fats
Calculate total calories based on macronutrient intake
Add, edit, and delete food items with their nutritional information
User authentication and data persistence with MongoDB
- Node.js
- JavaScript
- Express
- Vue.js
- MongoDB