Leading the platforms behind modern banking, and building the on-device AI that comes next.I am a Google Developer Expert and engineering leader. Today I lead Digital Application Platforms at Oman Housing Bank, after 5+ years building in regulated fintech at BNP Paribas, Tamkeen, and ila Bank, where the apps I shipped crossed 2.5M+ downloads. My focus now is the next chapter of banking: on-device AI, generative UI, and agentic workflows running inside apps that cannot afford to be slow, unsafe, or offline.
Beyond the bank, I founded and lead Flutter MENA, the largest Flutter community across the Middle East and North Africa, and I teach on stages worldwide. Reaching 22,000+ developers in 22+ countries taught me that the fastest way to lift an entire region is to build in the open.
- Now: taking on-device LLMs and generative UI into production banking, and reverse-engineering the mobile stack for speed and safety
- Building: open-source Flutter packages and on-device AI apps that respect your privacy and your battery
- Sharing: talks, articles, and code, because a result you cannot reproduce is just a rumor
- Open to: senior mobile and engineering leadership roles, developer advocacy, and speaking on AI-native mobile
App downloads |
Developers taught |
Talks since 2018 |
Countries |
Articles published |
Measured wins from production work: 78% faster response times and 5x load capacity on systems serving millions.
| Languages |
|
| Mobile |
|
| AI / ML |
|
| Backend |
|
| Cloud / DevOps |
|
On-device first. Private by default. Small, fast, and reproducible.
| Project | What it does |
|---|---|
| Silsila AI | On-device chatbot that keeps the conversation on your phone, not in the cloud |
| WillItRun | Tells you whether a given AI model will actually run on your device before you download it |
| Kalaam | Arabic tutor that builds its interface on the fly with generative UI |
| Replora | Drafts your replies locally, on-device, with no data leaving the phone |
| LLM Council | Multiple models debate a prompt and converge on a better answer |
| Package | Description |
|---|---|
| gauge_kit | 15 Flutter gauge widgets: radial, linear, arc and more. Material 3, Cupertino, zero dependencies |
| material_drum_picker | Material 3 date picker with an iOS-style drum roller and full showDatePicker parity |
| camera_pro | Native camera integration built on a C core for real performance |
| bank_ui_kit | Production-grade banking UI components for Flutter |
| skillscore | Lint and score AI agent skills against official authoring guides |
Browse them all at pub.dev/publishers/sayedalialkamel.com
Optional: add an animated contribution snake (one-time setup)
The snake is a separate animated SVG built by a GitHub Action. It is kept out of the profile until you enable it, so it never shows as a broken image.
-
In your
sayed3li97/sayed3li97repo, add the file.github/workflows/snake.ymlwith the content below. -
Open the Actions tab and run the "generate snake" workflow once. It creates an
outputbranch that holds the SVG. -
Paste this line back into the stats section above:
<img width="100%" src="https://raw.githubusercontent.com/sayed3li97/sayed3li97/output/github-snake-dark.svg" alt="Contribution snake" />
name: generate snake
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
permissions:
contents: write
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: Platane/snk@v3
id: snake
with:
github_user_name: ${{ github.repository_owner }}
outputs: |
dist/github-snake-dark.svg?palette=github-dark&color_snake=00b4ff
- uses: crazy-max/ghaction-github-pages@v4
with:
target_branch: output
build_dir: dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}I write about Flutter, on-device AI, agentic engineering, and the honest reality of shipping software. Recent pieces cover vibe coding, AI agent skills for Flutter, and what actually changes in the modern SDLC.
I am open to senior mobile roles, engineering leadership, and developer advocacy. I reply within a few days.



