Open to engineering roles and collaborations

Michael Ogundipe

Software engineer focused on backend services, APIs and web applications

I build the services behind applications: APIs, data models and monitoring, plus the React and TypeScript interfaces that use them. My recent work includes a Go monitoring server with a query API and alert rules.

Portrait of Michael Ogundipe

Featured projects

Four projects, with the engineering behind them

A focused selection. The full list is in the project archive.

Backend service · Go

Monitoring and observation platform

A single-binary monitoring server (obsd) with no third-party dependencies. It scrapes Prometheus-format endpoints, accepts pushed metrics, stores time series, evaluates alert rules and serves a query API.

  • Storage is an in-memory, label-indexed time-series store with per-series caps and time-based retention.
  • Alert rules move through pending, firing and resolved states, with notifications to logs or a webhook.
  • The README documents tests for the storage engine, the Prometheus parser, the alert state machine and config validation.

A reference implementation. Data is kept in memory and is lost on restart, and the server has no authentication, so it is meant to sit behind an authenticated reverse proxy.

Go HTTP API Time series Alerting
Screenshot of the IRAS inspection report web application

Web application · TypeScript

IRAS: Inspection Report Automation System

A web application for automating inspection report generation. The frontend is built with Vite and TypeScript, and the project includes Firebase configuration for Cloud Functions, Firestore and Storage.

  • Firebase rules for Firestore, Storage and the Realtime Database, plus Cloud Functions in the repository.
  • Deployment configuration for both Vercel and Firebase App Hosting.

Client paused deployment. The demo link may not reflect the latest version.

TypeScript Vite Firebase Cloud Functions
Screenshot of the CAJEM Social media web app

Full-stack · React and PHP

CAJEM Social

A social media app designed and developed with React and PHP. The repository is public and documents the project.

Client paused deployment.

React PHP Tailwind CSS Firebase

Browse the full project archive

Engineering approach

How I approach backend work

Examples from my projects, rather than general principles.

API design

The monitoring platform separates ingestion (a JSON write endpoint) from reads: a query endpoint with optional bucketed downsampling, plus series, alerts and targets endpoints for inspection.

Data modelling

Series are indexed by their label sets. The store applies a per-series cap and time-based retention, so old and excess samples are dropped rather than held indefinitely.

Testing and failure states

Alert rules move through pending, firing and resolved states. According to its README, the project tests that state machine, the Prometheus parser and config validation.

Security and deployment

The monitoring server documents that it has no authentication and should sit behind an authenticated proxy. My Go training project covers REST APIs, gRPC, PostgreSQL, Docker, Kubernetes and JWT authentication.

Technical skills

Tools I use, grouped by purpose

Grouped by where I have used each technology. Depth varies across the list.

Languages

Go JavaScript TypeScript PHP HTML CSS

Backend

Go Node.js PHP REST APIs gRPC JWT auth

Frontend

React Next.js Vite Tailwind CSS Bootstrap

Data and storage

PostgreSQL MySQL Firebase Firestore

Tools and infrastructure

Git GitHub Docker Netlify Vercel

Contact

Have an engineering role or a project in mind?

I am interested in backend-leaning roles and in well-scoped collaborations. Send a short note with the context and I will get back to you by email.