I'm a full-stack software engineer with 3+ years of experience in the Python and JavaScript ecosystems, recently focused on building cloud-native AI-powered applications. I co-created Chunkwise⁠, an open-source platform that enables visual and quantitative evaluation of document chunking strategies and deploys validated strategies for RAG systems via automated ETL pipelines.

Professional Experience
Software Engineer & Co-Creator, Chunkwise⁠
10/2025 – Present
  • Architected a modular Python backend with 3 containerized FastAPI services on AWS ECS Fargate, isolating compute-heavy chunking and evaluation services from an orchestration layer that coordinates internal services and AWS Batch ETL jobs via type-safe Pydantic contracts.
  • Adapted Chroma's token-level IR evaluation framework (precision, recall, IoU) for cloud-native, corpus-specific benchmarking by mapping ephemeral file paths to stable S3 keys, enabling reuse of LLM-generated ground truth across evaluation runs and quantitative measurement of chunking impact on retrieval quality per document type (OpenAI APIs, embedding models).
  • Engineered a production ETL pipeline parallelizing document normalization, chunking, embedding generation, and vector storage across AWS Batch jobs while managing OpenAI rate limits and streaming real-time progress to the UI via Server-Sent Events, reducing processing time for large corpora (300+ MB) from days to under 2 hours.
  • Developed a RESTful orchestration API managing multi-tier data persistence across Amazon S3 and RDS for experimentation state, and pgvector-enabled RDS for publicly accessible vectors, isolating development workflows from production pipelines.
  • Implemented a document normalization layer handling multi-byte Unicode edge cases, preventing replacement-character corruption during token-based chunking and ensuring accurate substring matching in token chunker evaluation.
  • Built a web interface for standardized experimentation with 8 chunkers across 2 libraries (LangChain, Chonkie), featuring real-time chunk visualization, side-by-side metrics comparison, and one-click deployment of validated strategies (TypeScript, React).
  • Developed AWS infrastructure-as-code provisioning the full stack (VPC, ECS, RDS/​S3, ALB, Batch, Secrets Manager), wrapped in an interactive CLI that enables rapid guided environment deployment and teardown for iteration and testing (CDK, Python).
  • Software Engineer, Open-Source Projects
    06/2023 – Present
  • NYT Obituaries Explorer: A RAG system enabling semantic search across 380 New York Times obituaries, implementing document chunking, metadata extraction, and context-aware prompting for grounded question-answering, with LLM observability via OpenTelemetry (OpenAI APIs, pgvector, Arize, Python).
  • Request Bin: A developer tool for capturing and inspecting HTTP requests and webhooks via dynamically generated endpoints, with real-time data streaming via WebSockets (JavaScript, React, Express.js, PostgreSQL, MongoDB, AWS, NGINX).
  • My $tocks: A full-stack stock portfolio application simulating trades via an external market API, with transaction tracking and portfolio state management (Python, Flask, PostgreSQL).
  • Skills
    Backend: Python, JavaScript, Node.js, FastAPI, Flask, Express.js, SQL (PostgreSQL), NoSQL (MongoDB), Pydantic, RESTful APIs, distributed systems, Frontend: React, TypeScript, Vite, Zod, AI Engineering: RAG, vector databases, embeddings, prompt engineering, tool calling, OpenAI APIs, LangChain, Chonkie, Cloud: AWS (ECS Fargate, EC2, Lambda, Batch, RDS, S3, Secrets Manager, API Gateway, IAM, CDK), DigitalOcean, Render, Infrastructure-as-Code, Tools & Practices: Git/GitHub, Docker, unit & integration test (Pytest, Jest, Vitest), WebSockets, NGINX, Linux, AI-assisted coding (Claude, Copilot, Cursor), OOP, CI/CD
    Education
    Columbia University, Ph.D. Candidate (ABD), M.A. & M.Phil. in Germanic Languages and Comparative Literature
    09/2018 – 05/2023 | New York, NY
    Macalester College, B.A. in German Studies & International Studies
    09/2010 – 05/2014 | Saint Paul, MN