Skip to content

iamartyaa/lainlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

187 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lainlog

A blog of long-form engineering essays on software and AI, each paired with interactive widgets embedded in the post.

Live at lainlog.com.

Posts

Features

  • Bespoke interactive widgets in every post — run, step, adjust.
  • Dark and light themes (auto-follows OS; togglable).
  • Mobile-first layout with fluid type and responsive widgets.
  • Server-rendered Open Graph covers per post.
  • Unique-reader counter on the homepage, rendered as a dot-matrix glyph.
  • RSS feed at /rss.xml, sitemap at /sitemap.xml.

Stack

  • Next.js 16 (App Router) · React 19 · TypeScript strict
  • Tailwind CSS v4 (CSS-first @theme)
  • motion
  • Shiki + shiki-magic-move for syntax-highlighted code
  • IBM Plex Serif + Sans + Mono, via next/font
  • GoatCounter for privacy-respecting analytics
  • Deployed on Vercel

Running locally

pnpm install
pnpm dev

Optional env vars (.env.local)

  • GOATCOUNTER_API_TOKEN — when set, the homepage fetches the live reader count.
  • READER_COUNT_MOCK — override the reader count in dev (e.g. READER_COUNT_MOCK=12483) without hitting the API.

Project layout

app/          Next.js App Router routes (home, posts, RSS, sitemap, OG images)
components/   Reusable UI — nav, prose, motion, widget shells, code blocks
content/      Post manifest (titles, slugs, dates, hooks)
lib/          Hooks, utilities, site config, analytics

Design

See DESIGN.md — the single source of truth for tokens, palette, typography, and motion.

Author

Built by An Anonymous Engineer.

About

small, digestible explainers in software and AI engineering, with widgets that teach.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors