Skip to content

projekta2/build-logs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Typing SVG



What this is


Most "awesome" repos are link dumps. Most dev blogs are SEO bait. This is neither.

Build Logs is a public record of real engineering decisions made while building three production Chrome extensions β€” TabCost, PR Focus, and ChainTrace β€” written by one indie developer, self-funded, no VC, no team.

Each log breaks down one specific decision: the realistic alternatives that were on the table, what was chosen, what it cost, and an honest answer on whether it'd be chosen again. No filler, no "10 tips" listicles. If a decision turned out to be wrong, the log says so.

Alongside the logs, this repo runs something most repos don't: a monthly Review Swap β€” a place where you post a real PR you want feedback on, and you review someone else's in return. No audience required to get value. No vote-and-wait mechanic. You get a real review, today, from a real person.



πŸ““ Build Logs

Read how real architecture decisions were made β€” and which ones I'd undo.

Browse the logs β†’


πŸ” Review Swap

Post your PR. Review someone else's. Get real feedback, not a like.

Join this month's swap β†’



πŸ” This month's Review Swap


How it works β€” three steps, five minutes to join:

  1. Post β€” Open this month's pinned swap thread and paste a link to a real, currently-open PR of yours (any language, any repo, doesn't need to be famous). Add 2-3 lines of context: what it does, what kind of feedback you want.
  2. Pick one β€” Choose a PR from the thread that doesn't have a reviewer assigned yet, and claim it.
  3. Review for real β€” Leave a genuine comment on their PR: one thing that works well, one thing you'd change, one question. Then drop one line back in the thread: Reviewed β†’ <link>.

You owe one review for every PR you post. That's the only rule. Posting without reviewing back gets a friendly reminder; repeat no-shows are removed from that month's thread so the exchange stays fair for everyone who shows up.




πŸ““ Build Logs


Each log is one decision, start to finish. Numbered chronologically, newest first.


# Log Product Decision Outcome
007 BYOK architecture for AI Chrome extensions: zero backend cost PR Focus / TabCost Architecture / AI Integration βœ… Shipped
006 Queue Pattern for chrome.storage.local Writes in MV3 TabCost Pro Concurrency / Manifest V3 βœ… Shipped
005 Freemium without dark patterns: designing the free tier limits PR Focus / ChainTrace Business Model / UX βœ… Shipped
004 MV3 migration: why I moved to Manifest V3 and what broke PR Focus Migration βœ… Shipped
003 Gumroad vs alternatives: why I picked Gumroad for payments PR Focus Pricing βœ… Shipped
002 Why PR Focus is BYOK instead of a hosted AI backend PR Focus Architecture βœ… Shipped, holding up
001 Why PR risk scoring is a hybrid, not a pure AI verdict PR Focus Architecture βœ… Shipped, holding up

New logs are added as real decisions happen β€” not on a fixed schedule, because manufactured weekly content is exactly what this repo exists to avoid. This table is updated by hand with each new log; the Reviewers Board below is the only part of this README generated automatically.


Want to suggest a topic for a future log?

Open an issue using the Build log proposal template. Good candidates: a decision you're curious about, a tradeoff you disagree with, something from ChainTrace's pure-JS OOXML writer, or TabCost's idle-detection heuristics.



πŸ—ΊοΈ Roadmap


Curious about what's coming next? Check the Roadmap for planned Build Logs and improvements to the Review Swap. I don't set dates β€” I write when I ship something worth breaking down.


πŸ“ˆ Recent Activity


Date Activity Details
2026-06-29 πŸ““ Build Log #007 published + dev.to BYOK architecture for AI Chrome extensions Β· dev.to article
2026-06-24 πŸ““ Build Log #005 published Freemium without dark patterns: designing the free tier limits
2026-06-24 πŸ““ Build Log #004 published MV3 migration: why I moved to Manifest V3 and what broke
2026-06-24 πŸ““ Build Log #003 published Gumroad vs alternatives: why I picked Gumroad for payments
2026-06-22 πŸ““ Build Log #002 published Why PR Focus is BYOK instead of a hosted AI backend
2026-06-20 πŸ““ Build Log #001 published Why PR risk scoring is a hybrid, not a pure AI verdict
2026-06-20 πŸ” Review Swap opened Join the thread


πŸ† Reviewers Board


Everyone who has completed at least one Review Swap. Counts are pulled from the monthly archive after each thread closes β€” see review-swap/archive/ for the source data behind every number.


Reviewer Swaps completed Last active
Be the first β€” open this month's swap issue β€” β€”

Each closed thread is auto-archived to review-swap/archive/ by .github/workflows/archive-review-swap.yml, which parses Reviewed β†’ <link> lines from the comments. The archive is best-effort (free-text threads are messy) and explicitly flagged as such in each file β€” the table above is updated from the archive, not auto-written, so a human always checks the pairings before they're called final. See CONTRIBUTING.md for the full mechanics.



Why this exists


I'm not trying to build an audience for its own sake. I'm an indie developer shipping Chrome extensions β€” TabCost (idle tab cost tracking), PR Focus (AI-assisted PR triage), ChainTrace (supply-chain data extraction) β€” and most of what I learn building them never gets written down anywhere useful.

This repo is two things at once: a public notebook of decisions worth remembering, and a low-friction way to trade real code review with other developers who'd rather get feedback today than wait for a vote that may never come.

If something here happens to make you curious about the products that produced these decisions, the links are above. Nothing here requires you to care about that to get value from participating.



Ground rules


  yes   Real PRs only β€” yours, currently open, any language, any size
  yes   Reviews must be substantive β€” one strength, one suggestion, one question minimum
  yes   Be kind. Critique the code, not the person
  yes   New here? Read one existing thread before posting so you know the tone
   no   No self-promotion threads outside the designated swap issue
   no   No "review my PR" posts with zero context β€” give reviewers something to work with
   no   No drive-by "LGTM" reviews β€” that's not a swap, that's a freebie

Full details in CONTRIBUTING.md.



About


Alexandre Iglesias β€” visual designer who learned to code because the tools I needed didn't exist yet. I run Projekta2 Creative Studio in Girona, Spain, building self-funded Chrome extensions end to end: design, code, ship, support.

Products

β–Ή TabCost β€” idle tab cost tracker β–Ή PR Focus β€” AI PR triage β–Ή ChainTrace β€” supply chain data extraction


Building in public Β· Girona, Spain Β· One real decision at a time.


Releases

No releases published

Packages

 
 
 

Contributors