Skip to content
georgepuma.dev

I build web products that ship to production. And I can prove it.

Full Stack Developer — React, Next.js, TypeScript, PostgreSQL. Five years building enterprise products in EdTech, e-commerce, ERP and electronic invoicing, with remote teams in the US and Latin America. I design AI-assisted development workflows and treat them as what they are: engineering.


  • 500+ schools

    K‑12 LMS in production; primary contributor to the frontend and API

  • 2 businesses

    run daily on software I designed and built end to end

  • WCAG 2.1 AA

    contractual requirement, met and covered by tests

Work

K‑12 LMS for 500+ schools in the US and 10 countries: content editor, video, 5-role RBAC and FERPA compliance over a 29-entity schema.

I designed the editor around its failure modes before writing code, and the file upload ended up as a three-step flow: a signed URL with the limits baked into the signature, server-side validation of the real bytes and an explicit finalize step.


29 entities
schema with 5-role RBAC and FERPA
Jun 12, 2026
delivered on the agreed date
WCAG 2.1 AA
contractual requirement, verified with jest-axe
Read the case study →
Notable Learning system schemaMulti-institution LMS: 500+ schools in 10 countries over a 29-entity schema grouped by domain — courses, video, users, institutions and files — with 5-role RBAC and FERPA compliance.COURSEScontent editorVIDEOMuxUSERSRBAC · 5 rolesINSTITUTIONSmulti-tenant500+ schoolsFILESGCS · PDF via streaming proxy
Five domains over 29 entities. The highlighted node, institutions, is the multi-tenant root of every query.

Cleo Spa

Inventory, public catalog and bookings for a beauty salon in Arequipa: immutable stock ledger with FEFO batches, default-deny RLS on 16 tables and a panel with three operational roles (owner, cashier, stylist). The tool the staff uses every day — not a showcase.

16 tables
with default-deny RLS: permissions live in the database
insert-only ledger
every correction is an adjustment, never an edit
Read the mini-case →
Inventory movements panel: table of receipts, sales, consumption and shrinkage, each row with product, signed quantity, location, date and author.

How I work

Quality and workflow are part of the product, not an afterthought.

I don't use AI as autocomplete: I design systems with it. My main workflow runs on Claude Code — specialized subagents, MCP servers and custom commands — and I treat agent configuration as what it is: engineering, with rules, edge cases and maintenance.

The best example: an automated PR reviewer for Notable Learning. It validated that each branch matched a real Linear ticket, loaded the project conventions from a context repo, invoked subagents depending on what the diff touched (security, tests, architecture) and reviewed in two stages: first it checked whether previous blocking comments were actually resolved, citing file and line; then it did its own review against project criteria — multi-tenant isolation, roles as enums, Zod validation, zero PII in logs. All in a single consolidated comment, with severities and suggested fixes.

I designed it and ran it on my own PRs; the team reported that human reviews now arrived with the obvious issues already flagged.

Every analysis ends in one consolidated comment — a bot that comments five times is noise.
  1. E2E tests with Playwright for the flows that can't fail.
  2. Accessibility verified automatically (axe, jest-axe) on every component and page.
  3. Business rules in the database (default-deny RLS), mirrored in the application.
  4. “What I'd improve” written at the close of every project.

Experience

  1. Junto AIFull Stack Developer

    Primary contributor to a K‑12 LMS in production for 500+ schools, delivered on the agreed date.

    An institutional LMS for the US and 10 countries, handling data on minors, with FERPA compliance as a hard requirement. A fixed-scope contract that ended with the delivery.

    1. The full frontend and API layer: component library, content editor for teachers, student and teacher dashboards, and a multi-institution admin panel.
    2. Video (Mux) and storage (Google Cloud Storage) integrations, with a three-step direct upload and server-side validation of the content.
    3. An automated PR reviewer built on Claude Code: webhook, validation against the Linear ticket, subagents chosen based on the diff, and a single consolidated comment.

    Delivered on Jun 12, 2026, the agreed date, with weekly deliverables reviewed by the CTO and WCAG 2.1 AA verified with jest-axe on every component.

    Read the case study →
  2. Global ResourcesFrontend Developer

    A Next.js frontend for a telecom operator's network management system, built on top of existing services.

    The client ran the system from a Java frontend over the same services and wanted a modern interface. I started from a minimal template with their design system (Mistica) and worked alongside another frontend developer, each of us owning our own modules.

    1. Network query modules: components, sources, nodes and component types, on top of Java and Quarkus APIs with Kafka.
    2. A demo cycle with the client on every iteration: walkthrough, requested changes, implementation and another walkthrough.
    3. API changes worked out with the backend team whenever the frontend needed the data in a different shape, plus debugging Spring Boot microservices.
    4. Unit tests with Cypress over the delivered modules, at the close of the project.
    5. For a second client of the consultancy, interface changes on an Angular frontend with microfrontends and on a Flutter app.

    The modules shipped with the client's sign-off on every iteration, and their tests live in the team's repository.

  3. DesisDeveloper

    End-to-end tickets on an electronic invoicing system in production, written in plain PHP and JavaScript.

    A system that had been in production for years, with no framework. Work arrived as tickets from the operations and sales teams, and every change went through QA before it shipped.

    1. Changes anywhere in the system: the quoting flow, issuing invoices and receipts, content rendering and keyboard navigation.
    2. PostgreSQL database objects — indexes, functions, procedures and types — to support the new features and cut query times.
    3. Fixes on the tickets QA sent back, with the feedback resolved on the ticket itself.

    Every change reached production once QA signed off on it.

  4. AccountTECHFrontend Developer

    A module-by-module migration to React of property management software used by several clients in the US.

    The product existed as a Visual Basic desktop application, with one database per client and high data volume. The team took that code and migrated it to a web platform in pieces.

    1. Migration of the financial modules: Invoices, AR Payments, AP Payments, Notifications and Reports.
    2. A new notifications and campaigns module, built end to end, working out the business rules with the backend team.
    3. Scoping new modules with the team, based on what the product's clients were asking for.

    Every migrated module went live on the web platform the system's clients use.

  5. FootlooseProgrammer Analyst

    Two systems at once: the customer-facing VTEX e-commerce and the internal SQL Server system the staff used.

    A footwear retailer with year-round commercial operations. The e-commerce site was already built and live; the job was to maintain it, extend it and support the seasonal campaigns.

    1. Commercial operations in VTEX: campaigns, coupons, catalogs, bulk price uploads and promotion forms.
    2. Storefront: design changes through JSONC, transactional email templates and React components in VTEX IO.
    3. An internal Scriptcase system: product lookup by SKU, payment schedules for staff and PDF generators for hiring.
    4. SQL Server database: tables, stored procedures and changes promoted from development to production.

    The e-commerce site stayed up through the seasonal campaigns, and the internal team used the modules I shipped every day.

  1. BIZZPERUWeb Developer

    Websites and web interfaces in Vue and Laravel over MySQL, before moving into product work.
TypeScript · React · Next.js · Node.js · Tailwind CSS · PostgreSQL · Prisma
Playwright · Jest · NextAuth · Supabase · VTEX IO · SQL Server · Git / CI-CD
Go · NestJS · GCS · Cloudflare R2

Contact

I'm looking for full stack or frontend roles, remote, contract or full-time, on teams that treat quality as part of the product. English B2 (EF SET). GMT‑5: full overlap with the US and two to three hours with Europe. If you think I'd fit your team, get in touch — I always reply.

george@georgepuma.dev