Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted 28 days ago

Social Media Dashboard using Next.js, Tailwind CSS and Supabase

next, react, supabase, tailwind-css, postgres
Bankole David•450
@BANKOLEDO
A solution to the Social media dashboard with theme switcher challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time?

I’m most proud of how far I’ve come with this solution—especially how I was able to bring the Frontend Mentor design to life using Next.js and Tailwind CSS while also implementing dark mode, theme persistence, and dynamic stats rendering. It pushed me to apply real-world practices like managing state, structuring components, and handling local storage for UI preferences.

I also learned a lot about cleaning up unused features, optimizing components, and making design decisions that improve the user experience. The whole process helped me better understand the balance between functionality and simplicity.

What challenges did you encounter, and how did you overcome them?

One of the biggest challenges I faced was implementing a reliable dark mode toggle. I wanted it to persist across sessions and reflect correctly on both first load and manual toggle. I initially tried handling it with useEffect and localStorage, but it felt like reinventing the wheel. Switching to the next-themes library made things much smoother—it handled persistence and initial theme detection out of the box, which helped clean up my code and improved the user experience.

Another challenge was removing unused authentication logic. I had previously integrated Supabase authentication with login and admin routes, but for this project, they weren’t necessary. It took some care to untangle the old logic and remove those files without breaking the layout or flow of the app. Once I stripped it down, the project felt lighter and more focused.

Lastly, getting the layout pixel-perfect with Tailwind CSS especially for the cards across mobile and desktop views took a good amount of iteration. I constantly compared my implementation with the design screenshots and made small tweaks until everything matched closely.

These challenges pushed me to write cleaner, more intentional code, and gave me more confidence with both frontend styling and managing app structure.

What specific areas of your project would you like help with?

I’d really appreciate feedback on dark/light theme implementation using next-themes. I used the ThemeProvider for managing the toggle, and it works, but I’d like to know if I'm using it efficiently or if there are better practices I should consider for scalability and consistency.

Also, I’d love insights on accessibility, especially making sure the UI is friendly for keyboard users and has proper contrast. I focused mostly on matching the design but want to be more intentional about inclusivity.

Finally, any advice on organizing a Next.js + Tailwind project (e.g., component reuse, folder structure, or performance tweaks) would help me level up.

Code
Loading...

Please log in to post a comment

Log in with GitHub

Community feedback

No feedback yet. Be the first to give feedback on Bankole David'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

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License