Hi! That's me, Teddy.

Teddy Mwai

Software Engineer

Download my CV or Get in touch

© 2024 Teddy Mwai

As a fullstack software engineer with a focus on backend infrastructure and microservices, I thrive on problem-solving, delivering bespoke solutions for entities. A strong advocate for modern development architecture. Dedicated to creating simplified DX, better performance, cost-effectiveness and scalability.

Available for freelance software development and consultancy Get in touch!


I have worked with a number of technologies including — TypeScript, React, Next JS, Node JS, GoLang, GraphQL, PostgreSQL, Redis, RabbitMQ, Docker, Kubernetes, AWS, Google Cloud Platform, Azure, Terraform, Sentry and many more.


Recent work —

image

Speech Recognition Service

Speech Recognition

A speech recognition service that is designed to trnscribe audio files as well as live audio streams into text. The text is then stored in a Notion database or downloaded as a PDF as per the user's request. The user interface is built using Streamlit, a Python library that allows for the creation of web applications using Python.

  • Python
  • Speech Recognition
  • Azure Cognitive Services
  • Notion API
  • Streamlit
image

Serverless QR Code Generator

Serverless

A serverless application hosted on Azure, specifically an Azure Function, that is designed to generate QR codes for provided URLs. The generated QR codes are then stored in Azure Blob Storage for easy access and management. The application is written in JavaScript and is triggered via HTTP requests. The project leverages the serverless architecture of Azure Functions, which means there is minimal infrastructure management involved. It dynamically creates QR codes for any given URL and stores these QR codes in Azure Blob Storage, a cloud storage service provided by Azure.

  • Azure
  • JavaScript
  • Serverless
  • Azure Functions
  • Azure Blob Storage
  • Docker
  • GitHub Actions
image

Log Microservice

Microservice

A microservice that is designed to ingest logs from other microservices and store them in a postgres database. The log microservice receives logs from other microservices via HTTP requests or Rabbit MQ. If the logs are of a FATAL level, the log microservice sends an email to the system administrator. The log microservice is written in GoLang and containerised using Docker. The project leverages the microservice architecture, which means that the log microservice can be scaled independently of other microservices.

  • GoLang
  • Docker
  • Microservice
  • Postgres
  • Rabbit MQ
  • Go Chi
  • Go Test
  • Go Mock
image

Langchain YouTube Assistant

YouTube

A YouTube assistant that is designed to help viewers ask questions about the video they are watching. The assistant leverages the YouTube API to retrieve the video's transcript and then uses OpenAI's GPT-3 to generate answers to the viewer's questions. The assistant is built using Streamlit, a Python library that allows for the creation of web applications using Python. The project is containerised using Docker.

  • Python
  • Docker
  • Streamlit
  • YouTube API
  • Langchain
  • OpenAI
image

React Animated slider

Animation

A React landing page built with an animated slider. The slider is built using Framer Motion, a React library that allows for the creation of animations in React. The project is deployed using Vercel which makes it easy to deploy Next JS applications. The project is written in TypeScript and uses Tailwind CSS for styling. The images are hosted on Cloudinary, a cloud-based image and video management service.

  • React
  • Next JS
  • Framer Motion
  • Vercel
  • TypeScript
  • Tailwind CSS
  • Cloudinary
image

Multi Tenant Distributed Database

Database

A distributed database that is designed to be multi-tenant. There are three databases: Postgres, MySQL and SQL Server. Postgres is the master database and the other two databases are slaves. The project is containerised using Docker and the databases are deployed using Kubernetes. The project leverages the microservice architecture, which means that the databases can be scaled independently of each other.

  • Postgres
  • MySQL
  • SQL Server
  • Docker
  • Kubernetes
  • Microservice
  • Networking