tejbeer.bhullar
online origin
live · a request becoming a page

T e j b e e r B h u l l a r

I build systems that

scroll
01 manifesto

The internet used to be buildings. Rooms full of machines, owned and operated by the people who ran them.   Then it became rented shelves. Then it became a checkbox on a managed service.   This page is a small counter-argument.

You are reading this because an origin I control answered your request. Not a mystery runtime. Not a platform's build step. A deliberately small surface that stays close to the person who made it.

The shape is intentionally simple: edge, private tunnel, origin, static page. If I edit the file and save, the change is live. The feedback loop is short enough to be honest.

There is nothing wrong with edge platforms. I use them at work. I recommend them to clients. But every once in a while it is useful to remember what the shape of a computer feels like when you own it end-to-end. That's what this site is: a small practice of owning a thing.

own your bits.
02 the stack

How the bytes get to you.

Point, tap, or tab through the path. Watch the packet move from visitor to edge to origin to proof, without exposing the private machinery underneath.

Request path A visitor request travels through edge, private tunnel, origin, static page, private tools, and proof surface. Visitor Edge first public touch Private Tunnel request narrows Origin Node author-controlled Static Page this surface Private Tools gated Proof Surface receipts
03 now

Live from the session.

your local time

--:--:--

this page has been open

0s

since you arrived

build style

hand-built

static, no ceremony

bytes served this session

0 B

approx, client-side

04 projects

Proof that moves.

Not a generic portfolio grid. Each portal is a receipt: the problem, the constraint, what shipped, and what is safe to inspect.

game private

meal arcade

A quiet vegetarian meal picker powered by the expanded global menu spreadsheet. Spin the menu, filter by cuisine and craving, reroll the result, then save contenders for dinner.

5,290 meals static JS interactive
web private

tejbeerbhullar.com

The site you are on. Static HTML, CSS, and JavaScript shaped into a living interface. No framework ceremony, no mystery runtime.

static page motion system no-deps
tools private

private task surface

A narrow tool surface for turning intent into organized work. The public version is the design pattern, not the private data.

local-first private
context live

private context surface

A small surface for finding the right context at the right moment. Useful by design, quiet by default.

narrow scope private
route live

private tunnel

A public-safe route from edge to origin. The page shows the choreography, not the private map.

edge origin
notes queued

essays

A quiet, slow-blog space. No tags, no SEO, no comments. Just files. Coming in a later deploy to /writing/.

markdown static eventually
05 terminal

A guided prompt. Type help.

tejbeerbhullar.com · command surface
# tejbeerbhullar.com · pipe is live · welcome
# type `help` for commands · arrow keys for history · tab to complete
 

Try: proof · stack · motion · projects · contact

06 principles

Rules I try to build by.

  1. i.

    Short loops.

    The distance between edit and feedback should be a few seconds. If it isn't, fix that before fixing anything else. A slow dev loop is a tax on every decision that comes after.

  2. ii.

    Plain text beats databases.

    When the thing can be a file in a git repo, make it a file in a git repo. Diffs are free. Grep is free. Editors already know how to read it. Databases are for when files stop scaling; most of what you want to store is nowhere close to that.

  3. iii.

    Own the origin.

    Rent the electricity, rent the connection, rent the DNS — but own the box and the process that serves the bytes. Once that's yours, nobody can quietly deprecate your stack from underneath you.

  4. iv.

    No mystery runtime.

    The thing that runs your site should be legible — one binary, one config, predictable behavior. Frameworks that hide what's happening trade debuggability for convenience. For sites with one author, the trade is almost never worth it.

  5. v.

    Boring tools on weird problems.

    Boring technology underneath, interesting choices on top. Postgres and cron will carry more weight than whatever is on the front page of Hacker News this week.

  6. vi.

    Small is a feature.

    If the thing fits in your head, you can think about it. If the whole config fits on one screen, you can audit it. If the binary is one file, you can replace it. Every time I add a dependency, I pay for it forever.

  7. vii.

    Leave a note for future-you.

    Every system accumulates surprises. A short README that says here's what this is and how to restart it is worth more than any observability stack, because you will forget. (You will.)

None of this is a rejection of the current internet. It's just an insistence on keeping one small garden that answers only to me.