Full Stack Engineer · Brooklyn, NY

Alfredo Ferreira

Two years of React and TypeScript in production at Northwestern Mutual — shipping through the full lifecycle, from design partnership to App Store release.

Now looking for my next full stack role. Below are three things I built end to end, described by how they work rather than what they do.

Selected work

Each one is described by the decision that was actually hard, rather than by its feature list.

Viraling

AI content script generator · SaaS

Generates ready-to-record scripts — reels, carousels, stories — by combining a library of proven viral formats with each creator’s brand voice.

Built solo, end to end.

How it works

  • Tenant isolation the database enforces

    Row level security is enabled and forced on every table, and the app connects as a dedicated role without BYPASSRLS. One user physically cannot read another’s rows. Route handlers verify ownership again on top.

  • A credit ledger that cannot double-spend

    The debit and the ledger row happen in one transaction, using a conditional update so two simultaneous requests can’t both succeed. If the model call then fails, the credit is refunded. The balance is never written anywhere else in the codebase.

  • Prompt injection handled structurally

    The Anthropic key is server-only, enforced at build time. System prompts are fixed server-side and all user text is wrapped as delimited data with explicit instructions to treat it as content. Output is Zod-validated before it touches the database.

  • Rate limiting that degrades safely

    Per user and per IP, falling back to an in-memory window if Redis is unreachable — because the hard spend ceiling is the ledger, not Redis.

  • Sessions you cannot forge from the table

    Own auth: bcrypt for passwords, random 256-bit session tokens with only their SHA-256 stored. Reading the sessions table does not let you log in as anyone.

Built with

  • Next.js 16
  • React 19
  • TypeScript
  • Drizzle ORM
  • Neon Postgres
  • Claude API
  • Zod
  • Upstash Redis
  • Cloudflare R2
  • Netlify

Links for Viraling

One-click “Explore the demo” — no signup, no credentials.

Fieldkit

Offline-first field app · React Native

Technicians fill out job reports on site, often in a burned building with no signal. The office gets the reports when the phone finds a connection, in order, without anything lost or duplicated.

Working prototype, built for a family member’s fire cleanup company and in hands-on testing with them. Runs end to end today against an in-memory mock server, including the conflict path. The office server is the next piece.

How it works

  • The device is the source of truth

    Every screen reads local SQLite and no screen ever awaits the network. The server is a peer we reconcile with, not a store we read through.

  • An ordered log, not dirty flags

    The outbox is an append-only log, so mutations replay in the order the technician made them and an edit can never overtake the create it depends on.

  • At-least-once delivery, on purpose

    Rows are leased before a request goes out; if the process dies mid-flight we reclaim the lease and resend, and the server dedupes on (record_id, seq). Losing an inspection is worse than applying one twice.

  • Conflicts use versions, and never auto-resolve

    Field clocks are wrong often enough that last-write-wins on wall clock quietly destroys data, so each record carries the server version it was last reconciled against. Both copies are held side by side until a human picks one.

  • Forms are JSON schemas, not code

    Changing a job sheet means editing a schema, not shipping an app release. Fields show or hide based on other answers, and hidden values are pruned on submit.

  • Tests run the actual SQL

    The sync engine and record store are tested against a real in-memory SQLite database using the app’s own migrations — covering lease reclaim after a mid-flight crash, replay ordering, and both sides of conflict resolution.

Built with

  • React Native
  • Expo SDK 57
  • TypeScript
  • SQLite
  • expo-router
  • sql.js

Links for Fieldkit

No hosted demo — it is a phone app. Clone it, run npx expo start and scan the QR with Expo Go: it works end to end against a bundled mock server, with demo accounts seeded for every role.

1107 Labs

AI-powered CRM · Full stack

A CRM for small agencies: contacts, a drag-and-drop pipeline, campaigns, and workflow automation.

Built end to end.

How it works

  • One inbox, one rendering path

    Twilio SMS and email are normalized into a single message shape with the channel stored as a field, so one rendering path handles both instead of two parallel threads of UI that drift apart.

  • Pipeline, campaigns, automation

    Partner-facing dashboards for small agencies: contacts move through a drag-and-drop pipeline, with campaigns and workflow automation on top of the same records, backed by Supabase Postgres and Auth.

Built with

  • Next.js
  • React
  • TypeScript
  • Supabase (Postgres + Auth)
  • Twilio
  • Claude API

Links for 1107 Labs

Source available on request.

Experience

Aug 2024 — Apr 2026

Mobile Engineer I

Northwestern Mutual

A React Native application used daily by financial representatives firm-wide, and the Node.js and GraphQL services behind it.

  • Built user-facing features in React, React Native and TypeScript, partnering with the product engineer and design to build features and fix bugs across the app from concept through release.
  • Completed the firm’s formal AI development training, then used Claude Code daily and helped integrate it into the team’s workflow — writing repo-level instruction files and building agents — and contributed to an agentic workflow that generated tests matching team conventions, verified by breaking the covered code to confirm the tests failed.
  • Worked with a team of engineers to migrate five legacy service endpoints — appointments, calls, tasks, notes and opportunities — to GraphQL with no disruption to daily users, shipping in slices and testing each before the next.
  • Built and maintained Node.js and TypeScript backend services and GraphQL APIs, monitored microservice health in production, and deployed monthly releases.
  • Served as Release Captain on a monthly rotation and owned App Store releases end to end, including signing, provisioning, certificates, and the Fastlane pipeline for iOS and Android.
  • Raised Jest test coverage from 55% to 80% and used Renovate to automate backend dependency updates.

Aug — Oct 2023

Software Engineer

MyConnect · Internship

  • Built front-end features in JavaScript for a platform supporting families raising children with special needs — matching users to local resources, and helping families with similar experiences find each other.

May — Aug 2023

Full Stack Engineer

BleuSpa · Freelance

  • Built and launched a full site in React, Node.js and Express for a small business, which drove a 30% increase in online engagement.

Before engineering

  • Enrollment Specialist · RemoteFocus2023 — 2024
  • Marketing Specialist · Acosta2021 — 2023
  • Customer Technology Support · Champion Car & Limo2017 — 2021

I retrained while working full time — the RemoteFocus role overlapped the Fullstack Academy program, the internship and the freelance work above.

Education

  • Software Engineering Certificate

    Fullstack Academy

    2023

  • Associate of Science in Computer Science

    Borough of Manhattan Community College

    2020

Skills

Frontend
  • React
  • TypeScript
  • Next.js
  • React Native
  • Expo
  • Redux
  • React Query
  • Context
  • Component architecture
  • Tailwind
  • HTML
  • CSS
Backend & data
  • Node.js
  • Express
  • GraphQL
  • GraphQL Codegen
  • REST APIs
  • Microservices
  • PostgreSQL
  • SQLite
  • SQL
  • Drizzle ORM
  • Supabase
  • Zod
Delivery & testing
  • Jest
  • Git
  • GitLab CI/CD
  • GitHub Actions
  • Fastlane
  • App Store Connect
  • Transporter
  • Intune
  • Bruno
  • Postman
  • Renovate
AI-native development
  • Claude Code (daily)
  • Claude API
  • GitHub Copilot
  • Agentic workflows
  • Structured output validation
  • Prompt injection mitigation
Languages
Native English and Spanish

Let’s talk

Open to full stack roles and based in Brooklyn, NY. Email reaches me fastest — the address is below, copyable, and I answer it.

alfredoferreiras0796@gmail.com