Skip to content
View onahFran6's full-sized avatar

Block or report onahFran6

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
onahfran6/README.md

Francis Onah

Hello World, I'm Francis

Typing tagline

Software engineer · tech lead · DevOps
Nigeria

Get in touch at onahfran6@gmail.com · LinkedIn

LinkedIn Email

About

Six years as a software engineer. The titles have been tech lead, full stack, backend, and DevOps. The work is the services, the React or Next.js in front of them when the team needs it, and the AWS and Terraform that keep them up.

Right now I am contract tech lead at Stroll, a voice messaging product. NestJS microservices, matching, WebSockets, CI on GitHub Actions. Infra in Terraform on AWS (ECS, Lambda, DynamoDB). Prometheus and Grafana when something is slow.

Before that: full stack at GLAS with Next.js, TypeScript, Go, and GraphQL. Payment APIs at MagicalDB (Paystack, Flutterwave, Stripe, and the rest). Hospital software at HealthStack, including POS printing for tests and consults. An LMS on NestJS and EKS at Parakletus. Paystack on the PaxAlpha site.

On my own time I write local-first tools in Rust and Go. Search and storage that run on your machine, so private code does not have to leave it.

Now

  • Contract tech lead on a voice messaging product: NestJS services on AWS, infra in Terraform
  • aperture and atlasDB in public
  • Studying Kubernetes (CKAD) and still tweaking hybrid search (BM25 + HNSW)

Work

Company What I did
Stroll Tech lead. Voice messaging, NestJS, Terraform, AWS. Singapore, remote from Nigeria.
GLAS Full stack. Next.js, TypeScript, Go, GraphQL, AWS. United States.
MagicalDB, HealthStack, Parakletus, PaxAlpha Payments, hospital software, LMS on EKS. Nigeria.

Projects

aperture: offline code search atlasDB: local-first key-value store

Offline code search. You can look through a private repo by keyword or by meaning, without uploading the tree anywhere.

It walks the repo, chunks with tree-sitter, indexes with BM25 and HNSW, then fuses the rankings (RRF). CLI and TUI, all in Rust.

A small embedded key-value store for apps that need to keep working offline.

WAL with fsync so a crash does not eat writes. Vector clocks and P2P sync when you come back online. Go, with tests.

Other repos
Project Note
code-editor-backend Collaborative editor backend, TypeScript
e-commerce-microservices Microservices sketch
onahrestaulServer Terraform for an API

Tools

TypeScript, JavaScript, Python, Node.js, NestJS, Go, Rust

AWS, GCP, Azure, Terraform, Docker, Kubernetes, Prometheus, Grafana, GitHub Actions, Jenkins, Ansible

Postgres, MySQL, MongoDB, Redis, Linux, Nginx, GraphQL

Stats

GitHub stats

Contributions

GitHub contribution snake

Recent

I play a lot of chess.

Pinned Loading

  1. aperture aperture Public

    Local-first hybrid code search for private repos: AST chunks, BM25, HNSW vectors, RRF fusion. Rust CLI/TUI — offline by default.

    Rust

  2. atlasDB atlasDB Public

    Embedded local-first KV store with WAL, P2P sync, and vector clocks

    Go

  3. blogs-apis blogs-apis Public

    TypeScript

  4. e-commerce-microservices e-commerce-microservices Public

    NestJS/TypeScript e-commerce microservices

    TypeScript 1

  5. hello-world-devope-project hello-world-devope-project Public

    Java