Hi guys π
I'm Kirubel Sentayehu, a 24 y.o mid-level full-stack developer who enjoys coding just like most of you guys.
I started coding when I was around 15. I still remember the first day my twin brother and I created our first HTML page using only HTML and CSS, it was truly magical. πͺ
For the past 3 years, Iβve been working remotely with US startups, mostly using Next.js, Tailwind CSS, and TypeScript, and more recently with Django, React, and AI tools like the OpenAI Agents SDK.
I started this channel to share my journey as I grow, learn, and build.
Here, youβll find web dev concepts I have learnt and been learning, small lessons from projects, and honest thoughts about the challenges and wins along the way.
My goal isnβt to teach as an expert, but to share what Iβve learned. If youβre into AI, web development, or just enjoy tech content, youβll feel right at home.
Glad to have you here! π
I'm Kirubel Sentayehu, a 24 y.o mid-level full-stack developer who enjoys coding just like most of you guys.
I started coding when I was around 15. I still remember the first day my twin brother and I created our first HTML page using only HTML and CSS, it was truly magical. πͺ
For the past 3 years, Iβve been working remotely with US startups, mostly using Next.js, Tailwind CSS, and TypeScript, and more recently with Django, React, and AI tools like the OpenAI Agents SDK.
I started this channel to share my journey as I grow, learn, and build.
Here, youβll find web dev concepts I have learnt and been learning, small lessons from projects, and honest thoughts about the challenges and wins along the way.
My goal isnβt to teach as an expert, but to share what Iβve learned. If youβre into AI, web development, or just enjoy tech content, youβll feel right at home.
Glad to have you here! π
β€15π₯3
Server Actions in Next.js
While working on a project recently, I came across Server Actions in Next.js and this concept honestly confused me for a while.
Hereβs the simple version of what I have understood:
Server Actions are functions that run on the server, but you can call them directly from your client components using things like form actions, buttons, event handlers, and useEffect.
Itβs basically a cleaner way to mutate/update data without needing to write separate API routes.
To Define a Server Action
You just write a function with a "use server" directive:
This function runs only on the server, never in the browser even when you import it into a client component.
To call a Server Action From a Client Component
It looks like a normal function call, but Next.js automatically turns it into a server-side request behind the scenes.
This means
β You donβt need to create separate API routes
β Mutations become cleaner and easier to follow
β Your client components become simpler
Here is the docs for reference
https://nextjs.org/docs/app/getting-started/updating-data
While working on a project recently, I came across Server Actions in Next.js and this concept honestly confused me for a while.
Hereβs the simple version of what I have understood:
Server Actions are functions that run on the server, but you can call them directly from your client components using things like form actions, buttons, event handlers, and useEffect.
Itβs basically a cleaner way to mutate/update data without needing to write separate API routes.
To Define a Server Action
You just write a function with a "use server" directive:
'use server'
export async function createPost() {}
This function runs only on the server, never in the browser even when you import it into a client component.
To call a Server Action From a Client Component
'use client'
import { createPost } from '@/app/actions'
export function ClientComp() {
return <form action={createPost}>Create</form>
}
It looks like a normal function call, but Next.js automatically turns it into a server-side request behind the scenes.
This means
β You donβt need to create separate API routes
β Mutations become cleaner and easier to follow
β Your client components become simpler
Here is the docs for reference
https://nextjs.org/docs/app/getting-started/updating-data
π₯3β€1π€1
Have you ever wondered how LLM-based apps (like ChatGPT, Claude) show responses token by token, like a typewriter effect?
They often use a web protocol called Server-Sent Events (SSE).
So basically, SSE is a one-way communication from server to client: the server pushes data to the client over a single, long-lived HTTP connection. Once the connection is open, the client can receive whatever the server streams or pushes, asynchronously.
That means you donβt have to wait for the full response, you can update the UI progressively, as new data arrives.
You can play around with it here
https://svelte.dev/playground/2259e33e0661432794c0da05ad27e21d?version=3.47.0
They often use a web protocol called Server-Sent Events (SSE).
So basically, SSE is a one-way communication from server to client: the server pushes data to the client over a single, long-lived HTTP connection. Once the connection is open, the client can receive whatever the server streams or pushes, asynchronously.
That means you donβt have to wait for the full response, you can update the UI progressively, as new data arrives.
You can play around with it here
https://svelte.dev/playground/2259e33e0661432794c0da05ad27e21d?version=3.47.0
svelte.dev
Test SSE on sse.dev β’ Playground β’ Svelte
Web development for the rest of us
β€2π¨βπ»2π₯1
Media is too big
VIEW IN TELEGRAM
I was recently working on DocuFinance an open-source AI powered Financial document extractor that extracts key informations from financial documents automatically.
π Supported documents:
β’ Bank statements
β’ Invoices
β’ Receipts
β¨ Features:
β’ Auto-detects document type
β’ Extracts all structured data (transactions, line items, totals)
β’ Export to CSV with one click
π Tech stack:
- Next.js 16
- TypeScript
- Tailwind CSS
- shadcn/ui
- AI-SDK
- Better-Auth
- Supabase
- Trigger.dev
βοΈ GitHub: https://github.com/kira-1011/financial-document-analyzer
π https://financial-document-analyzer-self.vercel.app/
π Supported documents:
β’ Bank statements
β’ Invoices
β’ Receipts
β¨ Features:
β’ Auto-detects document type
β’ Extracts all structured data (transactions, line items, totals)
β’ Export to CSV with one click
π Tech stack:
- Next.js 16
- TypeScript
- Tailwind CSS
- shadcn/ui
- AI-SDK
- Better-Auth
- Supabase
- Trigger.dev
βοΈ GitHub: https://github.com/kira-1011/financial-document-analyzer
π https://financial-document-analyzer-self.vercel.app/
π₯10
https://storage.googleapis.com/gdm-deepmind-com-prod-public/media/media/synthid__gemini-detection.mp4#t=0.1
Upload an image to Gemini, and it can quickly tell you if Google AI created or changed it by looking for the SynthID mark.
Upload an image to Gemini, and it can quickly tell you if Google AI created or changed it by looking for the SynthID mark.
π₯2π€1
For Devs aiming to launch an AI startup, check out this guy's content. It's really inspiring.
https://www.youtube.com/watch?v=RZwM4vTvQhQ&t=559s
https://www.youtube.com/watch?v=RZwM4vTvQhQ&t=559s
YouTube
What It's Really Like Solo Building A $1M AI App
π€ Check out the OhSINT Cyber Security career path today and use code ERIK25 for 25 percent off the pro plan: https://tryhackme.com/SWErikCodes
My new AI app hit 5000 users and $3500 dollars in revenue after just 43 days... This is a week in my life scalingβ¦
My new AI app hit 5000 users and $3500 dollars in revenue after just 43 days... This is a week in my life scalingβ¦
π₯2
As a developer, at some point you realize itβs not just about knowing a specific tech stack. Itβs more about looking at a problem, breaking it down into smaller sub-problems, framing it clearly, and simplifying it to a level where it can be solved through logic or code. In the end, your job is to connect the dots and build a solution.
π1
If you are a python dev looking to build a UI quickly without needing JavaScript or complex frontend libraries, check out Streamlit.io.
streamlit.io
Streamlit β’ A faster way to build and share data apps
Streamlit is an open-source Python framework for data scientists and AI/ML engineers to deliver interactive data apps β in only a few lines of code.
Forwarded from Tech Nerd (Tech Nerd)
π₯1
Pre-commit Hooks πͺ
If you're tired of manually running linting or formatting commands every time before you commit and push your codeβ¦
You can use pre-commit hooks which is part of Gitβs native hook system
A pre-commit hook is a script that runs automatically whenever you run
It can run tasks like:
π linting
π formatting
π running tests
π checking types
π validating files
This will help you avoid manual work
Pre-commit tools
For Node.js based projects Husky (usually used with lint-staged) is quite popular
For python based projects pre-commit framework is popular
If you're tired of manually running linting or formatting commands every time before you commit and push your codeβ¦
You can use pre-commit hooks which is part of Gitβs native hook system
A pre-commit hook is a script that runs automatically whenever you run
git commit.It can run tasks like:
π linting
π formatting
π running tests
π checking types
π validating files
This will help you avoid manual work
Pre-commit tools
For Node.js based projects Husky (usually used with lint-staged) is quite popular
For python based projects pre-commit framework is popular
π1
