Some things I've worked on myself and with others

Deal Drop project image

Deal Drop

  • TypeScript
  • React
  • Next.js
  • Vercel
  • PostgreSQL
  • Prisma
  • GraphQL
  • Apollo
  • Auth0

Deal Drop is an async demo day platform. It connects On Deck portfolio companies with investors from within and beyond On Deck's ecosystem. Investors can search and browse companies and request introductions, which founders can manage through their own dashboard.

This was the first major project I led at On Deck, planning and coordinating the work of 3-4 engineers.

We've managed to build the platform from scratch and successfully launch in a couple of months. Each drop had ~30-70 companies and attracted ~500-1000 investors.

Slurpin (API & SPA) project image

Slurpin (API & SPA)
  • Node.js
  • Express
  • PostgreSQL
  • JWT
  • React
  • Redux
  • Ant Design
  • Jest
  • Cypress

Slurpin is an app that let you find ramen places in Berlin and rate their bowls.

The backend API is built with Express and PostgreSQL, using JWT for authentication. The client app (SPA) is built with React, using Redux, React Router and Ant Design.

Backend API and database integration testing is done with Jest, while front-end end-to-end testing is done using Cypress.

click-and-find project image


  • Node
  • Express
  • Cypress

click-and-find is a no-code tool for end-to-end testing.

The SSR app is built in Node and Express, and uses puppeteer to crawl pages, allows user to select elements to find and click, and then generates Cypress test specs. The tests are then run via child_process and their results are parsed from stdout into JSON and displayed in a user-friendly format.

When I joined the project, I’ve refactored the code, built test result routes and developed iterative spec building based on user inputs.

Personal website project image

Personal website
  • JavaScript
  • Eleventy

I built my personal website with Eleventy, a lightweight JavaScript-based static site generator. It features my background, personal projects and occassional blog posts, which are written in markdown and converted to static pages during build.

untappd-compare (API & SSR) project image

untappd-compare (API & SSR)
  • Node.js
  • Express
  • MongoDB
  • JWT
  • AWS EC2
  • Vue.js

Untappd is an app for finding, rating and reviewing craft beers. My app queries Untappd API to find mutually rated beers of two users, compares those ratings, calculates the average rating score and stores comparisons in the database.

The backend API and SSR app are built with Node, Express, MongoDB, JWT and were deployed to AWS EC2. During this project, I’ve purposefully stuck to low level implementation, i.e. avoiding modern frontend frameworks or Express templates.

Later on, I've also rebuilt the SSR user flow as a Vue.js SPA

Marident project image

  • Django
  • TailwindCSS
  • Heroku

Marident is a simple website for a dental clinic with a contact form that sends requests via email. It was one of my first projects, built when I was learning Django, which was definitely an overkill considering it is just a static website.

I’ve also used TailwindCSS on this project, which I enjoyed working with. Compared with most other CSS frameworks, it is not opinionated and most of its classes are well aligned with the actual CSS properties, which means that with Tailwind you are improving your CSS skills, rather than learning framework specific syntax and patterns.