AQ

Alvin Quach

Full Stack Developer

San Francisco Bay Area, CAAvailable Resume Experience

From first commit to deployment. I build with TypeScript, React, Next.js, PostgreSQL, and whatever else the problem needs.

alvinquach.dev
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
 * Developer Profile Module
 * ========================
 * TypeScript adds compile-time type checking to JavaScript.
 * Errors are caught before runtime, making refactoring safer.
 */
import { skills } from './skills';
import { careerJourney } from './career';

/**
 * Type Alias: Status
 * ------------------
 * 'type' creates an alias for any type expression.
 * Union types (A | B | C) restrict values to specific options.
 * This is called a "discriminated union" or "tagged union".
 */
type Status = "open" | "freelance" | "unavailable";

/**
 * Interface: Developer
 * --------------------
 * Interfaces define the "shape" or "contract" for objects.
 * Any object typed as Developer MUST have all these properties.
 *
 * Key differences from 'type':
 * - Can be extended: interface Senior extends Developer
 * - Can be implemented: class Person implements Developer
 * - Declaration merging: same interface name = combined
 */
interface Developer {
  readonly name: string;   // readonly = cannot reassign after init
  role: string;
  location: string;
  techStack: readonly string[];  // readonly array = no push/pop/etc
  openTo: string[];
  strengths: string[];
  status: Status;  // Must be one of the Status union values
}

/**
 * Developer Instance
 * ------------------
 * The ': Developer' annotation enforces the interface.
 * TypeScript will error if any property is missing or wrong type.
 */
const developer: Developer = {
  name: "Alvin Quach",
  role: "Full Stack Developer",
  location: "San Francisco Bay Area, CA",
  techStack: Object.keys(skills),  // 68 skills total
  openTo: [
    "Full Stack Engineer",
    "Product Engineer",
    "Frontend Engineer",
    "Developer Advocate"
  ],
  strengths: ["Full-stack versatility - comfortable across frontend, backend, and data", "Strong communication skills from community management background", "User empathy - I think about how features affect real people", "Self-directed - I shipped multiple 0-to-1 products independently", "Comfortable with ambiguity and figuring things out"],
  status: "open",
};

export default developer;
TypeScript ReactUTF-8
Ln 61, Col 1developer.tsx
01
Client Work

Professional Projects

Real solutions built for real clients

FeaturedBeauty & Wellness / Creative Services

T Creative Studio

A production SaaS platform replacing 5+ fragmented tools for a multi-vertical creative business

Replaced five fragmented tools (Square POS, Zoho CRM, Google Sheets, Instagram DMs) with a single platform for a multi-vertical creative business after evaluating GlossGenius, Vagaro, and Acuity.
Eliminated double-bookings with PostgreSQL advisory locks per staff member and prevented gift-card double-spend with row-level locking and CHECK constraints.
02
Products

What I've Built

Ideas I've shipped to learn, explore, and solve problems

03
Tech Stack

Skills and Technologies

Tools and technologies I use to build production systems

Product & Strategy

A/B Testing·Figma·Roadmapping·User Research

Analytics, Monitoring & Integrations

Amplitude·Mailgun·OAuth·PostHog·Resend·Salesforce·Sentry·Square·Stripe·Twilio·Zoho

Frontend

Codemirror·D3.js·Gatsby·Mapbox·Material UI·Next.js·React·React·React-Query·Tailwind CSS·TailwindCSS·Three.js·TypeScript·Zustand

Community & Advocacy

Community Management·Content Creation·Developer Relations

Communication & Documentation

Confluence·Documentation·Notion·Technical Writing

Testing & QA

Cypress·Jest·Playwright·Vitest

Backend & APIs

Docker·Drizzle·Express.js·FastAPI·GraphQL·Inngest·Node.js·WebSockets

Databases & Storage

Firebase Realtime Database·MongoDB·MySQL·PostgreSQL·SQLite·Supabase·pgvector

tools

Firecrawl

Project & Workflow Tools

Git·Jira

Data & Machine Learning

Jupyter Notebooks·NumPy·OpenAI·Pandas·Python·Scikit-learn·XGBoost

CMS

Sanity·Storyblok·Tina CMS
05
Get in Touch

Let's work together.

Have a project in mind or want to chat? I typically respond within 1-2 days.