I enjoy creating custom solutions that solve real-world problems for businesses and their customers.
My expertise is fullstack: web, mobile applications and the backends that make them work.
Seeker is a web app that enables users to do full text search of their favorite podcasts. You can search all podcasts or filter on a specific show. Search results come with timestamps and allow for playback and sharing of audio clips.
I created the backend of seeker using Whisper AI to do the audio transcription and Elastic Search for data storage and search. The front-end is created using pure HTML, CSS, and JavaScript. The interactive sections like the podcast filter use Web Components created with ES6 classes.
Spindle is a web app designed to help mathematics educators communicate math asynchronously online. Simply type in the equation you want to render and copy the image into email or chat.
I created this website using HTML and JavaScript. The backend uses Python with FastAPI. Both the backend and frontend are deployed in Docker containers using Docker Compose and NGINX.
A cross-platform productivity app. FP runs on iOS, Android, and the Web. Keep track of your focused time by tagging each timer by activity. Pause a timer on your phone, and watch it stop in your browser.
I created this app using Flutter for performant iOS, Android, and Web front-ends. The backend uses Python and PostgreSQL. I used PostgreSQL subscriptions and web sockets to sync activity across multiple instances of the app.
To build Focus Pocus, I setup my own GitLab server and Gitlab Runner to run my continuous integration (CI) pipelines. I created custom pipelines for the front end and each of the backend services needed to run Focus Pocus and its landing page.
I wrote pipelines that automatically test, build, and integration test my code. My custom CI uses GitLab CI Services to spin up a real PostgreSQL database alongside a Docker image with my code to run a full suite of integration tests. The code then gets packaged into a semantic version tagged image.
With these CI pipelines, I can deploy my app with confidence and ease.