Skip to content
View altradits's full-sized avatar
  • Atlanta
  • 03:08 (UTC -12:00)

Block or report altradits

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.

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
altradits/README.md

Typing SVG



Go Bitcoin Lightning PostgreSQL Docker Linux


Profile Views GitHub followers


⌨️ Latest launch — Touch Typing Master

Play the live app → · Read the source →

A browser-first Go application that turns progressive typing lessons into a responsive practice game: live WPM, accuracy, scoring, combos, focused key prompts, sound, Docker packaging, health checks, and cross-platform release builds.

Built to make deliberate practice feel engaging — and to demonstrate end-to-end product delivery from Go backend to deployed UX.



Currently Building


Software engineering apprentice at Zone01 Kisumu, Kenya. I write Go.

I chose Go because lightningnetwork/lnd is 99.5% Go — the most deployed Lightning node in the world. My goal: understand it well enough to merge production code into it. Everything I build is a step toward that.

For a Kenyan youth with no credit history, no collateral, and no bank — a Lightning wallet is more powerful than any bank. I am learning the code that makes this possible.


altradits/challenges — a 158-lesson curriculum designed to take me from package main to Bitcoin open source contributor.

Phase 1  (01–05)    Hello World       package main · fmt · entry points
Phase 2  (06–27)    Foundations       structs · pointers · interfaces · goroutines
                                      channels · context · testing · file I/O · regexp
Phase 3  (28–51)    Practice          one concept per exercise — building muscle memory
Phase 4  (52–80)    Strings Mastery   every strings / fmt / strconv function
Phase 5  (81–144)   Challenges        hard piscine-style problems, multiple concepts
Phase 6  (145–151)  Backend Bridge    time · JSON · HTTP · SQL · config · logging · generics · graceful shutdown
Phase 7  (152–158)  Capstones         REST APIs → Bitcoin open source contribution


Skill Status Where I Practice
Go 1.22+ 🟠 Active challenges — 158 lessons
gRPC + protobuf 🔵 Learning yebo Lightning service
btcsuite/btcd ⬜ Next yebo treasury layer
macaroon auth ⬜ Next LND node integration
goroutines + context 🟠 Active challenges 28–152
database/sql 🟠 Active yebo
golangci-lint + CI ⬜ Next LND itest framework

Roadmap to a merged LND PR:

  • Build and deeply understand the full Go language (lessons 01–158)
  • Build gRPC client — speak directly to a real LND node
  • Run LND on regtest, write integration tests with the itest framework
  • Find a small open issue in lightningnetwork/lnd, submit a PR, get it merged

flowchart LR
    A[📱 Kenyan User] -->|M-Pesa STK Push| B[YeboBank]
    B -->|KES → Sats| C[⚡ Lightning Wallet]
    C -->|Lightning Payment| D[🌍 Global Recipient]
    C -->|Lock Sats| E[💰 Savings Pool]
    E -->|Monthly Interest| C
    A -->|Chama Group| F[👥 Group Wallet]
    F -->|Collective Savings| E

    style A fill:#1a1a2e,color:#fff
    style B fill:#2d1600,color:#F7931A
    style C fill:#1a0a00,color:#F7931A
    style D fill:#0d2818,color:#4ade80
    style E fill:#1a0800,color:#F7931A
    style F fill:#1a0800,color:#F7931A
Loading



Project What it demonstrates Live / source
Touch Typing Master Go HTTP service, interactive browser UX, Docker deployment, testable game logic, cross-platform release builds Play · Code
YeboBank Bitcoin/Lightning domain modelling, secure financial-systems thinking, PostgreSQL wire protocol work Code
Go Challenges Deliberate practice across Go fundamentals, concurrency, HTTP, testing, and backend concepts Code
BursaryHub Product thinking for opportunity discovery and access Code

Click any question to reveal the answer.

⚡ What is the Lightning Network and why does it matter for Africa?

The Lightning Network is a second-layer payment protocol built on Bitcoin. Instead of writing every transaction to the blockchain (slow, expensive), two parties open a payment channel — a private ledger between them. Payments settle instantly and for fractions of a cent.

For Africa: M-Pesa charges ~1% per transfer. Lightning charges ~0.001%. A Kenyan sending $10 pays $0.10 on M-Pesa — on Lightning, less than a cent.

₿ How many satoshis are in 1 Bitcoin?

100,000,000 satoshis — 1 sat = 0.00000001 BTC.

Named after Satoshi Nakamoto. At $100,000/BTC, 1 satoshi = $0.001. Still useful for micropayments that no other payment system can touch.

🔐 Why does YeboBank have zero external Go dependencies?

Every external dependency is a trust decision — you're trusting that library author's code, their supply chain, and their continued maintenance. In financial software, that trust has a price.

YeboBank uses only Go's standard library. The PostgreSQL wire protocol is implemented from scratch in internal/pgdrv. Zero deps means: no supply chain attack surface, no broken upgrades, no abandoned packages in a banking core.

🏦 What is a Chama and why does YeboBank support them?

A chama is an informal savings group common across Kenya and East Africa — typically 5–30 people who pool money, invest together, and distribute returns. Chamas manage an estimated KES 4 billion across Kenya.

Traditional chamas use M-Pesa with a manual ledger and operate on trust alone. YeboBank gives chamas a transparent group wallet: every contribution, vote, and distribution is verifiable. The group's money is in Bitcoin — it cannot be quietly moved by one member.

🚀 What does it take to contribute to lightningnetwork/lnd?

lightningnetwork/lnd is 99.5% Go — 300,000+ lines. Getting a PR merged requires:

  1. Deep Go knowledge — goroutines, channels, context, interfaces, generics
  2. gRPC fluency — LND's entire API is protobuf/gRPC
  3. Bitcoin protocol understanding — scripts, HTLCs, commitment transactions
  4. Test discipline — every PR needs unit + integration tests via the itest framework
  5. Reading existing code — LND has strict conventions; PRs that ignore them are closed

The challenges repo is my step-by-step path to earning that merge.


Contribution Project Status
Added to contributors list btrust-builders/first-open-source-contributions ✅ Merged — PR #139
Production Go code lightningnetwork/lnd ⏳ Working toward it

Why Bitcoin

Three walls Kenyan youth hit:

  • No access to capital — Lightning changes what collateral means
  • No bank account — a phone number becomes a bank
  • Bursaries nobody hears aboutbursaryhub is fixing this

Activity Graph


contribution snake



footer tagline

Open to software engineering opportunities, Go collaborations, and meaningful open-source contributions.

Email LinkedIn


challenges · yebo · bursaryhub

Popular repositories Loading

  1. altradits altradits Public

    Mastering the Go Programming Language through Socratic AI mentorship. Powered by secure E2B sandboxes.

    HTML

  2. bursaryhub bursaryhub Public

    Fraud-proof bursary and scholarship platform for Kenya — connects donors, schools and students. Built in Go.

    Go

  3. challenges challenges Public

    Progressive Go curriculum — 158 lessons from package main to Bitcoin open source contributor. Structured, Socratic, zero shortcuts.

    Go 2

  4. yebo yebo Public

    Custodial Bitcoin bank for Kenya — M-Pesa ↔ Lightning, savings with interest, chama wallets, agent cash network. Pure Go, zero external dependencies.

    Go

  5. YeboBank YeboBank Public

    YeboBank is a custodial Bitcoin bank, not a wallet or exchange. It targets low-income earners in Kenya who already use M-Pesa and want a savings account that earns interest in Bitcoin.

    TypeScript

  6. zone01 zone01 Public

    Piscine and Cohort Experience.