Skip to content

Instantly share code, notes, and snippets.

@jchoi2x
Last active January 8, 2026 01:13
Show Gist options
  • Select an option

  • Save jchoi2x/5d2d53d49ffc708fd95871ff2bed0bc8 to your computer and use it in GitHub Desktop.

Select an option

Save jchoi2x/5d2d53d49ffc708fd95871ff2bed0bc8 to your computer and use it in GitHub Desktop.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://example.com/ckbs.schema.json",
"title": "Career Knowledge Base Schema (CKBS)",
"description": "High-resolution schema for storing career engagements, projects, accomplishments, and evidence. Designed to export deterministic projections such as JSON Resume while preserving full detail for tailored resume generation.",
"type": "object",
"additionalProperties": false,
"required": ["schemaVersion", "person", "engagements", "accomplishments"],
"properties": {
"schemaVersion": {
"type": "string",
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
"description": "Semantic version of the CKBS document format."
},
"person": {
"type": "object",
"additionalProperties": false,
"required": ["name"],
"description": "Top-level identity and contact information used for resume/portfolio projections.",
"properties": {
"name": { "type": "string", "minLength": 1, "description": "Full name." },
"headline": { "type": "string", "description": "Short professional headline/positioning statement." },
"location": { "type": "string", "description": "High-level location (city/region)." },
"email": { "type": "string", "format": "email", "description": "Primary email address." },
"phone": { "type": "string", "description": "Primary phone number." },
"links": {
"type": "array",
"description": "Public links (portfolio, GitHub, LinkedIn, etc.).",
"items": { "$ref": "#/$defs/link" },
"default": []
}
}
},
"taxonomy": {
"type": "object",
"additionalProperties": false,
"description": "Optional canonical vocabularies to keep naming consistent across the KB and improve deterministic matching against job descriptions.",
"properties": {
"tags": {
"type": "array",
"description": "Canonical domain tags (e.g., payments, performance, observability).",
"items": { "type": "string" },
"default": []
},
"skills": {
"type": "array",
"description": "Canonical technology/tool names (e.g., PostgreSQL, Kafka, Cloudflare Workers).",
"items": { "type": "string" },
"default": []
},
"competencies": {
"type": "array",
"description": "Canonical capability labels (e.g., system-design, distributed-systems, data-modeling).",
"items": { "type": "string" },
"default": []
},
"roleAffinities": {
"type": "array",
"description": "Canonical role categories used for tailoring and bullet variants.",
"items": { "$ref": "#/$defs/roleAffinity" },
"default": []
}
}
},
"organizations": {
"type": "array",
"description": "Optional normalization layer for organizations reused across engagements. If omitted, embed organization details directly in engagements.",
"items": { "$ref": "#/$defs/organization" },
"default": []
},
"engagements": {
"type": "array",
"minItems": 1,
"description": "Time-bounded contexts such as employment, education, or independent work. Engagements are the primary chronological containers.",
"items": { "$ref": "#/$defs/engagement" }
},
"projects": {
"type": "array",
"description": "Named initiatives that always belong to exactly one engagement via parentEngagementId.",
"items": { "$ref": "#/$defs/project" },
"default": []
},
"artifacts": {
"type": "array",
"description": "Optional evidence supporting accomplishments (PRs, docs, dashboards, tickets, demos, etc.).",
"items": { "$ref": "#/$defs/artifact" },
"default": []
},
"accomplishments": {
"type": "array",
"minItems": 1,
"description": "Atomic, reusable achievements. Each accomplishment belongs to exactly one engagement OR one project (XOR). If projectId is set, engagement attribution is inferred via the project's parentEngagementId.",
"items": { "$ref": "#/$defs/accomplishment" }
}
},
"$defs": {
"id": {
"type": "string",
"minLength": 1,
"description": "Stable identifier unique within its collection."
},
"link": {
"type": "object",
"additionalProperties": false,
"required": ["label", "url"],
"description": "A labeled URL reference.",
"properties": {
"label": { "type": "string", "minLength": 1, "description": "Human label for the URL." },
"url": { "type": "string", "format": "uri", "description": "Absolute URL." }
}
},
"dateRange": {
"type": "object",
"additionalProperties": false,
"required": ["start"],
"description": "A time window. End is optional for ongoing items.",
"properties": {
"start": { "type": "string", "format": "date", "description": "Start date (YYYY-MM-DD)." },
"end": { "type": "string", "format": "date", "description": "End date (YYYY-MM-DD). Omit for ongoing." },
"isCurrent": { "type": "boolean", "default": false, "description": "Marks the range as ongoing; end should typically be omitted." }
}
},
"roleAffinity": {
"description": "High-level resume target categories used for tailoring selection and bullet variants.",
"oneOf": [
{ "const": "backend", "description": "Backend / API / service-oriented roles." },
{ "const": "fullstack", "description": "Roles spanning frontend and backend responsibilities." },
{ "const": "frontend", "description": "Frontend / UI engineering roles." },
{ "const": "platform", "description": "Platform engineering and internal tooling roles." },
{ "const": "infra", "description": "Infrastructure / SRE / DevOps roles." },
{ "const": "data", "description": "Data engineering / analytics / pipelines roles." },
{ "const": "ml", "description": "Machine learning / applied AI engineering roles." },
{ "const": "security", "description": "Security engineering roles." },
{ "const": "product", "description": "Product-focused engineering roles." }
]
},
"contribution": {
"description": "Contribution level for projects/efforts.",
"oneOf": [
{ "const": "owner", "description": "Owned the work end-to-end; primary driver." },
{ "const": "lead", "description": "Led delivery for a multi-person effort or major component." },
{ "const": "core", "description": "Core contributor with substantial responsibility." },
{ "const": "contributor", "description": "Meaningful contributor but not primary owner." },
{ "const": "supporting", "description": "Supporting contributions (reviews, bugfixes, partial ownership)." },
{ "const": "student", "description": "Work completed in a student capacity." },
{ "const": "mentor", "description": "Mentored others delivering the work." },
{ "const": "researcher", "description": "Work completed in a research capacity." }
]
},
"confidentiality": {
"description": "Visibility level used to omit/redact content from public outputs.",
"oneOf": [
{ "const": "public", "description": "Safe for public resumes/portfolios." },
{ "const": "internal", "description": "Shareable with interviewers; may omit sensitive details." },
{ "const": "confidential", "description": "Do not export to public-facing artifacts." }
]
},
"organizationType": {
"description": "Category of organization.",
"oneOf": [
{ "const": "company", "description": "For-profit company." },
{ "const": "school", "description": "Educational institution." },
{ "const": "nonprofit", "description": "Nonprofit organization." },
{ "const": "community", "description": "Community group/organization." },
{ "const": "other", "description": "Other organization type." }
]
},
"organization": {
"type": "object",
"additionalProperties": false,
"required": ["id", "name"],
"description": "Reusable organization record. Engagements may reference this via organizationId.",
"properties": {
"id": { "$ref": "#/$defs/id" },
"name": { "type": "string", "minLength": 1, "description": "Organization name." },
"type": { "$ref": "#/$defs/organizationType" },
"website": { "type": "string", "format": "uri", "description": "Organization website URL." },
"location": { "type": "string", "description": "Organization location (city/region)." },
"links": {
"type": "array",
"description": "Additional links relevant to the organization.",
"items": { "$ref": "#/$defs/link" },
"default": []
}
}
},
"engagementType": {
"description": "Category of engagement (time-bounded context).",
"oneOf": [
{ "const": "employment", "description": "Employment at a company." },
{ "const": "education", "description": "Time at an educational institution/program." },
{ "const": "independent", "description": "Self-directed period (personal projects, open source, learning, freelancing)." },
{ "const": "contract", "description": "Contract-based engagement." },
{ "const": "volunteer", "description": "Volunteer engagement." },
{ "const": "community", "description": "Community participation with meaningful contributions." },
{ "const": "other", "description": "Other engagement type." }
]
},
"engagement": {
"type": "object",
"additionalProperties": false,
"required": ["id", "type", "dates", "label"],
"description": "A time-bounded context representing where/when work occurred (employment, education, independent).",
"properties": {
"id": { "$ref": "#/$defs/id" },
"type": { "$ref": "#/$defs/engagementType" },
"label": { "type": "string", "minLength": 1, "description": "Display label (e.g., 'Company — Title')." },
"dates": { "$ref": "#/$defs/dateRange" },
"organizationId": {
"$ref": "#/$defs/id",
"description": "Optional reference to organizations[]."
},
"organization": {
"type": "object",
"additionalProperties": false,
"description": "Embedded organization details (use if not normalizing via organizationId).",
"properties": {
"name": { "type": "string", "description": "Organization name." },
"type": { "$ref": "#/$defs/organizationType" },
"website": { "type": "string", "format": "uri", "description": "Organization website URL." },
"location": { "type": "string", "description": "Organization location (city/region)." }
}
},
"role": {
"type": "object",
"additionalProperties": false,
"description": "Employment-specific fields (typically used when type=employment/contract).",
"properties": {
"title": { "type": "string", "description": "Job title." },
"team": { "type": "string", "description": "Team/department." },
"level": { "type": "string", "description": "Seniority/level (e.g., Senior, Staff)." }
}
},
"education": {
"type": "object",
"additionalProperties": false,
"description": "Education-specific fields (typically used when type=education).",
"properties": {
"institution": { "type": "string", "description": "Institution name (if not using organization/organizationId)." },
"studyType": { "type": "string", "description": "Degree/program type (e.g., B.S., M.S., Bootcamp)." },
"area": { "type": "string", "description": "Field of study." },
"gpa": { "type": "string", "description": "GPA if included." },
"courses": {
"type": "array",
"description": "Optional notable courses.",
"items": { "type": "string" },
"default": []
}
}
},
"summary": { "type": "string", "description": "High-level scope/responsibilities during the engagement." },
"location": { "type": "string", "description": "Engagement location if distinct." },
"links": {
"type": "array",
"description": "Links specific to the engagement.",
"items": { "$ref": "#/$defs/link" },
"default": []
},
"tags": {
"type": "array",
"description": "Optional broad tags summarizing the engagement.",
"items": { "type": "string" },
"default": []
}
}
},
"projectType": {
"description": "Category of project and its provenance.",
"oneOf": [
{ "const": "professional", "description": "Project delivered as part of an employment engagement." },
{ "const": "academic", "description": "Project delivered as part of an education engagement." },
{ "const": "open_source", "description": "Open-source project (should still belong to an independent or employment engagement)." },
{ "const": "personal", "description": "Personal project (belongs to an independent engagement)." },
{ "const": "research", "description": "Research-oriented project." },
{ "const": "other", "description": "Other project type." }
]
},
"project": {
"type": "object",
"additionalProperties": false,
"required": ["id", "name", "projectType", "parentEngagementId"],
"description": "A named initiative that always belongs to exactly one engagement via parentEngagementId.",
"properties": {
"id": { "$ref": "#/$defs/id" },
"name": { "type": "string", "minLength": 1, "description": "Project name." },
"projectType": { "$ref": "#/$defs/projectType" },
"parentEngagementId": {
"$ref": "#/$defs/id",
"description": "Engagement this project belongs to. Required by CKBS invariants."
},
"summary": { "type": "string", "description": "High-level project summary." },
"dates": { "$ref": "#/$defs/dateRange", "description": "Optional project date range." },
"links": {
"type": "array",
"description": "Project links (repo, demo, docs).",
"items": { "$ref": "#/$defs/link" },
"default": []
},
"tags": {
"type": "array",
"description": "Domain tags for the project.",
"items": { "type": "string" },
"default": []
},
"roleAffinities": {
"type": "array",
"description": "Role categories this project best supports (used for tailoring).",
"items": { "$ref": "#/$defs/roleAffinity" },
"default": []
},
"confidentiality": {
"$ref": "#/$defs/confidentiality",
"default": "public",
"description": "Visibility level for the project."
}
}
},
"artifactType": {
"description": "Evidence artifact category.",
"oneOf": [
{ "const": "pr", "description": "Pull request link or PR reference." },
{ "const": "repo", "description": "Repository link." },
{ "const": "doc", "description": "Documentation (design doc, README, spec)." },
{ "const": "dashboard", "description": "Observability dashboard/metrics view." },
{ "const": "ticket", "description": "Work item (Jira/Linear/GitHub issue)." },
{ "const": "demo", "description": "Demo link or deployed preview." },
{ "const": "blog", "description": "Blog post or write-up." },
{ "const": "presentation", "description": "Slides or presentation recording." },
{ "const": "video", "description": "Video/screencast." },
{ "const": "other", "description": "Other evidence type." }
]
},
"artifact": {
"type": "object",
"additionalProperties": false,
"required": ["id", "type", "label"],
"description": "Evidence supporting an accomplishment (PR, doc, dashboard, demo). Often excluded from public resumes but useful for validation/interview prep.",
"properties": {
"id": { "$ref": "#/$defs/id" },
"type": { "$ref": "#/$defs/artifactType" },
"label": { "type": "string", "minLength": 1, "description": "Short label describing the artifact." },
"url": { "type": "string", "format": "uri", "description": "Artifact URL if available." },
"note": { "type": "string", "description": "Optional explanation of why this artifact matters." },
"confidentiality": {
"$ref": "#/$defs/confidentiality",
"default": "public",
"description": "Visibility level for the artifact."
}
}
},
"impactMetric": {
"type": "object",
"additionalProperties": false,
"required": ["metric"],
"description": "Structured impact representation. Values are strings to avoid unit ambiguity.",
"properties": {
"metric": { "type": "string", "minLength": 1, "description": "What changed (e.g., p95 latency, error rate, cost)." },
"change": { "type": "string", "description": "Magnitude/direction (e.g., -35%, +2.1x, -$120k/yr)." },
"baseline": { "type": "string", "description": "Optional baseline before the change." },
"timeframe": { "type": "string", "description": "Time window for measurement (e.g., Q2 2025, 3 months)." },
"notes": { "type": "string", "description": "Optional caveats or measurement notes." }
}
},
"resumeText": {
"type": "object",
"additionalProperties": false,
"description": "Optional resume-ready text and variants; narrative remains the source of truth.",
"properties": {
"default": { "type": "string", "description": "Default bullet/snippet text." },
"variants": {
"type": "object",
"description": "Alternate phrasings keyed by role affinity or custom keys.",
"additionalProperties": { "type": "string" },
"default": {}
}
}
},
"placementPrimary": {
"description": "Presentation-only hint indicating how this accomplishment should be used during export. This does not affect ownership/attribution, which is determined solely by engagementId/projectId and project.parentEngagementId.",
"oneOf": [
{
"const": "work_highlight",
"description": "Render as a bullet under work history (grouped by engagement)."
},
{
"const": "work_summary_input",
"description": "This accomplishment should influence the generated summary text for an engagement, but should not appear as a standalone bullet. It is used to shape the narrative overview of the engagement (e.g., scope, ownership, architectural responsibility, or cross-project themes) and is folded into the engagement summary during export."
},
{
"const": "project_highlight",
"description": "Render as a bullet under a project."
},
{
"const": "project_summary_input",
"description": "Use to generate or augment the project summary; not rendered as a bullet."
},
{
"const": "education_highlight",
"description": "Render as a bullet under education-related output."
},
{
"const": "skills_evidence",
"description": "Used only to influence skills ranking; not rendered as text by default."
},
{
"const": "omit",
"description": "Never exported to resumes; internal tracking only."
}
]
},
"placement": {
"type": "object",
"additionalProperties": false,
"description": "Optional presentation hints for exporters. Safe to omit; exporters can apply deterministic defaults.",
"properties": {
"primary": { "$ref": "#/$defs/placementPrimary" }
}
},
"accomplishmentKind": {
"description": "Primary category for an accomplishment. Singular by design; use tags/competencies/skills for additional dimensions.",
"oneOf": [
{ "const": "performance", "description": "Latency, throughput, efficiency, or scaling improvements." },
{ "const": "reliability", "description": "Stability, correctness, resilience, incident reduction." },
{ "const": "feature_delivery", "description": "Shipping customer/product features." },
{ "const": "architecture", "description": "System design, refactors, structural decisions." },
{ "const": "data", "description": "Data modeling, pipelines, storage, query work." },
{ "const": "security", "description": "Auth, controls, threat mitigation, security posture improvements." },
{ "const": "cost", "description": "Spend reduction, efficiency, vendor consolidation." },
{ "const": "devex", "description": "Developer productivity, tooling, CI/CD, testing." },
{ "const": "leadership", "description": "Mentoring, cross-team coordination, technical leadership." },
{ "const": "product", "description": "Product strategy, experiments, UX-driven engineering." },
{ "const": "research", "description": "Research, investigation, prototyping-heavy work." },
{ "const": "other", "description": "Other accomplishment type." }
]
},
"accomplishment": {
"type": "object",
"additionalProperties": false,
"required": ["id", "title", "kind", "narrative"],
"description": "Atomic, reusable achievement. Must belong to exactly one engagement OR one project. If projectId is set, engagement attribution is inferred via project.parentEngagementId.",
"properties": {
"id": { "$ref": "#/$defs/id" },
"title": { "type": "string", "minLength": 1, "description": "Internal title for the accomplishment." },
"kind": { "$ref": "#/$defs/accomplishmentKind" },
"engagementId": {
"$ref": "#/$defs/id",
"description": "Parent engagement for engagement-level accomplishments (not scoped to a single project)."
},
"projectId": {
"$ref": "#/$defs/id",
"description": "Parent project for project-scoped accomplishments. Engagement is inferred via project.parentEngagementId."
},
"contribution": {
"$ref": "#/$defs/contribution",
"description": "Optional contribution level for the accomplishment within its parent scope."
},
"narrative": {
"type": "object",
"additionalProperties": false,
"required": ["problem", "action", "result"],
"description": "High-resolution source of truth used to generate or revise bullets without losing accuracy.",
"properties": {
"problem": { "type": "string", "minLength": 1, "description": "Problem/opportunity addressed." },
"action": { "type": "string", "minLength": 1, "description": "What you did (design/implementation/leadership actions)." },
"result": { "type": "string", "minLength": 1, "description": "Outcome and impact (include metrics when available)." },
"context": { "type": "string", "description": "Optional constraints/tradeoffs/scale notes." }
}
},
"resume": { "$ref": "#/$defs/resumeText" },
"tags": {
"type": "array",
"description": "Domain tags for search/tailoring (e.g., payments, observability).",
"items": { "type": "string" },
"default": []
},
"skills": {
"type": "array",
"description": "Technologies/tools directly used in this accomplishment. Primary source for ATS keywords and skills section generation.",
"items": { "type": "string" },
"default": []
},
"competencies": {
"type": "array",
"description": "Capabilities demonstrated (e.g., distributed-systems, performance-optimization). Used for semantic matching and summarization.",
"items": { "type": "string" },
"default": []
},
"keywords": {
"type": "array",
"description": "Optional keyword/phrase variants (synonyms, expanded terms) used to improve ATS matching. Must remain truthful and supported by the narrative.",
"items": { "type": "string" },
"default": []
},
"roleAffinities": {
"type": "array",
"description": "Role categories this accomplishment best supports (used for selection and bullet variants).",
"items": { "$ref": "#/$defs/roleAffinity" },
"default": []
},
"impact": {
"type": "array",
"description": "Structured metrics capturing measurable impact.",
"items": { "$ref": "#/$defs/impactMetric" },
"default": []
},
"scope": {
"type": "object",
"additionalProperties": false,
"description": "Optional scope details supporting senior-level narrative.",
"properties": {
"teamSize": { "type": "integer", "minimum": 1, "description": "Approximate number of contributors involved." },
"stakeholders": {
"type": "array",
"description": "Stakeholder groups (e.g., Product, Finance, SRE).",
"items": { "type": "string" },
"default": []
},
"systems": {
"type": "array",
"description": "Systems/services materially affected.",
"items": { "type": "string" },
"default": []
},
"users": { "type": "string", "description": "Who benefited (human description)." }
}
},
"artifactIds": {
"type": "array",
"description": "Evidence references supporting this accomplishment.",
"items": { "$ref": "#/$defs/id" },
"default": []
},
"placement": { "$ref": "#/$defs/placement" },
"confidentiality": {
"$ref": "#/$defs/confidentiality",
"default": "public",
"description": "Visibility level for the accomplishment."
},
"strength": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 3,
"description": "Subjective importance: 5 = flagship, 1 = minor."
},
"flags": {
"type": "object",
"additionalProperties": false,
"description": "Optional exporter/tooling flags.",
"properties": {
"featured": { "type": "boolean", "default": false, "description": "Prefer prominent placement in projections." },
"needsContext": { "type": "boolean", "default": false, "description": "May be confusing without additional explanation." },
"deprecated": { "type": "boolean", "default": false, "description": "Outdated/less relevant; exporter may down-rank or exclude." }
},
"default": {}
}
},
"oneOf": [
{ "required": ["engagementId"], "not": { "required": ["projectId"] } },
{ "required": ["projectId"], "not": { "required": ["engagementId"] } }
]
}
}
}
{
"schemaVersion": "1.0.0",
"person": {
"name": "James Choi",
"headline": "Senior Full-Stack Engineer | High-Performance Systems & Cloud Architecture",
"email": "choijjames@gmail.com",
"phone": "9549074631",
"location": "Lutz, FL, US",
"links": [
{ "label": "Website", "url": "https://jchoi2x.github.io" },
{ "label": "LinkedIn", "url": "https://www.linkedin.com/in/jchoi2x" },
{ "label": "GitHub", "url": "https://github.com/jchoi2x" },
{ "label": "Stack Overflow", "url": "https://stackoverflow.com/users/2330303/james-choi" }
]
},
"engagements": [
{
"id": "eng-snappy-sse-2024-04",
"type": "employment",
"label": "Snappy — Senior Software Engineer",
"dates": { "start": "2024-04-10", "end": "2025-08-06" },
"organization": { "name": "Snappy", "type": "company", "website": "https://snappy.com" },
"role": { "title": "Senior Software Engineer" },
"location": "Remote",
"summary": "First US-based remote engineer for an Israeli startup; worked across performance, new product delivery, stability, billing migration, and AI-assisted workflows."
},
{
"id": "eng-enotarylog-architect-2022-03",
"type": "employment",
"label": "eNotaryLog — Software Architect",
"dates": { "start": "2022-03-01", "end": "2024-02-01" },
"organization": { "name": "eNotaryLog", "type": "company" },
"role": { "title": "Software Architect" },
"location": "Tampa, FL",
"summary": "Architected and led development of a Remote Online Notarization platform with emphasis on security and scalability."
},
{
"id": "eng-enotarylog-lead-sde-2019-08",
"type": "employment",
"label": "eNotaryLog — Lead Software Development Engineer",
"dates": { "start": "2019-08-01", "end": "2022-03-01" },
"organization": { "name": "eNotaryLog", "type": "company" },
"role": { "title": "Lead Software Development Engineer" },
"location": "Tampa, FL",
"summary": "First software contributor to the RON platform; led onsite/offsite team delivery."
},
{
"id": "eng-e2g-senior-dev-2018-12",
"type": "employment",
"label": "E2 Generations — Senior Software Developer",
"dates": { "start": "2018-12-01", "end": "2019-12-01" },
"organization": { "name": "E2 Generations", "type": "company" },
"role": { "title": "Senior Software Developer" },
"location": "Tampa, FL",
"summary": "Consultant contributing to multiple client projects, focusing on stabilization and proof-of-concept development."
},
{
"id": "eng-pwc-senior-se-2018-01",
"type": "employment",
"label": "PricewaterhouseCoopers — Senior Software Engineer",
"dates": { "start": "2018-01-01", "end": "2018-08-01" },
"organization": { "name": "PricewaterhouseCoopers", "type": "company" },
"role": { "title": "Senior Software Engineer" },
"location": "Tampa, FL",
"summary": "Data engineering and microservices development for an enterprise data lake initiative."
},
{
"id": "eng-flexshopper-senior-dev-2016-05",
"type": "employment",
"label": "FlexShopper — Senior Software Developer",
"dates": { "start": "2016-05-01", "end": "2018-01-01" },
"organization": { "name": "FlexShopper", "type": "company" },
"role": { "title": "Senior Software Developer" },
"location": "Boca Raton, FL",
"summary": "Full-stack development and microservices architecture for an e-commerce platform rewrite from Magento."
},
{
"id": "eng-itseq-lead-dev-2015-06",
"type": "employment",
"label": "ITSeq — Lead Developer",
"dates": { "start": "2015-06-01", "end": "2015-12-01" },
"organization": { "name": "ITSeq", "type": "company" },
"role": { "title": "Lead Developer" },
"location": "Orlando, FL",
"summary": "Led development of business process management system for legal sector."
},
{
"id": "eng-lowndes-fullstack-2015-01",
"type": "employment",
"label": "Lowndes, Drosdick, Doster, Kantor & Reed, P.A. — Full Stack Developer",
"dates": { "start": "2015-01-01", "end": "2015-06-01" },
"organization": { "name": "Lowndes, Drosdick, Doster, Kantor & Reed, P.A.", "type": "company" },
"role": { "title": "Full Stack Developer" },
"location": "Orlando, FL",
"summary": "Internal application development for law firm operations."
},
{
"id": "eng-lockheed-frontend-2014-09",
"type": "employment",
"label": "Lockheed Martin — Front End Developer",
"dates": { "start": "2014-09-01", "end": "2015-02-01" },
"organization": { "name": "Lockheed Martin", "type": "company" },
"role": { "title": "Front End Developer" },
"location": "Orlando, FL",
"summary": "Front-end web development for mechanical engineering department."
},
{
"id": "eng-ucf-bsce-2012",
"type": "education",
"label": "University of Central Florida — B.S. Computer Engineering",
"dates": { "start": "2012-01-01", "end": "2016-06-01" },
"organization": { "name": "University of Central Florida", "type": "school" },
"education": { "studyType": "Bachelor of Science", "area": "Computer Engineering" }
},
{
"id": "eng-broward-assoc-2009",
"type": "education",
"label": "Broward College — Associate's Degree Computer Engineering",
"dates": { "start": "2009-01-01", "end": "2012-01-01" },
"organization": { "name": "Broward College", "type": "school" },
"education": { "studyType": "Associate's Degree", "area": "Computer Engineering" }
}
],
"projects": [
{
"id": "proj-snappy-2024q2-product-grid-latency",
"name": "Product grid latency optimization",
"projectType": "professional",
"summary": "Tail-latency (p95) performance work involving Postgres lookup tables to bypass MongoDB aggregations, CDC-driven sync, and dual-DB read switching for consistency.",
"dates": { "start": "2024-04-01", "end": "2024-06-30" },
"parentEngagementId": "eng-snappy-sse-2024-04",
"tags": ["performance", "latency", "data"],
"roleAffinities": ["backend", "platform"],
"confidentiality": "internal"
},
{
"id": "proj-snappy-2024q3-gift-experiences",
"name": "Gift Experiences",
"projectType": "professional",
"summary": "Greenfield Next.js project for a new gift type; coordination with offshore engineers to deliver feature work.",
"dates": { "start": "2024-07-01", "end": "2024-09-30" },
"parentEngagementId": "eng-snappy-sse-2024-04",
"tags": ["feature", "nextjs", "cross-team"],
"roleAffinities": ["fullstack", "frontend"],
"confidentiality": "internal"
},
{
"id": "proj-snappy-2024q4-code-freeze-stability",
"name": "Christmas code freeze stability",
"projectType": "professional",
"summary": "Bug fixes, hotfixes, and stability hardening during peak-season code freeze.",
"dates": { "start": "2024-10-01", "end": "2024-12-31" },
"parentEngagementId": "eng-snappy-sse-2024-04",
"tags": ["stability", "hotfix"],
"roleAffinities": ["backend", "platform", "infra"],
"confidentiality": "internal"
},
{
"id": "proj-snappy-2025q1-stripe-netsuite",
"name": "Stripe to NetSuite migration",
"projectType": "professional",
"summary": "Billing migration from Stripe to NetSuite.",
"dates": { "start": "2025-01-01", "end": "2025-03-31" },
"parentEngagementId": "eng-snappy-sse-2024-04",
"tags": ["billing", "payments", "migration"],
"roleAffinities": ["backend", "platform"],
"confidentiality": "internal"
},
{
"id": "proj-snappy-2025q2-dashboard-rewrite-ai-workflow",
"name": "Dashboard rewrite + design tokens + Storybook standards + AI workflow",
"projectType": "professional",
"summary": "Dashboard rewrite with strict design-token usage and Storybook documentation standards, plus AI guardrails and MCP-integrated product-to-implementation workflow using Jira/Figma/Browsertools.",
"dates": { "start": "2025-04-01", "end": "2025-06-30" },
"parentEngagementId": "eng-snappy-sse-2024-04",
"tags": ["frontend", "design-system", "storybook", "ai-workflow"],
"roleAffinities": ["fullstack", "frontend", "platform"],
"confidentiality": "internal"
},
{
"id": "proj-ron-platform",
"name": "Remote Online Notarization Platform",
"projectType": "professional",
"summary": "Notary as a Service (NaaS) platform enabling secure, compliant remote notarizations at scale.",
"dates": { "start": "2019-08-01", "end": "2024-02-01" },
"parentEngagementId": "eng-enotarylog-lead-sde-2019-08",
"tags": ["platform", "security", "compliance"],
"skills": ["Node.js", "TypeScript", "React", "PostgreSQL", "GCP", "Kubernetes", "Cloudflare"],
"roleAffinities": ["backend", "platform", "fullstack"],
"confidentiality": "internal"
},
{
"id": "proj-cf-mongodb-polyfills",
"name": "cf-mongodb-polyfills",
"projectType": "open_source",
"summary": "TypeScript package enabling the MongoDB npm package to run in Cloudflare Workers by polyfilling missing Node.js modules.",
"links": [{ "label": "GitHub", "url": "https://github.com/jchoi2x/cf-mongodb-polyfills" }],
"tags": ["open-source", "edge"],
"skills": ["TypeScript", "Cloudflare Workers", "MongoDB"],
"roleAffinities": ["platform", "backend"],
"confidentiality": "public"
},
{
"id": "proj-suno-mcp",
"name": "suno-mcp",
"projectType": "open_source",
"summary": "Model Context Protocol (MCP) server enabling AI assistants to interact with Suno AI for music generation.",
"links": [{ "label": "GitHub", "url": "https://github.com/jchoi2x/suno-mcp" }],
"tags": ["mcp", "ai-integration"],
"skills": ["TypeScript", "MCP", "Cloudflare Workers"],
"roleAffinities": ["backend", "platform"],
"confidentiality": "public"
},
{
"id": "proj-genius-mcp",
"name": "genius-mcp",
"projectType": "open_source",
"summary": "MCP server for searching songs, artists, and lyrics through the Genius API.",
"links": [{ "label": "GitHub", "url": "https://github.com/jchoi2x/genius-mcp" }],
"tags": ["mcp", "ai-integration"],
"skills": ["TypeScript", "MCP", "API Integration"],
"roleAffinities": ["backend"],
"confidentiality": "public"
}
],
"artifacts": [],
"accomplishments": [
{
"id": "acc-snappy-q2-postgres-lookup",
"title": "Introduced partitioned Postgres lookup tables to bypass MongoDB aggregations",
"kind": "architecture",
"narrative": {
"problem": "Product grid queries relied on MongoDB aggregation pipelines spanning multiple collections with millions of records, causing high p95 latency.",
"action": "Designed Postgres lookup tables partitioned by country to precompute selection criteria and bypass aggregation-heavy MongoDB query paths.",
"result": "Reduced p95 latency by shifting heavy computation off the request path."
},
"skills": ["PostgreSQL", "MongoDB", "SQL"],
"competencies": ["system-design", "performance-optimization", "data-modeling"],
"roleAffinities": ["backend", "platform"],
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "lead" },
{ "type": "project", "id": "proj-snappy-2024q2-product-grid-latency", "contribution": "lead" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 5
},
{
"id": "acc-snappy-q2-cdc-sync-pipeline",
"title": "Built CDC-driven MongoDB → Kafka → serverless sync pipeline with concurrency control",
"kind": "data",
"narrative": {
"problem": "Lookup tables needed to stay consistent with frequently changing product data without reintroducing request-path computation.",
"action": "Used Debezium to capture MongoDB change events, published them to MSK/Kafka, and triggered a serverless sync process. Controlled single-writer execution and offset safety using Kafka consumerGroupId semantics and serverless reserved concurrency.",
"result": "Maintained near-real-time consistency while protecting correctness under concurrent change volume."
},
"skills": ["Debezium", "Kafka", "MSK", "Serverless", "MongoDB"],
"competencies": ["event-driven-architecture", "distributed-systems", "data-consistency"],
"roleAffinities": ["backend", "platform"],
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "lead" },
{ "type": "project", "id": "proj-snappy-2024q2-product-grid-latency", "contribution": "lead" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 5
},
{
"id": "acc-snappy-q2-dual-postgres-read-switching",
"title": "Implemented dual-Postgres blue/green read switching to prevent partial reads during bulk rewrites",
"kind": "architecture",
"narrative": {
"problem": "Sync jobs rewrote millions of rows by dropping and rebuilding lookup tables; due to WAL behavior, bulk inserts could return success before data was fully durable, risking incomplete reads for minutes under nondeterministic DB resource availability.",
"action": "Maintained two Postgres servers containing the lookup tables and implemented a read-database switch strategy. On sync invocation, read the last execution time from Redis and switched the active read DB only after sufficient time had elapsed; then ran the next sync against the inactive DB and recorded execution time back to Redis.",
"result": "Guaranteed consistent reads during large bulk sync operations without exposing clients to incomplete lookup data."
},
"skills": ["PostgreSQL", "Redis", "WAL"],
"competencies": ["data-consistency", "production-reliability", "system-design"],
"roleAffinities": ["backend", "platform"],
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "lead" },
{ "type": "project", "id": "proj-snappy-2024q2-product-grid-latency", "contribution": "lead" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 5
},
{
"id": "acc-snappy-q3-gift-experiences",
"title": "Architected and launched Gift Experiences product line",
"kind": "feature_delivery",
"narrative": {
"problem": "See resume bullet.",
"action": "Architected and launched gift experiences product line, coordinating development with an offshore engineering team across time zones using async communication and Next.js.",
"result": "See resume bullet."
},
"resume": {
"default": "Architected and launched gift experiences product line, coordinating development with Tel Aviv-based engineering team across 7-hour time zone difference using async communication and Next.js"
},
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "lead" },
{ "type": "project", "id": "proj-snappy-2024q3-gift-experiences", "contribution": "lead" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 4
},
{
"id": "acc-snappy-q4-code-freeze-stability",
"title": "Stabilized platform during peak-season code freeze",
"kind": "reliability",
"narrative": {
"problem": "Peak season required reduced change risk and rapid response to production issues.",
"action": "Focused on bug fixes, hotfixes, and stability hardening under a code-freeze regime.",
"result": "Maintained operational stability through peak season."
},
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "core" },
{ "type": "project", "id": "proj-snappy-2024q4-code-freeze-stability", "contribution": "core" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 3
},
{
"id": "acc-snappy-2025q1-stripe-netsuite",
"title": "Led NetSuite billing migration from Stripe",
"kind": "cost",
"narrative": {
"problem": "See resume bullet.",
"action": "Led NetSuite billing migration from Stripe, ensuring zero downtime and data integrity while reducing annual operating costs by $250K through vendor consolidation.",
"result": "See resume bullet."
},
"resume": {
"default": "Led NetSuite billing migration from Stripe, ensuring zero downtime and data integrity while reducing annual operating costs by $250K through strategic vendor consolidation"
},
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "lead" },
{ "type": "project", "id": "proj-snappy-2025q1-stripe-netsuite", "contribution": "lead" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 5
},
{
"id": "acc-snappy-2025q2-dashboard-rewrite",
"title": "Dashboard rewrite with strict design tokens and Storybook standards",
"kind": "feature_delivery",
"narrative": {
"problem": "Dashboard needed stricter UI consistency and maintainable documentation.",
"action": "Rebuilt dashboard enforcing strict design token usage and a documented component hierarchy (components → logical units → page) in Storybook.",
"result": "Improved consistency and maintainability with reusable building blocks and documentation standards."
},
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "lead" },
{ "type": "project", "id": "proj-snappy-2025q2-dashboard-rewrite-ai-workflow", "contribution": "lead" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 4
},
{
"id": "acc-snappy-2025q2-ai-workflow-mcp",
"title": "Built AI-assisted product-to-implementation workflow with MCP and guardrails",
"kind": "devex",
"narrative": {
"problem": "Manual translation from Jira/Figma into production components was slow and inconsistent.",
"action": "Defined documentation standards and AI guardrails and integrated Jira, Figma, and Browsertools MCP to automate component generation with Storybook documentation.",
"result": "Enabled up to ~90% feature-complete component generation while maintaining design system compliance."
},
"contexts": [
{ "type": "engagement", "id": "eng-snappy-sse-2024-04", "contribution": "owner" },
{ "type": "project", "id": "proj-snappy-2025q2-dashboard-rewrite-ai-workflow", "contribution": "owner" }
],
"placement": { "primary": "work_highlight" },
"confidentiality": "internal",
"strength": 5
},
{
"id": "acc-ron-architecture-platform",
"title": "Architected complete RON platform",
"kind": "architecture",
"narrative": {
"problem": "See resume bullet.",
"action": "Architected complete platform including database design (ER/ERD), API specifications (OpenAPI), UI/UX, and cloud infrastructure (GCP/Cloudflare).",
"result": "See resume bullet."
},
"resume": {
"default": "Architected complete platform including database design (ER/ERD), API specifications (OpenAPI), UI/UX, and cloud infrastructure (GCP/Cloudflare)"
},
"contexts": [
{ "type": "engagement", "id": "eng-enotarylog-lead-sde-2019-08", "contribution": "owner" },
{ "type": "project", "id": "proj-ron-platform", "contribution": "owner" }
],
"confidentiality": "internal",
"strength": 5
},
{
"id": "acc-ron-blockchain-immutability",
"title": "Implemented blockchain integration for data immutability",
"kind": "security",
"narrative": {
"problem": "See resume bullet.",
"action": "Implemented blockchain integration for data immutability and third-party verification, ensuring enterprise-grade security.",
"result": "See resume bullet."
},
"resume": {
"default": "Implemented blockchain integration for data immutability and third-party verification, ensuring enterprise-grade security"
},
"contexts": [
{ "type": "engagement", "id": "eng-enotarylog-lead-sde-2019-08", "contribution": "lead" },
{ "type": "project", "id": "proj-ron-platform", "contribution": "lead" }
],
"confidentiality": "internal",
"strength": 4
},
{
"id": "acc-cfpoly-polyfills-edge",
"title": "Enabled MongoDB npm usage in Cloudflare Workers via polyfills",
"kind": "devex",
"narrative": {
"problem": "See resume bullet.",
"action": "Solved a critical infrastructure gap allowing developers to use MongoDB in edge computing environments.",
"result": "See resume bullet."
},
"resume": {
"default": "Solved critical infrastructure gap allowing developers to use MongoDB in edge computing environments"
},
"contexts": [
{ "type": "project", "id": "proj-cf-mongodb-polyfills", "contribution": "owner" }
],
"confidentiality": "public",
"strength": 4
},
{
"id": "acc-cfpoly-adoption",
"title": "Demonstrated open-source adoption (stars/forks)",
"kind": "product",
"narrative": {
"problem": "See resume bullet.",
"action": "Achieved GitHub stars and forks demonstrating community adoption and value.",
"result": "See resume bullet."
},
"resume": {
"default": "Achieved 39 GitHub stars and 8 forks demonstrating real community adoption and value"
},
"contexts": [
{ "type": "project", "id": "proj-cf-mongodb-polyfills", "contribution": "owner" }
],
"confidentiality": "public",
"strength": 3
},
{
"id": "acc-suno-mcp-bridge",
"title": "Built MCP server to bridge AI assistants with Suno",
"kind": "feature_delivery",
"narrative": {
"problem": "See resume bullet.",
"action": "Built custom MCP server to bridge AI assistants with Suno's music generation API.",
"result": "See resume bullet."
},
"resume": {
"default": "Built custom MCP server to bridge AI assistants with Suno's music generation API"
},
"contexts": [
{ "type": "project", "id": "proj-suno-mcp", "contribution": "owner" }
],
"confidentiality": "public",
"strength": 4
},
{
"id": "acc-suno-mcp-workers",
"title": "Deployed MCP server on Cloudflare Workers",
"kind": "architecture",
"narrative": {
"problem": "See resume bullet.",
"action": "Implemented on Cloudflare Workers for edge deployment and low-latency responses.",
"result": "See resume bullet."
},
"resume": {
"default": "Implemented on Cloudflare Workers for edge deployment and low-latency responses"
},
"contexts": [
{ "type": "project", "id": "proj-suno-mcp", "contribution": "owner" }
],
"confidentiality": "public",
"strength": 3
},
{
"id": "acc-genius-mcp",
"title": "Developed MCP server for programmatic access to Genius lyrics",
"kind": "feature_delivery",
"narrative": {
"problem": "See resume bullet.",
"action": "Developed MCP server to provide AI assistants with programmatic access to Genius lyrics database.",
"result": "See resume bullet."
},
"resume": {
"default": "Developed MCP server to provide AI assistants with programmatic access to Genius lyrics database"
},
"contexts": [
{ "type": "project", "id": "proj-genius-mcp", "contribution": "owner" }
],
"confidentiality": "public",
"strength": 3
}
]
}
{
"$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
"basics": {
"name": "James Choi",
"label": "Senior Full-Stack Engineer | High-Performance Systems & Cloud Architecture",
"email": "choijjames@gmail.com",
"phone": "9549074631",
"url": "https://jchoi2x.github.io",
"summary": "Senior full-stack engineer who ships end-to-end features with measurable impact: 35% latency reductions, $250K annual cost savings, 50%+ performance improvements. I build complete products—React frontends, Node.js backends, databases, and infrastructure—from design through deployment. Proven track record delivering for enterprise clients including Amazon and Microsoft, whether modernizing legacy systems, optimizing distributed architectures, or building 0-to-1 products. I thrive in fast-paced environments where ownership, quality, and shipping matter.",
"location": {
"city": "Lutz",
"region": "FL",
"countryCode": "US",
"address": "5751 Sailfish Dr, APT C",
"postalCode": "33558"
},
"profiles": [
{
"network": "LinkedIn",
"username": "jchoi2x",
"url": "https://www.linkedin.com/in/jchoi2x"
},
{
"network": "GitHub",
"username": "jchoi2x",
"url": "https://jchoi2x.github.io"
},
{
"network": "Stack Overflow",
"username": "james-choi",
"url": "https://stackoverflow.com/users/2330303/james-choi"
}
]
},
"work": [
{
"name": "Snappy",
"position": "Senior Software Engineer",
"url": "https://snappy.com",
"startDate": "2024-04",
"endDate": "2025-08",
"summary": "First US-based remote engineer for Israeli startup serving enterprise clients including Amazon and Microsoft.",
"highlights": [
"Reduced P95 API latency by 35% through systematic optimization of AWS Lambda functions, database query tuning, and advanced API Gateway caching strategies, improving user experience for enterprise clients",
"Architected and launched gift experiences product line, coordinating development with Tel Aviv-based engineering team across 7-hour time zone difference using async communication and Next.js",
"Led NetSuite billing migration from Stripe, ensuring zero downtime and data integrity while reducing annual operating costs by $250K through strategic vendor consolidation",
"Pioneered AI-assisted development workflow integrating Cursor with custom MCP servers connecting Jira, Figma, and Storybook, enabling 90% AI-generated code while maintaining design system compliance and production quality",
"Engineered centralized logging solution using Coralogix with structured application logs, enabling faster root-cause analysis in production environments",
"Established remote engineering patterns and collaboration practices as company's first US-based developer, enabling future distributed team growth"
],
"location": "Remote",
"technologies": {
"frontend": [
"React",
"Vite",
"Storybook",
"Next.js"
],
"backend": [
"Node.js",
"AWS Lambda",
"AWS Serverless",
"AWS API Gateway",
"AWS CloudFront"
],
"databases": [
"MongoDB Atlas",
"PostgreSQL (AWS)",
"Migration from MongoDB to PostgreSQL"
],
"eventStreaming": [
"AWS MSK",
"Redpanda",
"Kafka",
"Event-driven architecture migration"
],
"infrastructure": [
"Nx monorepos",
"Private npm packages",
"GitHub npm registry",
"Jenkins CI/CD",
"Git flow (master/staging)"
],
"observability": [
"Coralogix"
],
"tools": [
"Jira",
"Confluence",
"Notion",
"Figma",
"Cursor",
"MCP servers"
]
}
},
{
"name": "eNotaryLog",
"position": "Software Architect",
"startDate": "2022-03",
"endDate": "2024-02",
"summary": "Architected and led development of Remote Online Notarization platform with emphasis on security and scalability.",
"highlights": [
"Architected entire software platform from ground up including database design (ER/ERD diagrams), API specifications (OpenAPI), UI/UX, and GCP/Cloudflare infrastructure for remote notarization startup",
"Designed and implemented GraphQL API gateway to aggregate multiple microservices into unified interface for e-signature application, reducing network overhead and enabling independent backend service evolution without breaking frontend contracts",
"Commanded blockchain integration for data immutability and third-party verification, ensuring enterprise-grade security for notarization platform",
"Drove major performance optimizations by leveraging Cloudflare Pages/Workers for edge computing, significantly reducing resource consumption and improving global response times",
"Implemented CI/CD pipelines in GitLab/GitHub and established comprehensive coding/testing standards and technical documentation in Confluence across multiple platform components",
"Led DevOps initiatives using Kubernetes, Helm, Terraform, and GCP, defining technical requirements in Jira and maintaining extensive architectural documentation"
],
"location": "Tampa, FL",
"technologies": {
"frontend": [
"React",
"Vite",
"Angular (templating app)"
],
"backend": [
"Node.js",
"TypeScript",
"Python",
"Tornado",
"GraphQL"
],
"databases": [
"PostgreSQL"
],
"messagingCaching": [
"Redis",
"RabbitMQ",
"Google Pub/Sub"
],
"infrastructure": [
"Nx monorepo",
"Kubernetes",
"Helm",
"Terraform",
"GCP",
"Cloudflare Pages",
"Cloudflare Workers"
],
"cicd": [
"GitLab CI/CD"
],
"observability": [
"Datadog",
"Opsgenie"
],
"testing": [
"Vitest",
"Jest"
],
"auth": [
"Auth0",
"SAML integration"
],
"other": [
"Blockchain integration",
"OpenAPI specification"
],
"tools": [
"Jira",
"Confluence"
]
}
},
{
"name": "eNotaryLog",
"position": "Lead Software Development Engineer",
"startDate": "2019-08",
"endDate": "2022-03",
"summary": "First software contributor to the Remote Online Notarization platform, leading mixed team of onsite and offsite developers.",
"highlights": [
"Led mixed team of onsite and offsite developers building industry-changing Notary as a Service (NaaS) platform as the very first software contributor",
"Designed foundational architecture including database (ER/ERD diagrams), APIs (OpenAPI specification), UI/UX, and infrastructure (GCP/Cloudflare)",
"Developed Python-based back-office automation tools leveraging PostgreSQL and Tornado, generating CSV reports and invoices via cron jobs or HTTP endpoints to streamline financial operations",
"Built command-line and shell utilities in Python to simplify DevOps workflows, automating inspection and creation of Kubernetes and Istio resources (VirtualServices, Gateways, Services, Deployments) to accelerate debugging and deployments",
"Established DevOps practices with kubectl, helm, terraform, and gcloud, setting foundation for scalable infrastructure"
],
"location": "Tampa, FL",
"technologies": {
"frontend": [
"React",
"Vite",
"Angular (templating app)"
],
"backend": [
"Node.js",
"TypeScript",
"Python",
"Tornado",
"GraphQL"
],
"databases": [
"PostgreSQL"
],
"messagingCaching": [
"Redis",
"RabbitMQ",
"Google Pub/Sub"
],
"infrastructure": [
"Nx monorepo",
"Kubernetes",
"Helm",
"Terraform",
"GCP",
"Cloudflare Pages",
"Cloudflare Workers",
"Istio"
],
"cicd": [
"GitLab CI/CD"
],
"observability": [
"Datadog",
"Opsgenie"
],
"testing": [
"Vitest",
"Jest"
],
"auth": [
"Auth0",
"SAML integration"
],
"other": [
"Blockchain integration",
"OpenAPI specification"
],
"tools": [
"Jira",
"Confluence",
"kubectl",
"gcloud"
]
}
},
{
"name": "E2 Generations",
"position": "Senior Software Developer",
"url": "",
"startDate": "2018-12",
"endDate": "2019-12",
"summary": "Software consultant contributing to multiple client projects at consultation firm, focusing on application stabilization and proof-of-concept development.",
"highlights": [
"Revitalized multiple failing client software projects through systematic documentation, strategic refactoring, and critical bug resolution in Node.js applications",
"Developed proof-of-concept implementations for client proposals, demonstrating technical feasibility and accelerating sales cycles",
"Delivered full-stack solutions across diverse technology stacks and client domains, adapting quickly to unfamiliar codebases and business requirements"
],
"location": "Tampa, FL",
"technologies": {
"backend": [
"Node.js"
],
"other": [
"Consulting",
"Multiple client codebases",
"POC development",
"Legacy application stabilization"
]
}
},
{
"name": "PricewaterhouseCoopers",
"position": "Senior Software Engineer",
"url": "",
"startDate": "2018-01",
"endDate": "2018-08",
"summary": "Data engineering and microservices development for enterprise data lake initiative.",
"highlights": [
"Developed enterprise ETL workflows using Apache NiFi, Hadoop, and Kylo for developing data lake initiative, integrating diverse data sources for analysis and compliance reporting",
"Authored custom Apache NiFi processor in Python to support complex ETL workflows, enabling critical data transformations for mass data analysis, storage, and transport",
"Architected Node.js-based microservice ecosystem with RabbitMQ transaction-based messaging for ETL integrations, modernizing legacy systems with highly scalable pub-sub architecture",
"Led containerization efforts by developing Docker scripts for local and production environments, establishing consistent deployment patterns",
"Mentored junior and mid-level developers while building data sync ETL workflows for legacy system conversion"
],
"location": "Tampa, FL",
"technologies": {
"frontend": [
"React"
],
"backend": [
"Scala",
"Node.js",
"Python"
],
"dataEngineering": [
"Apache NiFi",
"Hadoop",
"Kylo",
"HBase",
"Custom NiFi processors"
],
"messaging": [
"RabbitMQ"
],
"infrastructure": [
"Docker",
"On-premises hardware",
"Active Directory authentication"
],
"other": [
"Managed Jupyter notebooks platform",
"Data lake architecture",
"ETL data normalization"
]
}
},
{
"name": "FlexShopper",
"position": "Senior Software Developer",
"url": "",
"startDate": "2016-05",
"endDate": "2018-01",
"summary": "Full-stack development and microservices architecture for e-commerce platform rewrite from Magento.",
"highlights": [
"Rescued year-delayed product launch by solving critical performance issues: implemented Fastly (Varnish) with complex surrogate key-based caching rules, reducing response times from unacceptable to sub-second across all pages and APIs, enabling Q4 2017 launch of rewritten e-commerce platform",
"Architected and developed Node.js microservices for e-commerce platform backend using distributed architecture to ensure mass scalability during Magento-to-custom platform migration",
"Championed adoption of OpenTracing across organization by creating standardized microservice template ensuring all applications had distributed tracing capabilities, establishing observability best practices for entire microservice ecosystem",
"Built custom OpenTracing SDKs and libraries for Node.js microservices, enabling distributed request tracing with collector integration across Kubernetes/Istio service mesh infrastructure",
"Established unit/integration testing standards and Hapi.js-based microservice patterns across the organization, improving code quality and consistency during major platform rewrite",
"Built full-stack features using React frontend and Node.js backend during complete platform rewrite to gain full control from Magento dependency"
],
"location": "Boca Raton, FL",
"technologies": {
"frontend": [
"React"
],
"backend": [
"Node.js",
"Hapi.js"
],
"databases": [
"MySQL",
"MongoDB"
],
"caching": [
"Fastly",
"Varnish",
"VCL",
"Surrogate key-based cache invalidation"
],
"infrastructure": [
"AWS",
"Kubernetes",
"Istio"
],
"cicd": [
"Jenkins"
],
"testing": [
"Mocha"
],
"observability": [
"OpenTracing.io",
"Custom SDKs/libraries",
"OpenTracing collector"
],
"other": [
"Magento migration",
"Microservices architecture",
"E-commerce platform"
]
}
},
{
"name": "ITSeq",
"position": "Lead Developer",
"url": "",
"startDate": "2015-06",
"endDate": "2015-12",
"summary": "Led development of business process management system for legal sector.",
"highlights": [
"Architected and developed business process management system for legal sector deployed on Azure platform using ASP.NET, Angular.js, and Azure SQL Server",
"Implemented backend process management using Node.js Azure Cloud Services, establishing scalable cloud-native architecture patterns"
],
"location": "Orlando, FL"
},
{
"name": "Lowndes, Drosdick, Doster, Kantor & Reed, P.A.",
"position": "Full Stack Developer",
"url": "",
"startDate": "2015-01",
"endDate": "2015-06",
"summary": "Internal application development for law firm operations.",
"highlights": [
"Developed ASP.NET Employee of the Month Nominations application with Active Directory authentication, automating previously manual monthly reporting and congratulatory email dispatch processes",
"Built real-time web application using ASP.NET MVC 5 with SignalR (websockets) and Angular.js for job ticketing system to coordinate issue resolution workflows across the organization",
"Developed data serialization interfaces used by internal company software to consume data resources from external sources"
],
"location": "Orlando, FL"
},
{
"name": "Lockheed Martin",
"position": "Front End Developer",
"url": "",
"startDate": "2014-09",
"endDate": "2015-02",
"summary": "Front-end web development for mechanical engineering department.",
"highlights": [
"Revamped mechanical engineering department's intranet homepage using SharePoint and Angular.js, modernizing UI/UX for improved user engagement"
],
"location": "Orlando, FL"
}
],
"education": [
{
"institution": "University of Central Florida",
"url": "",
"area": "Computer Engineering",
"studyType": "Bachelor of Science",
"startDate": "2012",
"endDate": "2016-06",
"score": "",
"courses": []
},
{
"institution": "Broward College",
"url": "",
"area": "Computer Engineering",
"studyType": "Associate's Degree",
"startDate": "2009",
"endDate": "2012",
"score": "",
"courses": []
}
],
"certificates": [
{
"name": "Google AI Essentials Specialization",
"date": "",
"issuer": "Google",
"url": ""
}
],
"volunteer": [],
"awards": [],
"publications": [],
"projects": [
{
"name": "Remote Online Notarization Platform",
"description": "Industry-first Notary as a Service (NaaS) platform enabling secure, compliant remote notarizations at scale. Architected and built the entire platform from ground up as the first software contributor.",
"highlights": [
"Architected complete platform including database design (ER/ERD), API specifications (OpenAPI), UI/UX, and cloud infrastructure (GCP/Cloudflare)",
"Implemented blockchain integration for data immutability and third-party verification, ensuring enterprise-grade security",
"Optimized performance via Cloudflare Pages/Workers edge computing, significantly reducing resource consumption and improving global response times",
"Established DevOps practices with Kubernetes, Helm, Terraform, and GCP, including custom Python automation tools",
"Built CI/CD pipelines and comprehensive coding/testing standards across multiple platform components",
"Led mixed team of onsite and offsite developers while maintaining architectural vision and technical standards"
],
"keywords": [
"Node.js",
"TypeScript",
"React",
"PostgreSQL",
"GCP",
"Kubernetes",
"Cloudflare",
"Blockchain",
"CI/CD",
"Microservices"
],
"startDate": "2019-08",
"endDate": "2024-02",
"url": "",
"roles": [
"Software Architect",
"Lead Software Development Engineer",
"First Software Contributor"
],
"entity": "eNotaryLog",
"type": "application"
},
{
"name": "cf-mongodb-polyfills",
"description": "Open source TypeScript package enabling MongoDB npm package usage in Cloudflare Workers by polyfilling missing Node.js modules. Adopted by 39+ developers with 8 forks.",
"highlights": [
"Solved critical infrastructure gap allowing developers to use MongoDB in edge computing environments",
"Achieved 39 GitHub stars and 8 forks demonstrating real community adoption and value",
"Built comprehensive polyfills for Node.js modules unavailable in Cloudflare Workers runtime"
],
"keywords": [
"TypeScript",
"Cloudflare Workers",
"MongoDB",
"Edge Computing",
"Open Source"
],
"startDate": "",
"endDate": "",
"url": "https://github.com/jchoi2x/cf-mongodb-polyfills",
"roles": [
"Author",
"Maintainer"
],
"entity": "",
"type": "application"
},
{
"name": "suno-mcp",
"description": "Model Context Protocol (MCP) server enabling AI assistants like Claude to directly interact with Suno AI for music generation. Streamlines the tedious process of music creation through programmatic access.",
"highlights": [
"Built custom MCP server to bridge AI assistants with Suno's music generation API",
"Implemented on Cloudflare Workers for edge deployment and low-latency responses",
"Demonstrates expertise with cutting-edge AI integration protocols"
],
"keywords": [
"TypeScript",
"MCP",
"Cloudflare Workers",
"AI Integration",
"Suno AI"
],
"startDate": "",
"endDate": "",
"url": "https://github.com/jchoi2x/suno-mcp",
"roles": [
"Author",
"Maintainer"
],
"entity": "",
"type": "application"
},
{
"name": "genius-mcp",
"description": "Model Context Protocol (MCP) server for searching songs, artists, and lyrics through Genius API, enabling AI assistants to access comprehensive music metadata.",
"highlights": [
"Developed MCP server to provide AI assistants with programmatic access to Genius lyrics database",
"Implemented comprehensive search functionality for songs, artists, and lyrics",
"Part of broader work building MCP integrations for AI-augmented workflows"
],
"keywords": [
"TypeScript",
"MCP",
"Genius API",
"AI Integration"
],
"startDate": "",
"endDate": "",
"url": "https://github.com/jchoi2x/genius-mcp",
"roles": [
"Author",
"Maintainer"
],
"entity": "",
"type": "application"
}
],
"interests": [
{
"name": "Open Source Development",
"keywords": [
"MCP servers",
"Infrastructure tooling",
"Developer experience"
]
},
{
"name": "Hardware & Fabrication",
"keywords": [
"Machining",
"3D printing",
"CNC",
"Welding"
]
},
{
"name": "Embedded Systems",
"keywords": [
"Microcontrollers",
"IoT",
"Hardware automation"
]
},
{
"name": "Automotive Electronics",
"keywords": [
"Diagnostics",
"BMW repair",
"Performance tuning"
]
}
],
"skills": [
{
"name": "JavaScript",
"level": "",
"keywords": [
"Languages",
"Runtimes"
]
},
{
"name": "TypeScript",
"level": "",
"keywords": [
"Languages",
"Runtimes"
]
},
{
"name": "Node.js",
"level": "",
"keywords": [
"Languages",
"Runtimes"
]
},
{
"name": "Python",
"level": "",
"keywords": [
"Languages",
"Runtimes"
]
},
{
"name": "React.js",
"level": "",
"keywords": [
"Frontend Frameworks",
"Libraries"
]
},
{
"name": "Redux",
"level": "",
"keywords": [
"Frontend Frameworks",
"Libraries"
]
},
{
"name": "Next.js",
"level": "",
"keywords": [
"Frontend Frameworks",
"Libraries"
]
},
{
"name": "Angular",
"level": "",
"keywords": [
"Frontend Frameworks",
"Libraries"
]
},
{
"name": "Express.js",
"level": "",
"keywords": [
"Backend Frameworks"
]
},
{
"name": "Nest.js",
"level": "",
"keywords": [
"Backend Frameworks"
]
},
{
"name": "ASP.net MVC 5",
"level": "",
"keywords": [
"Backend Frameworks"
]
},
{
"name": "PostgreSQL",
"level": "",
"keywords": [
"Databases"
]
},
{
"name": "MongoDB",
"level": "",
"keywords": [
"Databases"
]
},
{
"name": "Redis",
"level": "",
"keywords": [
"Databases"
]
},
{
"name": "SQL Server",
"level": "",
"keywords": [
"Databases"
]
},
{
"name": "Kubernetes",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "Helm",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "Docker",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "Terraform",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "GCP",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "AWS Lambda",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "API Gateway",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "Cloudflare",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "Git",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "CI/CD",
"level": "",
"keywords": [
"DevOps",
"Infrastructure"
]
},
{
"name": "Jest",
"level": "",
"keywords": [
"Testing",
"Quality"
]
},
{
"name": "Mocha.js",
"level": "",
"keywords": [
"Testing",
"Quality"
]
},
{
"name": "SonarQube",
"level": "",
"keywords": [
"Testing",
"Quality"
]
},
{
"name": "Figma",
"level": "",
"keywords": [
"Development Tools"
]
},
{
"name": "Storybook",
"level": "",
"keywords": [
"Development Tools"
]
},
{
"name": "Cursor",
"level": "",
"keywords": [
"Development Tools"
]
},
{
"name": "MCP Servers",
"level": "",
"keywords": [
"Development Tools"
]
}
],
"languages": [
{
"language": "English",
"fluency": "Native or Bilingual"
},
{
"language": "Korean",
"fluency": "Limited Working"
}
],
"meta": {
"canonical": "https://jchoi2x.github.io/resume.json",
"version": "v1.0.0",
"lastModified": "2025-01-07"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment