Skills
Technical Skills & Expertise
A comprehensive overview of my technical skills, tools, and technologies I work with to build innovative solutions.
Programming Languages
Frontend Development
Backend Development
Databases & Storage
Cloud & DevOps
Mobile Development
Development Tools
Data & Analytics
Full-stack web — production architecture
For Grapevine’s web application I deploy on Vercel and structure the codebase so the UI never talks to the database directly: React components call TanStack Query hooks, which use a shared HTTP client (with auth token injection) against Next.js API routes. Routes delegate to use cases (validation and business rules), and repositories are the only layer that use Firestore, via the Firebase Admin SDK.
│ UI Layer (React Components) │ ← Never touches database
├─────────────────────────────────────┤
│ Feature Hooks (TanStack Query) │ ← State management
├─────────────────────────────────────┤
│ HTTP Client (apiFetch) │ ← Auth token injection
├─────────────────────────────────────┤
│ API Routes (Next.js) │ ← API boundary
├─────────────────────────────────────┤
│ Use Cases (Business Logic) │ ← Validation & rules
├─────────────────────────────────────┤
│ Repositories (Data Access) │ ← ONLY place with Firestore
├─────────────────────────────────────┤
│ Firestore (Database) │ ← Firebase Admin SDK
Experience Levels
I categorize my skills based on my experience level and confidence in each technology:
Expert Level
Technologies I use daily and have extensive experience with:
Proficient Level
Technologies I'm comfortable with and use regularly:
Learning Level
Technologies I'm currently learning or have basic knowledge of:
Certifications & Education
Here are any certifications or education I have:
- Bachelors Degree - Electrical/Computer Engineering
- Minor - Math
- Minor - Computer Science