Ongoing Projects

npager.com

A briefing document generator that creates variable-length documents from a single prompt. It aims to bridge the gap between quick AI chat and verbose textbooks, allowing users to generate comprehensive primers at their desired level of depth.

Extremely cost efficient document generation at varying levels of depth and detail
File upload and context injection into generated documents
ASCII + LaTeX support
Support for GitHub, Web search, Wiki search
Image search + injection into generated documents
MermaidJS + UML + Other types of diagrams
WYSIWYG editor for document formatting after generation

AWS TUI (EC2 + S3)

A terminal UI built with Ink for quickly browsing AWS EC2 and S3, using your existing AWS CLI credentials/profiles. It features EC2 instance management (start/stop) and an S3 bucket/object browser with hierarchical navigation.

Complex terminal UI (Ink + React paradigms)
AWS SDK interface for EC2 management and S3 hierarchical browsing
Keyboard-driven navigation and paging for large resource lists
Support for IAM, VPC, Lambda, ECS, ECR support
Provisioning and Modifying EC2 instances from CLI
TUI for EC2 Instance Stats

Past Work

A better pdf reader for the web

A hobby project; I'm working on a better PDF reader for the web, specifically for those who spend a lot of time reading textbooks, reports, or research papers



    Convolution visualizer web app

    Created a web app that allows you to apply convolutional filters to images through your web browser, works with kernels from size 2x2 to 7x7 (currently offline, can be self-hosted, refer to repo)

    • Used Flask to build a python web app that can process images
    • Implemented the image convolution algorithm from scratch
    • Enabled multiple filters to be applied to an image sequentially

    Re-implementing U-NET paper

    Implementation of the 2015 paper U-Net: Convolutional Networks for Biomedical Image Segmentation using PyTorch and other machine learning libraries. Currently performing a single class segmentation with plans to later adapt the model to a multi-class image segmentation task.

    • Preprocessed images and segmentation masks
    • Adapted model architecture for my specific segmentation task
    • Used dropout layers for regularization

    Convolutional neural network from scratch (no tensorflow or PyTorch, only numpy)

    I implemented a convolutional neural network from scratch. I wanted to understand the process of calculating and propagating gradients of convolutional layers. Model was validated on the famous MNIST digits dataset

    • Implemented convolutional layer from first principles
    • Created an interface similar to PyTorch, layers were encapsulated as objects with some common methods for gradient calculation and forward propagation

    Rizz.me

    An anonymous text messaging app. You share a link from which anyone can send you text messages using a server-generated username and password. Conversations persist but can be terminated at any point by the user. This build initially started as a joke, but was popular on buildspace's demo day!

    • Implemented serverside session management for authentication
    • Used websockets for handling chat events on client and server
    • Centralized all error handling on the backend
    • Wrote unit and integration tests to run before all deployments

    First principles backpropagation implementation [video and code]

    I couldn't find a resource on backpropagation that explained it to a deep enough level, so I created a video explaining backpropagation in neural networks as best I could, without any abstraction or skipping any mathematical steps. I wanted to reach such a level of depth that a viewer following along could perform each and every calculation by hand if they really wanted to.

    • Used powerpoint to animate LaTeX (this was interesting)
    • Wrote simple, readable code which followed directly from the math concepts I explained
    • Designed a model using functional programming paradigms, forgoing unnecessary complexity and abstraction

    Real-time NLP text editor

    Inspired from apps like grammarly, I created a web app that can interpret text and predict which sentiments are the most prominent.

    • Used a dataset of tweets to train a tensorflow model to detect sentiment in short text
    • Created a Flask webserver to process incoming requests
    • Created a web app that allows anyone to interact with the webserver and to send their own text through the model

    K-Means Clustering algorithm implementation [VIDEO AND CODE]

    The first machine learning model I ever made from scratch. I implemented the K-Means clustering algorithm using NumPy and validated it on some test data

    • Created a video explaining the intuition behind the algorithm
    • Implemented algorithm using a functional programming approach

    Sorting algorithm visualizer

    Used Pygame to visualize different sorting algorithms

    • Used an object-oriented approach to implement a pygame wrapper for bubble sort and insertion sort algorithms