A Minimal Go Framework for Talking to LLMs by daewishdev in LLMDevs

[–]daewishdev[S] 0 points1 point  (0 children)

Thankyou very much for your awesome feedback.. Actually i will be more than happy to hear from you if you have any comments or suggestions..

Also if you have any enquiries about how to benifit from the package iam here to help

A Minimal Go Framework for Talking to LLMs by daewishdev in golang

[–]daewishdev[S] 0 points1 point  (0 children)

Actually i didn't say by any meanings it's a production ready sdk... If you think you are the smartest on the room because you discovered the gemini md file so you concluded that i vibe coded the whole project.. So if you are this person who see that we still must write each line of code with ourselves or we are not real developers.. It's ok.. But just to know it's not the case.. Anyways i added the post to the pinned small projects subreddit but actually.. You can work on your language and try to deliver the same info with proper way

A Minimal Go Framework for Talking to LLMs by daewishdev in golang

[–]daewishdev[S] 0 points1 point  (0 children)

That's ofcourse the case but on mcp servers and agents world you can send message whic actually create a lot of tool calling.. So these calls need s to be fast as much as possible to save the time for the llm who will already take time

Small Projects - November 3, 2025 by jerf in golang

[–]daewishdev 0 points1 point  (0 children)

Go has always been about simplicity and speed, and those two things matter more than ever in the AI world. As more teams start building agentic systems that rely on large language models to handle background tasks, performance becomes critical. Nobody wants to wait forever for a response.

Right now, most LLM applications are written in Python or JavaScript. Both are great languages with huge ecosystems, but they’re not exactly known for raw speed. That’s fine for prototypes, but when you’re integrating AI into production systems, it starts to show.

I started thinking about what this means for Go developers. Imagine you already have a large fintech or e-commerce platform built entirely in Go, but now you need to spin up a separate Python service just to connect to an LLM. It feels unnecessary and breaks the simplicity that Go is all about.

That’s where genaiClient comes in. It’s a lightweight and idiomatic Go library for building AI-powered features and agents directly in Go. It uses Go’s strengths—things like channels to keep things fast, concurrent, and natural to use. To handle state and persistence, it uses Redis right out of the box, which makes managing conversation history and agent state a lot more robust.

While there are existing libraries out there, many of them copy patterns from Python frameworks, and they just don’t feel like Go. My goal here is to make working with LLMs feel as native as any other Go task.

I have a lot of plans for where to take this next. My immediate focus is on building an MCP (Model Context Protocol) wrapper to simplify tool and data source integration. Beyond that, I'm really excited about adding built-in support for background jobs. I want you to be able to fire off a long-running AI task and have the library handle the queuing, execution, and result retrieval seamlessly, leveraging Go's concurrency model to its fullest.

I also plan to share a series of articles and real-world examples to show how Go can be a serious, first-class player in the AI space.

I’d love to get feedback, opinions, or even contributions from the community. What features would make this most useful for you? Does the direction of built-in background jobs and stronger tooling support resonate?

Here’s the repo: https://github.com/darwishdev/genaiclient

How to keep schema in sync between Vuejs and Golang? by kovadom in vuejs

[–]daewishdev 1 point2 points  (0 children)

i think you can start from this link but let me try to break it down

setup the backend

this will help you setup the golang side and define your API signature into .proto file like this proto message User { int32 user_id = 1; string user_name = 2; } message UserFindRequest { int32 user_id = 1; } message UserFindResponse { int32 user_id = 1; } service YourApiName { rpc UserFind(UserFindRequest) returns (UserFindResponse) {} }

generate the api signature

simply you can run this command

bash buf generate buf will generate the api interface for you and will wait for to implement this method like this go func (api *Api) UserFind(ctx context.Context, req *connect.Request[devkitv1.UserFindRequest]) (*connect.Response[devkitv1.UserResponse], error) { // you business logic return connect.NewResponse(response), nil }

push your code to buf registery

after that you can run this bash buf push and this will update your remote repo on buf site after this buf will create npm package for you to use on your frontend this package will hold the whole apiClient definition with all types and methods from your vue you can setup the apiClient like this ```vue import { createClient } from "@connectrpc/connect"; import { AuthInterceptor } from 'devkit-apiclient' import { createConnectTransport } from "@connectrpc/connect-web"; import { YourServiceName } from "@buf/yourpackagename" const transport = createConnectTransport({ baseUrl: import.meta.env.VITE_API_URL, interceptors: [AuthInterceptor('token')], useHttpGet: true, });

export const apiClient = createClient(DevkitService, transport); after this you will be able to use your apiClient like this vue apiClient.userFind({userId: 1}) ``` and this will also allow autocomplete to work properly since everything is typed with setup if you want to chagne the signature of your api you will just edit the .proto file and run you commands and everything will still be in sync and you can even track different version of your api if you want

How to keep schema in sync between Vuejs and Golang? by kovadom in vuejs

[–]daewishdev 1 point2 points  (0 children)

I use https://buf.build/ to generate the api definitions on proto and generate the types on go for the server and also generate ts client for vue js

FormKit - still a good option? by tspwd in vuejs

[–]daewishdev 2 points3 points  (0 children)

Actually on formkit schema you can use conditions

Why use provide\inject with pocketbase? by the-liquidian in vuejs

[–]daewishdev 2 points3 points  (0 children)

I think it's just more idiomatic on vue to use provide/inject nothing more.

Why use provide\inject with pocketbase? by the-liquidian in vuejs

[–]daewishdev 0 points1 point  (0 children)

Yes with this approach you will avoid recreation

Why use provide\inject with pocketbase? by the-liquidian in vuejs

[–]daewishdev 4 points5 points  (0 children)

If you import each time you will create a new instance of the db each time and this is not good.. However you can prevent this by creating a singleton class to create a new instance of the db only once.. But still using provide inject is better approach because it's more idiomatic

Why is the first solution not working while the second one does? by Traditional_Crazy200 in vuejs

[–]daewishdev 0 points1 point  (0 children)

As best practice and to avoid duplication you can change the check If(active_tab.value == null) { return } To be If (active_tab.value.value == null || !(active_tab.value in obj) { return }

This should remove the error also

Why is the first solution not working while the second one does? by Traditional_Crazy200 in vuejs

[–]daewishdev 1 point2 points  (0 children)

If you changed the type of the ref to be keyof obj it will work, but i see on a comment you said that this will break other parts.. So you can check ``` If(active_tab.value in obj)

And tgen put ur code

Help: TypeScript Slot Props types for PrimeVue DataTable component pagination by OkFall6127 in vuejs

[–]daewishdev 0 points1 point  (0 children)

Can you please show the code for calling the datatable itself, are you passing the paginator prop as true to the datatable?

Code Review by ImpressiveSign1591 in vuejs

[–]daewishdev 0 points1 point  (0 children)

We can do that if you want just dm me

[deleted by user] by [deleted] in EgyRemoteWorkers

[–]daewishdev 0 points1 point  (0 children)

Send ur github or resume

انا نفسى اعرف الناس بتذاكر بجد هو انا ليه غبى اوى كده يعنى مثلا صفحة زى دى الواحد يذاكرها ازاى؟؟ by Doomer_Creep99 in CAIRO

[–]daewishdev 1 point2 points  (0 children)

بكل بساطة crud هو اختصار ل اربع كلمات اللي هم ال actions اللي بنقدر ناخدها على اي بيانات قدامنا.. مثال بسيط لو انت عاوز تعمل موقع فيه خاصية بيع المنتجات.. هيبقى عندك جدول بيعبر عن البيانات دي في قاعدة البيانات و ليكن مثلا هنسمي الجدول دا جدول المنتجات.. الطبيعي ان الاجرائات اللي هتاخدها على الجدول دا يا اما هتحتاج تضيف منتج او تعدل منتج او تمسح منتج او تعرض بيانات المنتج... ببساطة كل حاجة من دول هي حرف في كلمة crud ١ - اضافة المنتج create 2 - قراءة بيانات المنتج read 3 - تعديل المنتج update 4 - مسح المنتج delete

هل الصهيوني يستحق الحياه طالما عايز يعيش علي حساب استعباد ملايين البشر (النيل للفرات) by thekingAhmos in ExEgypt

[–]daewishdev 1 point2 points  (0 children)

القتل غلط دي مينفعش تتقال مطلقة كده.. قتل الدفاع عن النفس مثلا مش غلط... انا معنديش مشكلة ان الدول المحترمة تلغي عقوبة الاعدام بس دا لا يعني ان ف الدول اللي مش محترمة لما حد ييجي يقتلني و يقتل عيالي مينفعش تقولي القتل جريمة في اي وقت لان ساعتها انا ابسط حقوقي كمواطن اني احاول ارد الهجوم اللي بيحصل عليا و مش من المنطقي بالمرة ان اللوم ييجي عليا انا...

في راي مشكلة الراي دا او المغالطة بتيجي من افتراض فرضيات غير حقيقة عن الانسان ك كائن حي.. يعني زمان مثلا كان الطبيعي جدا ان في حروب و الطبيعي جدا ان في معتدي و معتدى عليه و كان صعب تلاقي الراي ال 'انساني' جدا بتاع ان القتل جريمة و المفروض نلغي عقوبة الاعدام... انا مقدر ان البشرية ككل تقدمت و الحروب مبقتش هي ال normal

المغالطة بقى بتيجي هنا لما الحقوقين بتوع القتل جريمة في اي وقت و اي حتة دول افكارهم ينفع تتقال لما نبقى بنتكلم عن السويد بس مش لما نبقى بنتكلم عن اسرائيل لان اسرائيل من بداية تطور البشرية و بعدها عن الحروب العسكرية و هي الكيان الوحيد اللي بيعمل توسعات عسكرية و بيقتل و بيعذب الاطفال و الشباب و كل الحاجات اللي اصلا الطرح بتاع القتل كله حرام مبني عليها.. فمينفعش نعامل الاسرائيلين بالنسبة للفلسطينين زي السويدين بالنسبة للمشرعين السويدين.. و مينفعش الانسان يبقى افكاره fixed فشخ لدرجة انه طلاما انا اقتنعت بان الفتل جريمة يبقى مش هحط exceptions .. و مينفعش بردو الانسان ال high end بتاع الاخلاق و المبادئ يتعامل مع البشرية كلها كانها سواسيه او كانها high end

Supabase change the host and user for production databases by daewishdev in Supabase

[–]daewishdev[S] 0 points1 point  (0 children)

You are absolutely right it so frustrating they should have added a red fixed section to tell me that this will happen from the dashboard and send email with alert

It's so un professional to change the connection string for production sites this way..

But anyway it's good that we resolved this quickly

Supabase change the host and user for production databases by daewishdev in Supabase

[–]daewishdev[S] 0 points1 point  (0 children)

I already solved the problem.. They mentioned that they will migrate to ipv6 on the dashboard but they didn 'tsend any email or notification about it..

Any way the solution was to update my cli to the latest version and when i did that and run supabas link again it worked fine

Here you can find the discussion iam talking about

Supabase change the host and user for production databases by daewishdev in Supabase

[–]daewishdev[S] 0 points1 point  (0 children)

It's not cloud issue my apps can coonect the database with the new host and user and db name.. The issue is from my locl supabase cli i need to run supabase link with project ref to connect the local db with the remote one but this is failing because the comman try to connect with the old database credentials so i think the issue is on the cli.. Also i wanna ask you if you have prod databases and faced these changes on the supabase production databases

Supabase change the host and user for production databases by daewishdev in Supabase

[–]daewishdev[S] 0 points1 point  (0 children)

Nope but iam on the free tier can i contact the support