Available for remote & hybrid opportunities

Marcos Tavarez

Full-Stack Developer

Building Production-Ready Web Applications

I build full-stack applications with Next.js, TypeScript, React, and Node.js — backed by PostgreSQL, REST APIs, and authentication. Clean architecture, maintainable code, and UIs that are fast to use and ready to ship.

Next.jsTypeScriptReactNode.jsPrismaPostgreSQLMongoDBREST APIsAuthenticationVercel
Marcos Tavarez
3
Production-Ready Apps

Full-stack auth, databases, CRUD, and live deployed UIs.

15+
API Endpoints

REST APIs with validation and consistent contracts.

Core Stack
Next.js · Prisma · PostgreSQL

Clean architecture and typed data modeling.

Production-Ready
Auth · CRUD · Deployed

Session auth, database persistence, live on Vercel.

Tech Stack

Technical Highlights

Technologies I've used across production-style full-stack applications.

Next.js
App Router, server components, API routes
React
Component architecture, hooks, state
TypeScript
Type-safe code across the full stack
Node.js
Server-side runtime for APIs and services
Express
REST routing, middleware, controllers
Prisma
Type-safe ORM with schema-driven modeling
PostgreSQL
Relational DB, queries, and migrations
MongoDB
Document-based data modeling
REST APIs
CRUD endpoints with validation + error handling
Authentication
NextAuth sessions, protected routes
Vercel
Deployment, env config, edge CDN
Git / GitHub
Version control, branching, pull requests

Projects

Full-stack applications with authentication, databases, REST APIs, and live deployments.

Job Tracker SaaS

Multi-user SaaS platform for managing job applications from applied to offer — with authentication, protected routes, full CRUD, and a responsive modern UI.

Live
Next.js 16React 19TypeScriptPrismaPostgreSQLNextAuthNeonVercel
Job Tracker main dashboard
  • Session auth with NextAuth — protected routes and per-user data isolation
  • Full CRUD: create, update, and delete applications with server-side validation
  • Status workflow — Applied → Interviewing → Offer → Rejected
  • Optimistic UI updates with instant feedback and toast notifications
  • Deployed on Vercel with Neon PostgreSQL and environment-secured credentials

AI Expense Tracker

Full-stack expense management app with authentication, category analytics, spending trend dashboards, and AI-generated financial insights via OpenAI.

Live
Next.jsTypeScriptPrismaPostgreSQLNextAuthOpenAINeonVercel
AI Expense Tracker dashboard
  • Secure auth with NextAuth and user-scoped expense data
  • Transaction CRUD with category tagging and date filtering
  • Analytics dashboard — spending breakdown and month-over-month trends
  • AI-generated financial insights powered by OpenAI API
  • Separate transactional and analytical data layers for clean architecture

Baggage Tracker

Internal-style baggage tracking tool with a production-ready REST API, auditable status lifecycle, full CRUD, and clean UI states designed for fast operational workflows.

Case Study
ReactNode.jsExpressMongoDBREST API
Baggage Tracker dashboard
  • RESTful API with full CRUD and consistent JSON response contracts
  • Status lifecycle with enforced, auditable state transitions
  • MongoDB schemas with model-level validation and constraints
  • Defensive error handling and input sanitization on all routes
  • Clean UI states — loading, empty, error, and success handled explicitly
Case Study

Baggage Tracker — Deep Dive

A production-style REST API and tracking UI built around an auditable status lifecycle and consistent data contracts.

Problem

Ops workflows need fast record lookup and consistent status history. Without structure, tracking becomes inconsistent and hard to audit under time pressure.

Solution

Built a status lifecycle with enforced transitions and explicit empty/loading/error states — paired with a REST API that returns safe, consistent responses across all routes.

Key Features
  • • Full CRUD with input validation and UI feedback
  • • Auditable status lifecycle per record
  • • MongoDB schemas with model-level constraints
  • • Consistent REST API response contracts
Technical Challenges

Enforcing status transitions at the API layer — not just UI guards — required validation logic on every mutation route. Making all UI states explicit and consistent was as important as the happy path.

What I Learned

API-level validation is non-negotiable — UI-only guards break under real conditions. Consistent response shapes make the frontend significantly more reliable. This project taught me to treat every UI state as a first-class design concern, not an afterthought.

About

How I work

Clean code, clear architecture, and a genuine interest in building things that work.

How I build

I focus on clean architecture and readable code. I build end-to-end — from database schema to deployed UI — and aim for interfaces that are fast, reliable, and easy to maintain.

What I'm looking for

A full-stack role where I can ship features end-to-end, solve real problems, and grow with a team that cares about quality. Ready to contribute on day one.

Let's connect

Hiring or want to collaborate? Send a message — I reply fast.