Skip to content

Software engineer · New York

Adelson Aguasvivas.

Experience

Amazon from 2021 to 2023, Coachable since May 2023. The one-page resume has the same facts.

Coachable

Software Engineer

May 2023 to now

New York, NY

Coachable is an education startup that helps engineers land roles at top tech companies through software-driven career prep and coaching.

  • 95%

    placement rate

  • 300%+

    year-over-year user growth

  • 3x

    faster reporting

  • 50%

    better coach-to-student efficiency

  • Engineered and scaled the company’s coaching platform and data systems, supporting 80+ active learners and sustaining a 95% placement rate into roles at Google, Amazon, Meta, Microsoft, and startups.
  • Designed analytics pipelines to track student performance, hiring outcomes, and curriculum insights; enabled 3x faster reporting and improved data accuracy by 40%.
  • Built and maintained internal tooling in Python, React, and AWS, including LLM-powered resume-generation and delivery pipelines, improving coach-to-student efficiency by 50%.
  • Coached 200+ students in data structures, algorithms, and problem-solving fundamentals; guided students through 1,000+ mock interviews resulting in hundreds of offers.
  • Collaborated with the founding team to scale operations, contributing to 300%+ year-over-year user growth.

Amazon

Software Development Engineer, Alexa Data Depot Team

July 2021 to January 2023

Cambridge, MA

The Alexa Data Depot team manages high-volume, privacy-sensitive data pipelines powering Alexa customer experiences and analytics.

  • 700M+

    objects in deletion and retention workflows

  • 99.9%

    SLA on 300+ on-call tickets

  • 40%

    faster pipeline recovery

  • 0

    privacy violations

  • Led data deletion and retention workflows handling 700M+ objects (>55 PB of data) across distributed S3 buckets, achieving $1.3M in quarterly cost savings through optimized lifecycle policies and automation in Python and Java.
  • Served as Security Lead for the team, identifying and resolving 80+ security risks (including 25+ high-risk and 2 critical, org-wide escalations) through IAM hardening, encryption enforcement, and privacy compliance.
  • Owned and maintained the data deletion job ensuring GDPR and CCPA compliance across petabyte-scale datasets, collaborating with privacy and legal teams to ensure zero violations.
  • Owned the monthly on-call rotation, resolving 300+ tickets at 99.9% SLA.
  • Partnered with cross-functional teams to enhance data observability and improve pipeline recovery times by 40%.

Education

Harvard University

A.B. Computer Science

May 2021

Secondary in Ethnicity, Migration and Rights

Spanish Citation

Honors

Forbes 30 Under 30 Scholar · HSF Scholar · Tuskegee Airmen Scholar · NSA Scholar · Dominican Day Parade Scholar

Research

Automated CS Grading System, LLVM Research

University of Illinois Urbana-Champaign

Developed an automated grading and hint-generation system for large CS courses using LLVM, C/C++, and Python, improving grading throughput by 10x.

One of ~40 students nationally selected for the DREU Research Program, collaborating directly with graduate students and faculty.

GitHub , Automated CS Grading System, LLVM Research (opens in a new tab)

Skills

Languages
Python, TypeScript, JavaScript, Java, SQL, C++, C, R
Frameworks
React, Node.js, Rails, Flask
Cloud and tools
AWS, Cloudflare Workers, Git, Docker, CI/CD, LLVM, MySQL, SQLite
Concepts
Distributed systems, data pipelines, security hardening, full-stack development, REST APIs, LLM integration (Claude API), AI-accelerated development (Claude Code, Codex, Cursor)
Spoken
English and Spanish, both native

Resume (PDF, 1 page)

Work

Six projects I built and run on my own. Each one is live on the web or on the App Store, and each has a case study.

Backend systems

Live ledgerline.adelsonaguasvivas.workers.dev

Ledgerline

An HTTP API on Cloudflare Workers for append-only event streams: exactly-once appends, gap-free order, and a SHA-256 hash chain that makes rewriting history detectable.

Fig. 1 The path of one append
  • Client
  • Worker Hono
  • Durable Object one per stream
  • D1 read model
  1. Client to Worker 01 POST /v1/streams/:id/events with an Idempotency-Key
  2. Worker 02 Key, rate and owner checks The API key is looked up by its SHA-256 hash, its token bucket spends one token (429 with Retry-After when empty), and the stream must belong to the key.
  3. Worker to Durable Object 03 append(payload, key) routed by idFromName(streamId)
  4. Durable Object 04 blockConcurrencyWhile A known key with the same body returns the original {seq, hash}; a different body is a conflict. Otherwise seq + 1 and the next hash.
  5. Durable Object 05 One atomic write The event, the key record, the minute rollup, the stream head and the outbox alarm. All or nothing.
  6. Durable Object to Worker 06 {seq, hash}
  7. Worker to D1 07 INSERT OR IGNORE The fast path, so a read right after a write usually sees it. If it fails, the client still gets its answer.
  8. Worker to Client 08 201 {seq, hash} A replay gets 200 with Idempotent-Replay: true; a different body gets 422
  9. Durable Object to D1 09 alarm(): outbox sweep About 5 s later it inserts only the rows D1 is missing, and retries every 30 s while D1 fails.

Hash chain

  1. genesis SHA-256("ledgerline:v2:" + streamId)
  2. h1 event 1
  3. h2 event 2
  4. h3 event 3

hn = SHA-256(hn-1 | RFC 8785 canonical JSON | n)

/verify recomputes the chain from genesis, checking every seq, prevHash and hash, then compares the result with the committed head, so a deleted tail fails too.

How one append works, step by step, Ledgerline

Ledgerline demo, close up: after the amount in event 2 is edited, its recomputed hash no longer matches and event 3 inherits the break.
Live demo: edit one amount and the chain breaks at that event.
ledgerline.adelsonaguasvivas.workers.dev
Ledgerline demo: the amount in event 2 changes to 999, the hash chain breaks at event 2, event 3 turns invalid because it builds on that link, and a reset turns the chain green again.
Live demo: change one amount and /verify reports brokenAt: 2.

99

tests in 15 files, run in the Workers runtime against real Durable Objects and a local D1

  • Retrying an Idempotency-Key returns the original {seq, hash} with Idempotent-Replay: true; reusing it with a different body gets 422.
  • Appends run inside blockConcurrencyWhile, so 20 racing writes get seq 1 to 20; remove the guard and the test fails.
  • A transactional outbox delivers every committed event to the D1 read model: it can lag, but it cannot lose one.

Dominican dominoes · iPhone, web, iMessage

App Store v1.1.0 Live playcapi.com

Capi

Play 1v1 or 2v2 with friends, no account needed: in real time in the iPhone app and on the web, or turn by turn in iMessage.

A 1v1 Capi game on iPhone in the middle of a round, with both scores in the header.
iPhone app
playcapi.com
The Capi home page at playcapi.com: the form to start a game, with name, color, table, mode and points to win.
Web
A 1v1 Capi game inside the Messages app on iPhone, with the New game and Open in Capi buttons above the table.
iMessage

960

seeded endgames in one test suite, each checked so the table can always move

  • One TypeScript rules engine, about 1,240 lines with zero runtime dependencies, runs on the server and in every client: the web, the iPhone app and iMessage.
  • The server re-runs every move through the engine and rejects a stale write with HTTP 409.
  • A quiet table refetches its state every 10 seconds, so a missed realtime update cannot freeze a game.
the-cap-room.vercel.app/trade
The Cap Room trade machine: moving the cash slider past the $8,495,000 limit turns the stamp from LEGAL to ILLEGAL, 2 rules violated, then back.
Live console: a two-team trade checked rule by rule as the cash changes.
the-cap-room.vercel.app/trade
The Cap Room rule ledger for a legal trade: 19 checks with the one hard-cap flag pinned first, and the salary math written out for both salary-matching rows.

Web app · NBA salary cap

Live the-cap-room.vercel.app

The Cap Room

A console for NBA salary-cap work: team cap sheets, player comparisons, and two-team trades checked against the 2023 CBA with the math for every rule.

44

engine tests, with every apron and tax line tested one dollar over

SWARMGEDDON on a phone: a STAMPEDE alert, then a stream of alien insects pours in while the pilot fires.
The live game with touch controls, two and a half minutes into a run.

Browser game · phone and desktop

Live swarmgeddon.adelsonaguasvivas.workers.dev

SWARMGEDDON

A twin-stick survival shooter: swarms of alien insects across three worlds, bosses, and a seeded daily challenge.

60 Hz

fixed simulation step, separate from rendering; all randomness comes from 7 seeded streams

Shipping log

Launches and updates that are live, newest first. Dates come from the App Store and from commit history.

  1. Capi 1.1: turn-by-turn games in iMessage, and a shop that sells three tables and three tile designs.

    App Store Case study, Capi
  2. Ledgerline 422 for a reused Idempotency-Key, RFC 8785 hashing as chain version 2, an outbox for the D1 read model, and a new page with the tamper demo up front.

    Live Case study, Ledgerline
  3. The Cap Room Redesigned on Next.js 16 and React 19: a league board that fits a phone, one-click trades to try, and a Cmd-K player search.

    Live Case study, The Cap Room
  4. SWARMGEDDON v2 is live in the browser: three worlds, bosses and a seeded daily challenge.

    Live Case study, SWARMGEDDON
  5. Capi Games no longer stall after a missed realtime update: a 10-second resync, a server rebroadcast, and a suite of 960 seeded endgames.

    Live Case study, Capi
  6. Invicto Runs resume after a reload, and the title screen shows before the 1.3 MB roster file loads.

    Live Case study, Invicto
  7. Capi 1.0 on the App Store.

    App Store Case study, Capi
  8. El Corre Corre Landing page and privacy policy live.

    Landing page, El Corre Corre (opens in a new tab)
All releases
  1. Anota 1.2: a banner ad, a Remove Ads purchase, and Pro now removes ads too.

    App Store Case study, Anota
  2. Ledgerline Live on Cloudflare Workers with a public tamper demo.

    Live Case study, Ledgerline
  3. The Cap Room Live on Vercel.

    Live Case study, The Cap Room
  4. Anota 1.1: themes, a share card, and the Pro unlock.

    App Store Case study, Anota
  5. Anota 1.0 on the App Store.

    App Store Case study, Anota
  6. Flawless Live in the browser.

    Live Play in the browser, Flawless (opens in a new tab)
  7. Invicto Live in the browser.

    Live Case study, Invicto
  8. SWARMGEDDON v1 live in the browser.

    Live Case study, SWARMGEDDON

How I build

Six habits that show up in more than one project, with links to the public code.

After hours

Games and apps I make on my own time. Several are set in the Dominican Republic.

iPhone game

TestFlight beta Not on the App Store yet

El Corre Corre

An arcade motorbike ride down the Malecón of Santo Domingo, for iPhone. Riding against traffic doubles the score.

El Corre Corre: riding against traffic on the Malecón at sunset.
El Corre Corre: the rider moves into the oncoming lane, the x2 multiplier lights up, and near-miss points pop up.
Against traffic the score doubles, and each near miss adds points.
El Corre Corre: a wheelie through the Zona Colonial toward the Puerta del Conde.

0

audio files in the repo; all music and sound effects are synthesized with Web Audio while you play

  • The traffic spawner rejects any wave that leaves no gap across the road, and a test checks it.
  • 108 unit tests in 11 files.
  • Saves are mirrored into native storage, so iOS cannot wipe progress.

Built for a local business

In development

Hype Room

An iPhone app for Hype Room, a sneaker and streetwear store: a free weekly draw, the store catalog, and in-store holds. Pre-launch demo with sample data.

Hype Room app, Drops tab: a $1 draw for a pair of Jordan 1s. Entry is free, and one winner may buy the pair for $1. Below are the number of entries and the time left.
Hype Room app, Shop tab: the product grid with a size filter.
  • Each weekly draw has a dated id, and a test sweeps every hour of three weeks, including both DST changes, to check that two draws are never open at once.
  • Hold codes skip 0, O, 1, I and L so staff can read them at the counter, and holds expire after 48 hours.

Other projects

  • Conuco, Case study

    In development

    A Caribbean farming, fishing and town-restoration game for web and phone, written Spanish first.

    126 tests

  • A Spanish-first game: set six social policies without knowing who you will be, then live fifteen random lives under them.

    55 tests

  • A browser draft game: pick five characters and survive a seven-battle tournament.

    83 KB

  • Liftling (working name)

    In development

    An offline iPhone workout tracker in English and Spanish. A small creature grows as your training adds up.

    The code is private. I can walk you through it on a call.

    ~700 tests

  • Coherente

    Private build

    A bilingual browser game of moral dilemmas. A run ends when a choice contradicts one you made earlier.

    The code is private. I can walk you through it on a call.

    1,500 seeded runs

  • The System

    Private build

    A private study app: a daily practice queue with spaced review at 3, 7 and 21 days.

    The code is private. I can walk you through it on a call.

Playable now in a browser, no account: SWARMGEDDON (opens in a new tab) Invicto (opens in a new tab) Flawless (opens in a new tab) Capi (opens in a new tab)

About

I studied computer science at Harvard, then spent a year and a half at Amazon building data deletion and retention systems for Alexa across more than 55 petabytes of data. Today I’m at Coachable, an education startup, where I build the coaching platform, the analytics pipelines and internal tools.

I’m Dominican and grew up between Spanish and English. That shapes how I build: bilingual interfaces by default, and projects with a piece of home in them, from dominoes and baseball to the Malecón and the conuco.

I build outside work because I like following an idea through the whole product cycle, from the engine and the data model to the screens people use. Recent releases include two iPhone apps and several browser games.

Contact

adelsonaguasvivas@gmail.com

Email is the best way to reach me about a role or a project.