kieranlamay.com

Hi! I'm Kieran!

I am a rising junior at Brown University studying computer science!

About

Mission

I am enthusiastic about software engineering with a interest in systems and infra.

Currently, I am an incoming software engineer intern at athenahealth, a leading cloud-based healthcare tech company located in Boston

Experience

  • Currently, I am a software engineering intern at athenahealth, where I'm working on the athenaCollector team to scale cloud-native financial systems that connect over 160,000 healthcare providers nationwide.
    ,Software Engineer Intern
  • Currently, I am working with Professor Akshay Narayan on improving the effectiveness of Abagnale, a tool used to reverse engineer congestion control algorithm behavior.
    ,Research Assistant
  • Collaborated on a 10+ person team to develop a Django web application for NECYSC (nonprofit), supporting registration and administration for 500+ campers and 100+ staff.
    ,Developer (Full Stack at Brown)

Skills

  • longboard dancing though i've busted up my wrists multiple times
  • can juggle 4 balls and currently learning 5
  • used to do speedcubing with a personal best of 9.92 seconds
  • slowly getting back into calisthenics can one-arm pullup, human flag, and handstand; learning front-lever
  • rock climbing though i've injured my wrists twice from it; avid moonboarder
  • slacklining and currently learning tricklining
  • currently considering learning: cardistry, lockpicking, archery, jiu jitsu

Projects

  • IP/TCP Network Stack

    An IP/TCP stack made from scratch

    Overview

    In depth example network topology diagram

    RFC compliant user-level IP/TCP stack implemented completely from scratch. It operates over a simulated link layer (UDP-based virtual network) and supports parsing and running various network topologies with the demo using this more complex loop topology:

    loop network topology

    Using the custom REPL, a user can listen, connect, and close sockets, send and receive packets from simple messages to large texts and images, set a custom packet drop/loss rate, simulate link failures by disabling interfaces, and view tabled information about a node (host/router). And of course, everything can be analyzed on Wireshark.

    IP TCP Project Structure Diagram

    IP Layer Functionality

    The IP layer is capable of forwarding IP packets as well as handling parsing and serialization of IPv4 headers, calculating IP checksums, and tracking TTL. Distance-vector routing is implemented based on RIP protocol. Routing loop prevention is implemented using Split Horizon with Poison Reverse. Routing entries expire if a neighbor failed to refresh them thus keeping the routing table updated with the state of the network (i.e. network partitions, offline routers).

    TCP Layer Functionality

    The TCP layer implements a custom socket API supporting standard network application commands (Connect, Listen, Accept, Send, Receive, and Close). The stack follows the TCP connection lifecycle including the 3-way handshake for connection setup, teardown, and synchronized state transitions:

    TCP State Machine

    Flow control is implemented with the sliding window protocol including Zero Window Probing. TCP packet reordering (out-of-order queueing) is handled with an early arrival queue. TCP packet retransmission is handled with a retransmission queue using Smoothed Round-Trip-Time (SRTT) to update Retransmission Timeouts (RTO) for automatic retransmission of lost or dropped packets. An event-driven design is used to avoid busy-waiting.

    Technical Notes

    Implemented in Go (Golang), interfaced with tmux, and analyzed with Wireshark. Took around 80-100 hours.

  • NECYSC Site

    A web application supporting registration and administration for NECYSC (non-profit)

    Client
    New England Chinese Youth Summer Camp

    Overview

    This website was created as part of the Full Stack at Brown club on a developer team of around 10 members. NECYSC (New England Chinese Youth Summer Camp) is a non-profit summer camp for Chinese-American youth in the New England area. The original website was extremely dated so this project provides a refreshed site for secure registration and administration serving 500+ campers and 100+ staff.

    Functionality

    Registration is designed with Bootstrap 5 for a smooth and responsive experience. An admin dashboard provides a restricted portal for camp organizers to view, filter, and manage applicant submissions in real-time. Users are able to login securely to protect registration information. Django's MVT (Model-View-Template) design architecture is utilized to separate the concerns of data design, logic, and presentation.

    Technical Notes

    Frontend uses HTML, CSS (Bootstrap 5), and Javascript. Backend uses Django (Python).

  • CookFlow

    A step-by-step cooking interface designed for real kitchens, not desks

    Overview

    CookFlow is a minimalist cooking app for both mobile and desktop and is created to remove the endless scrolling and ads that come with a typical online recipe. It is designed to be used in a kitchen environment with a simple user interface to allow for almost handfree cooking and clean, step by step instructions. Users paste a recipe URL or text, and CookFlow parses it into a clean, editable sequence of steps with bite-size instructions and built-in timers. Users can also login with Google to save their recipes. This was an app I created mostly for my mom but feel free to reach out with any feedback or questions!

    Functionality

    Online recipes are usually noisy with ads and clutter. CookFlow uses a hybrid parsing pipeline to turn unstructured recipes into structured data. First, it does HTML scraping and JSON-LD extraction when available, using heuristics for parsing ingredients and instructions. LLM-assisted parsing is used as a fallback. Zod schema validation is used to ensure the data is properly formatted for the instructions steps.

    Technical Notes

    The frontend uses React & TypeScript and Tailwind CSS & Radix UI for styling. The backend uses Node.js, Express, and Typescript. Supabase is used for authentication and data storage. The LLM is Google Gemini API.

Contact

emailTBD @ gmail.com