Skip to content

~/donald $ cat intro.md

Hey, I'm Donald. I started on the screen. Then I kept zooming out. Now I build the whole thing.

product engineer · mobile at heart · AI in the loop

Zoom out

For years my whole world was the thing in your hand.

Flutter, Swift, Kotlin, mostly fintech, where a rounding error ruins someone's day.

Then I kept following bugs past the screen, and the map got bigger.

How the job got bigger than the screen

// follow one bug far enough and you meet the whole system

the problemthe infrathe datathe API

started in the middle. still love the middle.

The thing I'm building

You're at an owambe. Your people are “by the bar”.

There are five bars.

Calls drop, and a pin on a map is tens of metres off and won't tell you which way to walk. So PinDey gives you an arrow.

Drag yourself around, or tap anywhere to step there.

Finding Tolu

32m

keep walking

My favourite decision: the Finder is honest.

When the phone can't tell which way to point, it doesn't guess. The arrow steps aside and it says “very close, look around”.

Always showing an arrow would look better in a demo. But a confident arrow pointing the wrong way is worse than no arrow, because people follow it.

Walk right up to Tolu in the demo and you'll see it.

  • Spaces

    One gathering, one Space. Join with a six-character code, or tap a WhatsApp invite that signs you in and drops you straight inside.

  • Crews

    Smaller groups inside a Space. You choose who can find you, crew by crew.

  • Ghost mode

    Need a minute? Pause being findable.

  • Flare

    Rings a friend's phone and turns your screen into a bright beacon.

  • Radar

    Your crew around you, with rough distances.

  • And the small stuff

    • Hints like “Table 5, near the DJ”
    • “I'm here” arrival pings
    • Meet points
    • Precise mode on supported iPhones
    • Keeps searching in the background
    • Lock-screen updates
    • Sign in with Apple, Google or an email code
    • Report a problem or a person
    • Delete your account in the app
  • No

    location history.

  • ~2 min

    after your last update, your position is gone.

  • Nothing

    sold. Ever.

Lagos first. Built for anywhere people gather.

Every ring from earlier, one person.

  • iOS app
  • Android app
  • Backend
  • Infra
  • pindey.app
  • Admin back office
  • Product

How I work

AI is part of how I work every day.

Not a party trick. More like a very fast pair who never gets tired of my questions.

It's why one engineer can carry what used to take a small team.

  1. a real problem
  2. see the whole system
  3. build with AI in the loop
  4. ship it
  5. watch real people use it

learn something

Right now

And right now, on any given day:

donald@earth: ~

donald@earth:~$ whoami

product engineer · mobile at heart · AI in the loop

donald@earth:~$ ps

PROCESS STATUS

day-job running

pindey running # in prod. go look.

side-projects running # some may never see daylight

writing running # poetry, prose, long thoughts on software

Open source

A few things I’ve left lying around on pub.dev.

flutter_skill_gen

Dart · MIT · since 2025

Writes SKILL.md files for AI assistants, because good tooling should teach the robots too.

more

Point it at a Flutter project and it reads the pubspec, the lib folder and the Dart sources, works out how the codebase is put together, and writes SKILL.md context files so an assistant shows up already knowing the architecture and conventions instead of guessing from whichever file it opened first. It writes for Claude Code, Cursor, Copilot, Windsurf and a few others, splits big projects into a core file plus smaller domain files, and can keep everything current through watch mode, git hooks or CI.

multi_image_layout

Dart · MIT · since 2022

Lays out image grids so you never do that maths by hand again.

more

Give it one image or a dozen, network or local, and it picks a sensible layout for the count. Over the years it has grown video in the same grid, a fullscreen viewer you can swipe and zoom through, loading placeholders and optional captions. It's been on pub.dev since 2022 and is now on its second major version.

side projects, some shipped, some just for finding out

  • Ofin EkoEvery law of Lagos State, offline, in two languages, read aloudJan 2025 - Jul 2025

    I built this one alone, start to finish. It lets people read and listen to Lagos State law in English or Yorùbá, and it keeps working without a connection. Every statute can be read aloud, any law or bookmark can be opened from a link, and it's live on both the App Store and Google Play.

  • Job scraper platformQueues, scrapers and a database, for the fun of it2026 - present

    A TypeScript service that scrapes job listings and serves them through a typed API to a separate frontend. Express and Prisma sit over PostgreSQL on Supabase, and Redis with BullMQ runs the scraping queue. It's mostly an excuse to spend time with the parts of a system that don't have a screen.

  • kmm-notes-appOne domain, two native UIs2023

    A small notes app with one shared Kotlin domain layer and two fully native interfaces, Jetpack Compose on Android and SwiftUI on iOS. I wrote it to find out where the Kotlin Multiplatform seam really falls once you build something, rather than where the docs say it does.

  • Fluid level monitorFinal-year project: hardware to phone, in real time2023

    A device that measures the level and temperature of a fluid and streams both to a Flutter app in real time. Looking back, it was the first time I built a whole system rather than a screen: sensor, transport and interface, all mine. It took me a few more years to notice that was the part I liked.

Writing

When I'm not building, I'm writing.

Poetry, prose, long thoughts on software.

Finding the right word and finding the right abstraction are pretty much the same muscle.

I have always lived with the misconception that a star shines. But I have come to learn that it burns, with every moment of burn bringing it closer to its end...

I stared into the Sea today and it stared back into me. It felt like a minute but was twenty...

Both of those took longer to get right than most functions I’ve written.

and on software, lately

Everything else on Medium

Contact

If any of this sounds like your kind of thing, say hi.

donaldamadi15@gmail.com

Want the whole story first? Got five minutes? The long version.

Think about the problem, see the system, build the thing. Then make it quiet.