about me#
web apps notes designI'm anjani. I work on small web apps, collect notes and spend a lot of time getting the details right.
I care about how a page feels to use. The type, the spacing, whether a menu behaves properly on a phone. An effect can look good and still get in the way. I want the useful parts and the visual parts to work together.
Useful first. Then make the details feel right.
what I'm working on#
Ways to organise practice, revisit mistakes and make explanations easier to follow.
Things I'm learning, diagrams that help and ideas I want to come back to.
A home for projects, writing and experiments. Still taking shape.
what I notice#
Can I find what I need? Is the explanation clear? A diagram should make an idea easier to understand, not just fill the space.
Type, spacing, colour and motion. I care about the small choices, and about whether they work together across the whole page.
Readable text. Menus that behave. Nothing cut off at the edge. A smaller screen shouldn't mean a worse version.
| detail | what I want from it |
|---|---|
| type | easy to read |
| layout | consistent, with room to breathe |
| motion | a purpose, not a distraction |
| diagrams | an explanation I can follow |
| mobile | the same care as desktop |
how I work#
start with a real need
Something I want to use, understand or keep organised.
try a version
Get enough on the page to see how it feels.
look closely
Check the details, test on a smaller screen and change what isn't working.
Loading diagram…
Diagram source
graph TD A[Something I need] --> B[Try a version] B --> C[Use it and look closely] C --> D[Change what feels wrong] D --> B
why put it all here?
Projects for what I'm making. Notes for what I'm learning. Writing for things that need more than a quick note.
a little room to experiment#
preview samplesa visual notebook#
a small idea, in code#
This is an illustrative snippet for the copy button and syntax highlighting. It isn't code from one of my projects.
function Note({ children }: { children: React.ReactNode }) {
return <aside className="note">{children}</aside>;
}.note {
padding: 1rem;
border: 1px solid currentColor;
line-height: 1.7;
}<aside class="note">Keep the useful part visible.</aside>the same idea, as a diagram#
The first diagram uses a Markdown fence; this one uses the custom diagram component directly.
Loading diagram…
Diagram source
graph LR; A[An idea] --> B[A sketch]; B --> C[A clearer version]
space for an explanation#
Sample maths formatting: if a point has barycentric coordinates in a non-degenerate triangle , then
All three weights are positive exactly when is strictly inside the triangle. A zero weight puts it on an edge or vertex when the other weights are non-negative.1
moving pictures#
sound, two ways#
The Spotify selection is a neutral player placeholder, not my listening history or a favourite. The third-party player loads only when selected.
a post-shaped space#
Sample X embed from the existing component showcase. It is not my account or a post by me. The live post loads only when selected.
a tiny interaction#
A sample interactive component. This number isn't a personal statistic.
the small details
Sample formatting: a clear takeaway, a quiet aside, a discarded idea and a little inline code.
- Keep the main point visible.
- Let the extra detail sit below it.
- Give related things the same treatment.
A preview checklist, not a claim that checks have already passed:
- Check the page on a phone.
- Check light and dark mode.
- Replace the sample media before publishing, if desired.
Extra context can live here without interrupting the main page.
Use Esc to close an enlarged image. This is a highlight sample. MDX gives the page room for all of these pieces.
