Emmanuel Doji

Portfolio · 2026

000%

EmmanuelED · 26
Jos, Nigeria · Available for contractOpen to senior roles · 2026

Hi, I'mEmmanuel Doji.

Currently

Five years shipping production software across full-stack web, Web3, and AI-native tooling. I write code with Claude Code in the loop — every day.

Scroll
Next.jsTypeScriptRustTauriSolidityviemSanityClaude CodeTurborepoPostgreSQLReactWeb3Next.jsTypeScriptRustTauriSolidityviemSanityClaude CodeTurborepoPostgreSQLReactWeb3
01

About

A senior engineerbuilding with AI in the loop.

I build production software at the seam of web, Web3, and AI. From an embedded wallet SDK with non-custodial key recovery to an offline-first AI tutor on Tauri + Rust, I've shipped tooling that real teams ship on top of.

I lead end-to-end CMS migrations, write the schema, design the editor experience, and wire Claude Code straight into the publishing flow. Marketing teams ship content by prompting; I ship the rails.

5+
Years shipping production
12
Packages in Rabit SDK
9
Sanity document types modelled
100%
Built with Claude Code
03

Selected work

ThingsI've built.

01

Foniolabs

Sanity + Next.js CMS migration with Claude Code MCP wired into the editor flow.

  • Next.js 16
  • Sanity
  • GROQ
  • Vercel
  • Claude Code MCP

Marketing team ships content via natural-language prompts. Lighthouse 95+ across the board, zero SEO drop after cutover.

02

Rabit Wallet

Open-source embedded wallet SDK. 12-package Turborepo, EVM + Solana, 2-of-3 Shamir keys.

  • TypeScript
  • Turborepo
  • Changesets
  • viem
  • @solana/web3.js

MIT-licensed SDK with create-rabit-app scaffolder, full CONTRIBUTING/SECURITY/CoC, and non-custodial key recovery.

03

Pagrin

Multi-app Turborepo with shared AI chat, analytics, and i18n packages.

  • Next.js 16
  • Turborepo
  • OpenTelemetry
  • Vercel AI SDK

Partner dashboard and web SDK consume the same component library and analytics signals through internal packages.

04

Schoolbox

Offline-first AI tutor for low-connectivity learners. Tauri 2 + Rust + local LLM.

  • Tauri 2
  • Rust
  • React 18
  • SQLite
  • KaTeX

Desktop app ships an AI tutor that works without internet. DOCX ingestion, math rendering, encrypted local storage.

02

Stack

What I useto ship.

Languages

01
  • TypeScript
  • JavaScript
  • Rust
  • Python
  • Solidity
  • SQL

Frontend

02
  • React
  • Next.js
  • Vue
  • Nuxt
  • Tailwind CSS
  • Framer Motion

Backend

03
  • Node.js
  • Express
  • PostgreSQL
  • MongoDB
  • Redis
  • GraphQL

Web3

04
  • viem
  • wagmi
  • ethers.js
  • Solana web3.js
  • Hardhat
  • Foundry

DevOps

05
  • Docker
  • GitHub Actions
  • Vercel
  • AWS
  • Sentry
  • Turborepo

AI / Tooling

06
  • Claude Code
  • Sanity MCP
  • Vercel AI SDK
  • OpenTelemetry
  • LangChain
04

Timeline

Where I'vebeen.

  1. 2024 — Present

    Foniolabs

    Senior Full-Stack Engineer · Remote

    Led the Sanity + Next.js migration of foniolabs.xyz end-to-end: 9 document types, 8 reusable section blocks, Claude Code MCP wired into the editor flow. Shipped a desktop AI tutor (Schoolbox) on Tauri + Rust.

    • Next.js 16
    • Sanity
    • Tauri
    • Rust
    • Claude Code
  2. 2024 — 2025

    Pagrin

    Founding Engineer · Remote

    Architected the Pagrin partners dashboard + web SDK monorepo. Built shared AI chat, analytics, and i18n packages used across both apps.

    • Turborepo
    • Next.js
    • OpenTelemetry
    • Vercel AI SDK
  3. 2020 — 2024

    Independent Contract / OSS

    Full-Stack & Web3 Engineer · Jos, Nigeria

    Shipped wallets, on/off-ramps, PvP gaming dApps, and fintech tools for clients across Africa and Europe. Maintainer of Rabit, a MIT-licensed embedded wallet SDK.

    • React
    • TypeScript
    • Solidity
    • viem
    • Socket.IO

06 · Contact

Let's buildsomething sharp.

Open to senior full-stack, Web3, and AI-tooling contracts. I respond within 24 hours, usually faster.

Based in

Jos, Nigeria

WAT · UTC+1

Phone

+234 903 262 1846

Looking for

Contract · Senior

Full-time considered

Response time

< 24h