🚧 We are still building the lighthouse. Hang tight!

projectlighthouse logoprojectlighthouse

Sign in with your Google or GitHub account to get started

fundamentals of software engineering ;

learn by doing

beyond the framework and tutorials. hands-on, project-based, self-paced learning. no fluff, just practical skills you can use today.

projectlighthouse — fish

Learn by building

to build a better world

philosophy

Fundamentals first; practice & iterate

Instead of rushing through frameworks and libraries, we focus on building a strong foundation first. Understand the core concepts, then practice by building real projects, iterating as you learn.

approach

builders, not watchers

Tired of long video tutorials ? Here, it's DIY, no copy-paste tutorials!

resources

Books, text based approach

Books are a powerful way to learn. Find in-depth technical books on systems, networking, and more. Dive deep into concepts and build a solid understanding that lasts.

CLI

Validate your skills with lux

Hand-picked projects are designed to challenge you and validate your skills. Use Lux CLI tool to test your solutions and gain XPs.

Projects = Challenges

Challenge yourself building real projects.

Leaderboard

Compete with others and track your progress.

Take notes

Review your annotations before a interview a quick look back.

Hand-crafted

Each project is carefully designed for production readiness.

Books

Carefully crafted books to help you level up your skills

Rust Fundamentals
12 pages

Rust Fundamentals

Master Rust programming fundamentals through clear technical deep-dives. Learn ownership, borrowing, types, error handling, traits, lifetimes, and testing. Build memory-safe, concurrent systems without garbage collection.

View Book
Go Fundamentals
13 pages

Go Fundamentals

Master Go programming fundamentals through clear, technical deep-dives. Learn syntax, types, control flow, data structures, functions, interfaces, error handling, and testing. Build a solid foundation for systems programming.

View Book
Data Structures & Algorithms for Beginners
36 pages

Data Structures & Algorithms for Beginners

Master the foundations of data structures and algorithms. This comprehensive course covers arrays, linked lists, trees, graphs, sorting, searching, dynamic programming, and more. Build a strong foundation in computer science concepts and improve your problem-solving skills with language-agnostic explanations.

View Book
20m

Getting Started with Go

Understand why Go exists, what problems it solves, and how to install and run your first Go program. Learn about Go's philosophy, compilation speed, static binaries, and the standard library.

View Page
12m

RAM & Memory Basics

Understanding how Random Access Memory works and why it matters for data structures. Learn about memory addresses, bytes, and how computers store data.

View Page
30m

Consider Rust: Introduction to Rust

Understand why Rust exists, what problems it solves, and how to install and run your first Rust program. Learn about memory safety without garbage collection, preventing data races, and Rust's ecosystem.

View Page
25m

Values, Variables, and Constants

Master Go's type system, variable declaration, constants, and zero values. Understand how Go stores data in memory and the implications for your code.

View Page
15m

Static Arrays

Learn about fixed-size arrays, their memory layout, and basic operations. Understand how arrays store elements contiguously in memory.

View Page
35m

Types, Variables, and Constants

Master Rust's type system, variable declaration, constants, and memory layout. Understand stack vs heap allocation, primitives, compound types, and how Rust prevents null pointer errors.

View Page
40m

Ownership: The Core Concept

Learn Rust's ownership rules - each value has one owner, values drop when owners go out of scope, and ownership transfers on assignment. Understand move semantics, copy semantics, and the Drop trait.

View Page
20m

Control Flow

Learn how Go programs make decisions with if statements, switch cases, and loops. Master Go's approach to control structures and understand why Go only has one loop keyword.

View Page

Explore Projects

Build real-world projects from scratch and understand how things work

9 tasks

Build Your Own HTTP Server

Learn the fundamentals of web servers by building your own HTTP server from scratch. Handle requests, parse headers, and serve files.

View Project

why ?

projectlighthouse comes from a necessity per-say. Back in the days, I found it difficult to build things from scratch. One of the reasons is that where I come from, folks unknowingly choose framework based web development as the main path to learn programming.

which is fine for who wants to walk that path, but for me, I wanted to be more of a Systems Engineer. Write TCP or DNS or a Kernel; or the software that landed us in the moon. Stuff like that.

for a time, I didn't know how to ! The problem isn't that I couldn't build it ( as it's not that simple ). But, I didn't even know where to start. I couldn't even imagine! And I think that is dangerous and sad.

sad in the sense that I am a programmer, a software engineer who doesn't know how to build ! But engineers built this world. And I want to be able to build too.

dangerous because, I was stuck. I was limited to using the tools and frameworks that was already defined. I was an user, not a builder. And that is a scary thought.

so.. I decided to create projectlighthouse to bridge this gap. I wanted to build a platform for my younger-self. You know, as they say, "be the person you needed when you were younger".

Yah.. so I hope you find this platform useful. If you are starting new or have spent a decade in a different field, I hope this helps you become a builder. Together, towards a better world.

some videos that motivated me back in the days,

  1. Build Your World with Qt
  2. Making Games With Ben: Intro

© 2025 projectlighthouse. All rights reserved.