built a video conferencing app from scratch with webrtc.
multi-peer mesh calls, screen share, real-time chat, room lobby, auth. signaling over raw websockets, no https://t.co/nsTr17RKMh, no third party video sdk
live: https://t.co/9btNsrCfCI
stack: react, typescript,ws, postgres
built a video conferencing app from scratch with webrtc.
multi-peer mesh calls, screen share, real-time chat, room lobby, auth. signaling over raw websockets, no https://t.co/nsTr17RKMh, no third party video sdk
live: https://t.co/9btNsrCfCI
stack: react, typescript,ws, postgres
haven't tweeted in a while, no real reason. still working on night-code, also poking at a webrtc video calling app with raw ws for signaling
#buildinpublic#100DaysOfCode
π Built a Face ID + Blockchain integrity verifier at @HackerHouseGoa! π΄β‘
Most "proof" of a reverse-image search is just a screenshot β easy to fake, easy to edit. Fixed that:
@hackerhousegoa πReal reverse-image search via Google Lens (SerpApi)
π§ Face detection + embedding using DeepFace (RetinaFace + ArcFace)
π SHA-256 fingerprint of the search evidence
βοΈ Hash anchored on-chain (Base Sepolia) β edit the record later and verification instantly flags it as tampered
π Excited to introduce SST-RAG β a sub-200ms Voice & Multimodal RAG system built at @HackerHouseGoa! π΄β‘
Most RAG systems are slow (2-4s), hallucinate on missing data, and ignore Indic languages. We fixed all 3:
ποΈ Bilingual Voice AI (Hindi & English) with auto-silence VAD
β‘
@SumitM_X So store all messages at one place, then fetch all the messages when user join and I there are 200 memeber and one user send a message so it gets write once at a place and broadcast to all users. All messages belong to room id not per user
I'm currently looking for new opportunities in software engineering and full-stack development.
Here's the portfolio:https://t.co/f7nS4QggWz
Over the past months, I've been building projects involving React, Next.js, TypeScript, Node.js, Express, WebSockets, MySQL, and real-time applications. I've worked on projects such as collaborative drawing tools, AI-powered applications, and backend systems with databases and APIs.
I'm actively seeking:
β’ Software Engineering Internships
β’ Full-Stack Developer Internships
β’ Backend Developer Internships
β’ Entry-level Software Engineering opportunities
I'm eager to learn, contribute, and work with teams building impactful products.
If your company is hiring or if you know of any relevant opportunities, I'd appreciate any referrals or connections.
Thank you!
#OpenToWork #SoftwareEngineering #FullStackDeveloper #BackendDeveloper #ReactJS #NodeJS #TypeScript #Internship #WebDevelopment
Building an AI agent changed how I think about LLMs.
The LLM isn't the agent.
The agent is the loop around the LLM.
1. User sends a prompt.
2. The model decides whether it needs a tool.
3. Your code executes the tool.
4. The result goes back to the model.
5. The model either calls another tool or returns a final answer.
Without the loop, tool calling is just a JSON response.
The "agent" emerges from repeatedly letting the model think β act β observe β think.
That shift completely changed how I understand AI agents.
#AI #LLMs #AIAgents #SoftwareEngineering #BuildInPublic
Working with webRTC
why use a STUN server in WebRTC
We can send text over a WebSocket, but sending every video frame through a WebSocket isn't efficient β it causes latency issues. And if more than 2 people are on the same call, as the number of people increases, we'd need more bandwidth, which gets expensive.
So we use a peer-to-peer connection instead. Rather than sending audio and video through our server, we exchange each client's connection info (SDP + ICE candidates) through our signaling server (the WebSocket), then let the peers connect directly and handle media themselves.
But how does another browser find where I am on the internet?
This is where a STUN server helps β it tells us our public IP:port mapping as seen from the internet's side, because our router does NAT (Network Address Translation), and we can't see that mapping ourselves.
Once we know that, we send all our possible addresses (ICE candidates) to the other peer over the signaling channel. Then each side tries every possible way to connect β outside the WebSocket now, directly between peers β until one works.
why use STUN when there are other ways to get our public IP?
Yes, we can get our public IP using other services β but STUN gives us more than just an IP.
When our browser sends something to the internet, it uses a temporary local port for that connection. Our router then:
hides our local IP
maps it to the public IP
assigns a temporary public port
links that public port back to our local port
So to actually communicate with each other, we need that port too, not just the IP.
STUN gives us exactly that IP:port mapping β and it's lightweight and fast, which is why it's the standard choice here.
#WebRTC #webdev #javascript #nodejs #100DaysOfCode