Refactored the codebase after review feedback — real types, shared components, and copy that actually sounds like me
Got flagged for overusing AI in the submission, so I went back through the whole thing file by file instead of just tweaking the surface. Turned into a proper refactor pass.
What’s in it
-
Fixed the types instead of casting around them —
ProjectandExperienceIteminlib/data.tswere missing fields (status,link,impact,highlights), so every component consuming them was littered withas any. Extended the actual types and removed every cast. -
Extracted
BadgeandTerminalWindow— the same colored-badge markup was copy-pasted near-identically acrossProjects.tsx,Experience.tsx,CTF.tsx, andContact.tsx, and the terminal-window mock was duplicated in two more places. Pulled both into shared components. -
Simplified the Brevo integration —
lib/brevo.tshad a full HTML “email card” builder with its own design-token constants and a hand-rolledescapeHtml, for an email that only ever lands in my own inbox. Cut it down to what the contact form actually needs. -
Killed a recurring string hack —
color.replace("1)", "0.2)")to derive a lighter shade from an rgba string was showing up in three different files. Replaced with actual storedbgvalues. -
Rewrote the bio and project/experience copy — the original text in
data.tsandAbout.tsxall had the same over-polished, bolded-keyword rhythm you get from one AI pass. Rewrote it to sound like how I'd actually describe this stuff. -
Repo cleanup — deleted a pile of unused screenshots in
/publicand a staleimplementation.mdthat no longer matched the site. -
Swapped a placeholder hero stat for a real one — now shows my actual HackerDNA rank (#1 in Nigeria) instead of a filler number, and fixed the
scroll-behaviorbuild warning while I was in there.
Why this fits
The flag wasn’t wrong to catch — a lot of this genuinely read as generated: duplicated markup that was never refactored, any-casts instead of fixed types, an over-engineered email builder for a one-off form, and bio copy that hit every AI-bio beat (bolded keywords, tidy aphoristic closers). Going through it properly meant fixing the root causes — bad types, real duplication — not just rewording things. Ended up being a better codebase either way, not just a resubmission.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.