Software engineering at Amazon Alexa. Platform engineering at Coachable.
Coachable
Software Engineer
May 2023 to present
New York, NY
Coachable helps software engineers prepare for interviews and find jobs through coaching and structured practice.
95%
placement rate
300%+
year-over-year user growth
3x
faster reporting
50%
better coaching efficiency
Built and scaled the company’s core platform and data systems for 80+ active learners. The program sustained a 95% placement rate at Google, Amazon, Meta, Microsoft, and startups.
Designed analytics pipelines for student performance, hiring outcomes, and curriculum insights. Reporting became 3x faster, and data accuracy improved by 40%.
Built and maintained internal tools with Python, React, and AWS, including LLM-based resume generation and delivery. These tools improved coaching efficiency by 50%.
Coached 200+ students in data structures, algorithms, and problem-solving through 1,000+ mock interviews, helping them earn hundreds of offers.
Scaled operations with the founding team, contributing to 300%+year-over-year user growth.
Amazon
Software Development Engineer, Alexa Data Depot Team
July 2021 to January 2023
Cambridge, MA
Alexa Data Depot manages large volumes of privacy-sensitive data used by Alexa’s products 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 deletion and retention workflows for 700M+ objects (>55 PB) across distributed S3 buckets. Lifecycle policies and automation in Python and Java saved $1.3M per quarter.
As the team’s Security Lead, resolved 80+ security risks, including 25+high-risk issues and 2 critical escalations across the organization. Strengthened IAM controls, encryption, and privacy compliance.
Owned the data deletion job for petabyte-scale datasets under GDPR and CCPA requirements. Worked with privacy and legal teams, with zero violations.
Managed the monthly on-call rotation and resolved 300+ tickets with 99.9% SLA compliance.
Improved data observability with teams across the organization, reducing 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 grading, LLVM research
University of Illinois Urbana-Champaign
Built an automated grading and hint system for large computer science courses with LLVM, C/C++, and Python. It increased grading throughput by 10x.
Selected as one of about 40 students nationwide for the DREU Research Program, working directly with graduate students and faculty.
Six projects I built and shipped independently, from backend infrastructure to multiplayer games and iPhone apps.
Backend systems
Live ledgerline.adelsonaguasvivas.workers.dev
Ledgerline
An event-stream API that keeps writes in order, handles retries without duplicates, and detects changes to saved history.
Fig. 1How an event is appended
Client
WorkerHono
Durable Objectone per stream
D1read model
Client to Worker 01POST /v1/streams/:id/events With an Idempotency-Key header.
Worker 02Key, rate and owner checks Looks up the API key by its SHA-256 hash, consumes one rate-limit token and checks stream ownership. An empty bucket returns 429 with Retry-After.
Worker to Durable Object 03append(payload, key) Routed by idFromName(streamId).
Durable Object 04blockConcurrencyWhile A reused key with the same body returns the original {seq, hash}. A different body is a conflict. A new key gets seq + 1 and the next hash.
Durable Object 05One atomic write Saves the event, key record, minute rollup, stream head and outbox alarm together. Either all are committed or none are.
Durable Object to Worker 06{seq, hash}
Worker to D1 07INSERT OR IGNORE Copies the event to D1 immediately so reads usually see a new write. If this fails, the client still receives the append result.
Worker to Client 08201 {seq, hash} A replay returns 200 with Idempotent-Replay: true. A different body returns 422.
Durable Object to D1 09alarm(): outbox sweep After about 5 s, inserts any rows missing from D1. Retries every 30 s while writes fail.
Hash chain
genesisSHA-256("ledgerline:v2:" + streamId)
h1event 1
h2event 2
h3event 3
hn = SHA-256(hn-1 | RFC 8785 canonical JSON | n)
/verify rebuilds the chain from genesis and checks every seq, prevHash and hash. Comparing the result with the committed head also catches deleted events at the end.
Ledgerline422 when an Idempotency-Key is reused with a different body, RFC 8785 canonical hashing, outbox delivery to D1, and a redesigned tamper demo.
An iPhone app for a sneaker and streetwear store. Browse the catalog, reserve items for pickup, and enter a free weekly draw. Pre-launch demo with sample data.
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.
I’m a software engineer and Harvard CS graduate. At Amazon Alexa, I worked on distributed systems handling more than 55 petabytes of data and served as my team’s Security Lead. Today I build and scale Coachable’s platform, data pipelines, and internal tools.
I’m Dominican and grew up speaking Spanish and English. Most of my projects support both languages. A few draw on things I grew up with: dominoes, baseball, and the Malecón in Santo Domingo.
I also build and ship products independently. My releases include two iPhone apps and several browser games. I like owning the full process, from the data model and engine to the interface and release.