Personal Blog

Solution retrospective
I'm most proud of how I structured the project with Astro components and modular SCSS, which allowed for maintainability and scalability. The theme toggle, category filtering, and pagination logic were implemented efficiently, making the site highly interactive while maintaining a clean codebase.
If I were to do things differently next time, I would refine state management in the pagination and category filter logic. Additionally, I would explore server-side rendering (SSR) optimizations in Astro to improve performance for dynamic content. I would also implement some of the components using React.
What challenges did you encounter, and how did you overcome them?Dynamic Filtering & Pagination: Keeping the category filtering and pagination in sync dynamically without full page reloads was tricky. I overcame this by using DOM manipulation techniques with the History API (pushState) and fetching new articles asynchronously to update the UI in real time.
SCSS Organization & Utility Classes: I wanted to keep my styles DRY while making them flexible. I overcame this by using SCSS maps, functions, and mixins to programmatically generate utility classes for spacing, colors, and typography.
What specific areas of your project would you like help with?Performance Optimization for Astro SSR: While the project is mostly static, some elements like blog pagination could benefit from better SSR strategies instead of being handled entirely on the client.
More Efficient Category Filtering & Pagination Handling: Right now, category filtering and pagination rely on client-side JavaScript updates. A more efficient state management approach might be beneficial to avoid redundant fetch requests.
Potential Improvements in Accessibility & SEO: While I followed semantic HTML and ARIA best practices, I’d appreciate a review of how accessible the site is, especially for keyboard navigation and screen readers.
Please log in to post a comment
Log in with GitHubCommunity feedback
No feedback yet. Be the first to give feedback on cepoumian's solution.
Join our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord