usman@gurusden:~$
Guru's Den

Usman Akram builds software, then teaches people how to build it too.

I'm a working developer and an instructor — CTO at Cogentro, and an educator teaching Web Technologies and the MERN stack. This is where the two meet: real practices from real projects, turned into lessons students can actually use.

Who I Am

Experience, taught plainly.

CTO @ Cogentro

Assistant Professor @ CUI

[instant_quote_widget]

CTO @ Cogentro Assistant Professor @ CUI MERN Stack
Read the full story →
Technology Explorer

The stack I build and teach with

Browse by category. Every tool here is something I actively use in real projects and walk students through in class.

Frontend

HTML5 The structural backbone of every interface I build and teach.
CSS3 Layout, responsiveness, and visual design — from Flexbox to Grid.
React Component-driven UIs for real, maintainable frontends.

Backend

Node.js JavaScript on the server — the backbone of the MERN stack I teach.
Express.js Minimal, unopinionated routing and middleware for Node APIs.
REST APIs Designing predictable, well-structured endpoints students can actually consume.

Database

MongoDB Document-based storage that pairs naturally with JavaScript objects.

Languages

JavaScript The language everything else in this stack builds on.

Tools & Workflow

Git & GitHub Version control and collaboration — non-negotiable from day one.
Command Line Comfort in the terminal is where real productivity starts.
npm & Package Management Managing dependencies and scripts across a full-stack project.
Concept Spotlight

REST vs. Just an API

REST is a set of conventions — resources as URLs, HTTP verbs as actions — not a technology. An API only becomes “RESTful” when it follows those conventions consistently.

Takeaway

If your routes read like sentences (GET a story, POST a story), you are already thinking in REST.

example.js
GET    /api/stories       // list
GET    /api/stories/:id   // read one
POST   /api/stories       // create
PUT    /api/stories/:id   // update
DELETE /api/stories/:id   // remove
What I Teach

From fundamentals to full-stack

I teach the way I build: hands-on, with real projects instead of disconnected exercises — so students learn to reason about code, not just copy it.

Frontend Development

HTML, CSS, and JavaScript fundamentals through to component-based UIs with React.

Backend Development

Building servers and APIs with Node.js and Express from the ground up.

The MERN Stack

Connecting React, Node, Express, and MongoDB into one working application.

APIs & Databases

Designing REST endpoints and modeling data that actually holds up.

Real-World Project Development

Moving past tutorials into projects with real requirements and real bugs.

Development Workflows

Git, deployment, and the habits that separate hobby code from production code.

Developer Journey

A realistic path from fundamentals to full-stack

The order I actually teach in — each stage builds on the last, so nothing feels like a leap.

  1. 01

    Fundamentals

    HTML, CSS, and JavaScript — no frameworks yet. Understand what’s actually happening before you abstract it away.

  2. 02

    Frontend with React

    Component thinking, state, and props. Building interfaces that scale beyond a single page.

  3. 03

    Backend with Node & Express

    Servers, routing, middleware — the other half of a full-stack application.

  4. 04

    Databases & APIs

    Connecting MongoDB and designing REST APIs that your frontend can actually rely on.

  5. 05

    Full-Stack Projects

    Putting every piece together into one deployed, working application — the MERN stack, end to end.

Selected Work

Built for real use, not just for show

View all projects →
Learning Philosophy

Principles I build and teach by

git log --oneline philosophy
#ca172e9

Understand before you copy

Pasting code that works is easy. Knowing why it works is what makes you a developer.

#faad952

Debugging is the job

Reading error messages carefully and reasoning through failure is a bigger skill than memorizing syntax.

#e327b16

Build past the tutorial

The real learning starts the moment you leave the guided path and your project breaks in a new way.

#a7971ab

Consistency beats intensity

Showing up and writing code regularly does more for your growth than occasional long sessions.

#91c7739

Ship something real

A finished, imperfect project teaches more than an abandoned perfect plan.

Knowledge Hub

Notes worth keeping

All articles →

Have a question, or want to collaborate?

Whether you're a student stuck on something or reaching out about a project, I read everything that comes in.

Get in Touch