正在加载视频...

视频加载失败

Introducing AI Concierge Agent: built with Flutter's latest generative UI (genui). ✅ LLM-driven Flutter app ✅ GPT-4o-mini (thru ) ✅ Cloudflare Workers + Vector ✅ Hono server on DigitalOcean VPS (ATL) This is HUGE! I love it!

33,372 次观看 • 9 个月前 •via X (Twitter)

43 条评论

Khalid Warsame 的头像
Khalid Warsame9 个月前

Twitter butchered the video quality but LinkedIn did a little bit better. Watch it there if you want:

Khalid Warsame 的头像
Khalid Warsame9 个月前

It can also handle normal FAQs and it misinterprets questions some times. But at least it’s consistent in both interfaces 😂😂😂 I gotta fix the broken markdown stream or find a better package.

Khalid Warsame 的头像
Khalid Warsame9 个月前

It can fetch and show ports that users can interact with. I have 17 custom catalog components that the LLM can choose to render but I need to do a better jobjob at differentiating cruise and port cards.

Seth Ladd 的头像
Seth Ladd9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Good work! Any feedback you would like to share about your experience? Maybe better yet, join us here:

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Thanks, bookmarked for future. No feedback so far. No issues.

Seth Ladd 的头像
Seth Ladd9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Good to hear. Hit us up in our Discussions if you ever want to chat or share feedback. Keep hacking!

Stephan E.G. Veenstra 💙 的头像
Stephan E.G. Veenstra 💙9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Impressive stuff Khalid!

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Thanks 🙏

Isaias Cuvula 的头像
Isaias Cuvula9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean I love the way each component are being generated, they look amazing. GenUI 🚀

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Same. I thought it can’t possibly be this easy or good but it was.

Abdallah Shaban 的头像
Abdallah Shaban9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean So cool!!!!! How did you set up the openAI connection? did you create your own custom ContentGenerator? How did that all feel?

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Thanks, and yes I’m using custom content generator to override methods but implemented history my own way (not ideal). I’m also using Cloudflare Worker to call OpenAI models using OpenRouter api along with handling vector, embedding, rate limiting, sessions, etc.

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean AI helped a lot to get here even though I struggled to grasp how different layers and systems come together. Wasn’t easy (for me) to say the least. But it eventually worked as expected.

Abdallah Shaban 的头像
Abdallah Shaban9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean That’s awesome! Which AI coding tools were you using? And how fast were you able to get this all working together? Also - I hear you on all the layers - I don’t think it is just a you thing . It took me a bit to grasp how everything interacted together when I first started

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean My beloved Cursor running Opus 4.5 while consulting Chaptgpt 5.1 on the side. They guided and misguided me a lot tbh. It’s easy to deviate from the right narrow path. I went down the wrong holes couple of times before finally getting it right.

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean For example, Opus added an adapter that manually transforms LLM output into A2UI instead of giving the LLM render tools. Took me a minute to catch this. All agents went with this approach and wanted to make the adapter the “reasoning” layer instead of the LLM.

Shuayb 的头像
Shuayb9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean i switched to gpt-4.1mini and results were supritsingly similar but i havent tested much

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean LLMs behave the same if you get the constraints and data source right.

Vayo 的头像
Vayo9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean how did you screen record this?

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean I caved in and bought @screenstudio

Vayo 的头像
Vayo9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean @screenstudio 😭bro said he caved... cool app btw

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean @screenstudio I really tried not to and looked around for alternatives but nothing compared. Not even close. So I had to make the rational decision

Vayo 的头像
Vayo9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean @screenstudio I might join the bandwagon soon

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean @screenstudio This was my first video with it. Completely impressed with it.

Uforo Ekong 的头像
Uforo Ekong9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Awesome! 👏🏾

Emma Twersky 的头像
Emma Twersky9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean yeah, so this is like very very cool. would love to hear if you have feedback or thoughts of where you'd wish the genui package could go and what it's missing. we're actively exploring similar spaces and trying to see how far it can go :)

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Thanks, but tbh I don’t know what feedback to give. So far so good. No issues. Will let you know if that changes.

Josh 的头像
Josh9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Flutter, love to see it

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean 💯💯

Michiel V 的头像
Michiel V7 个月前

@FlutterDev @OpenRouterAI @Cloudflare @honojs @digitalocean the DO VPS combo for AI agents is underrated. low latency + managed infra lets you focus on the agent logic instead of babysitting the server. how's the memory holding up under load?

Taha Tesser 的头像
Taha Tesser9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean 🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean I was surprised how well it works too. Future is bright.

Sol 的头像
Sol9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Insane results 👏👏👏

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Thanks 🙏

Michiel V 的头像
Michiel V6 个月前

@FlutterDev @OpenRouterAI @Cloudflare @honojs @digitalocean the combo of cloudflare workers + DO VPS for hosting is interesting. how's the latency been on the concierge responses?

pc 的头像
pc9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Looking nice work When it is coming into production?

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Thanks but I don’t know tbh. Sourcing reliable data is a huge pain point and this project has no path to monetization.

kefeh collins 💙 的头像
kefeh collins 💙9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean This is actually pretty cool.

Richie Muhammed 的头像
Richie Muhammed9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean I see videos like this and I’m like “how do I even get to this level”? Looking nice 🔥

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean Practice. Lots of iteration.

NIHAL 的头像
NIHAL9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Hey can you share code please

Mykhailo Sorochuk 的头像
Mykhailo Sorochuk9 个月前

@KhalidWar @FlutterDev @openrouter @Cloudflare @honojs @digitalocean Impressive stack. How do you differentiate cruise vs port cards in the LLM prompts? Any edge caching wins for snappy searches?

Khalid Warsame 的头像
Khalid Warsame9 个月前

@FlutterDev @openrouter @Cloudflare @honojs @digitalocean I supplied the LLM with different render tools, data source, and system prompts. Logically port and cruise aren’t the same so the lllm can reason about it. No caching or optimizations of any kind yet. But I can edge cache popular ports and cruises and FAQs.

相关视频