Day 8 – Connecting All the Dots (Frontend Integration & Polish)

Published: (February 17, 2026 at 12:41 AM EST)
3 min read
Source: Dev.to

Source: Dev.to

Overview

Up until now, Phase #3 (Frontend) was mostly about building pieces: sections, hooks, JSON files, layouts, navigation, and individual pages.
Day 8 was the day I finally stopped creating new components and started doing something more product‑like: making everything talk to each other properly. This was the first time the portfolio behaved like a cohesive product instead of a collection of screens.

Integration and Refinement

As a developer it’s tempting to keep adding features—one more section, one more animation, one more component.
As a product owner/project lead I forced myself to step back and ask:

  • Do all pages feel consistent?
  • Does the data flow make sense?
  • Is the UX predictable for a real user?

So Day 8 became an integration and polish day: no new architecture, just alignment and refinement.

Page Updates

All pages under src/pages/*.jsx were updated to properly consume:

  • the latest JSON structures
  • the new hooks
  • the finalised section components

The updated pages include:

  • About
  • Projects
  • Experiences
  • Achievements
  • Open Source
  • Contact

Each page now follows the same mental model:

JSON → Hook → Page → Sections → UI

Result:

  • No hard‑coded text
  • No magic values
  • Everything comes from data

From a long‑term perspective this is huge: tomorrow I can replace the JSON with an API and the UI won’t change at all. That’s real frontend architecture, not just React code.

Earlier, the Navbar and Footer existed mostly as components. I updated:

  • Navbar links
  • Footer links
  • Contact references

Now there are no dead routes, no fake sections, and everything matches the actual pages. Users may not notice when navigation works, but they instantly feel when it’s wrong—broken navigation equals broken trust.

Contact Page

The Contact page was already built earlier. Day 8 was about making it feel complete:

  • Ensuring form states work correctly
  • Making sure social links are consistent
  • Aligning the content with the rest of the site’s tone

The Contact page stopped being “a form component” and became “the only real entry point for human interaction with the product.”

Lessons Learned

Sometimes the best engineering decision is to not build anything new. Instead:

  • Review
  • Refactor
  • Simplify
  • Align

As a solo developer wearing multiple hats (PM, designer, architect, dev), this step is easy to skip, but it separates a demo project from a product foundation.

  • A tutorial would say: “Today we updated some pages.”
  • A product mindset says: “Today we validated the entire frontend architecture.”

Day 8 was about coherence, consistency, and credibility—not code volume or feature count, but system quality.

Conclusion

After Day 8 I stopped seeing this as “my React portfolio” and started seeing it as “my personal product”—something I could evolve, extend, maintain, and even hand over to someone else. That psychological shift is crucial for any engineer.

Day 8 won’t impress on GitHub commit history—a small diff, a few files changed—but in real‑world projects this is how products mature: not with big features, but with small integration days that remove friction everywhere.

Day 8 was not about building; it was about owning the system. That, more than any new component, is what actually makes you a senior engineer in mindset, not just in years of experience.

Source

If you’re following along, the complete source lives here:

GitHub Repository: Portfolio

0 views
Back to Blog

Related posts

Read more »

Build a Custom Comment Section

Adding a Comment Section to a React App – Without the Bloat > “Every off‑the‑shelf solution either forces its own UI on you, dumps a pile of CSS you never aske...