PlayGround
Performance
fetch 10k Users tanstack/virtual, react-window, fetching (bad performance)
Bad Performance
fetch 10k users instantly
Navigate to /10k-users/bad-performancereact-window
performance optimized.
performance optimized
Tables
fetching data with tanstack-tables and shadcn
Tanstack Tables
with Shadcn Components
AI
Bots/ Livechat/ tanstack-hotkeywords/ tanstack-ai / tools
Projects
My Projects & my stack used in them
Audits
Audit logs are intentionally public in this project to demonstrate how activity tracking works across users and system events. They are not indicators of bugs or implementation issues — they are an operational feature designed to provide visibility into what happens inside the application.
In production environments, audit logs are typically restricted to authorized roles such as administrators, auditors, and security teams. Access is limited because logs often contain sensitive operational context, security-relevant events, and traces of critical business actions.
Audit logging is essential for observability, troubleshooting, and accountability. When a production issue occurs — for example, a payment failure, permission change, failed API request, or unexpected system error — logs make it possible to trace exactly what happened, when it happened, and which user or system process triggered the event. This allows teams to investigate incidents with precise timestamps and reliable historical context.
Audit logs also provide an important layer of verification. If a specific action does not appear in the audit trail, there is no recorded evidence that the action was executed. In that sense, audit logs serve as operational proof of activity and are a core part of maintaining reliability, security, and trust in modern software systems.
NoSQL vs SQL
A quick comparison between document databases like MongoDB and relational databases like PostgreSQL, focused on schema design, scaling, consistency, and real-world use cases.
Rule of thumb
Model the data first, then pick the database.
SQL is usually the safer default when relationships and transactions matter. NoSQL shines when the shape of the data changes often or the system needs document-style flexibility at scale.
Best for SQL
Banking, ERP, orders
Best for NoSQL
Feeds, CMS, logs, chat
Tradeoff
Flexibility vs stronger constraints
Choose PostgreSQL / SQL
Choose MongoDB / NoSQL
SQL: normalized data + JOIN
SELECT posts.title, users.name
FROM posts
JOIN users ON users.id = posts.user_id;NoSQL: nested document
{
"name": "Mohamed",
"posts": [
{ "title": "Post 1" },
{ "title": "Post 2" }
]
}Reference
MongoDB guide comparing SQL and NoSQL database models.
REST API vs GraphQL vs Socket.IO
These tools solve different communication problems. REST is great for standard HTTP APIs, GraphQL is strong when clients need flexible data fetching, and Socket.IO is built for real-time event updates.
Quick guide
Use the transport that matches the user experience.
If the user asks for data, REST is usually the simplest choice. If the screen needs many shapes of related data, GraphQL can reduce round trips. If the server must push updates instantly, use Socket.IO.
Simple default
REST for CRUD apps
Flexible reads
GraphQL for complex frontend data needs
Live updates
Socket.IO for chat, rooms, and presence
Choose REST API
Choose GraphQL
Choose Socket.IO
REST endpoint
GET /api/users/42
{
"id": 42,
"name": "Mohamed"
}GraphQL query
query {
user(id: 42) {
name
posts {
title
}
}
}Socket.IO event
socket.emit("message:send", {
roomId: "general",
text: "hello"
});Reference idea
REST handles standard APIs, GraphQL handles flexible queries, and Socket.IO handles real-time events.