DEV Community

Cover image for I Finally Built the Dev Opportunity Radar Website ❤️
Hemapriya Kanagala
Hemapriya Kanagala

Posted on • Edited on

I Finally Built the Dev Opportunity Radar Website ❤️

DEV Weekend Challenge: Passion Edition Submission

This is a submission for Weekend Challenge: Passion Edition

📌 TL;DR

I found this challenge on the very last day, so I knew I probably wouldn't finish before the submission deadline. That means I don't expect this project to be considered, but I still wanted to finish it because this challenge gave me the push I needed to finally build something I'd been planning for weeks.

The result is the first version of the Dev Opportunity Radar website. I built it with the help of Google AI Studio, and later in this post I've shared exactly how I used AI throughout the project.

It's not replacing the weekly DEV editions. Those are still the heart of the project and will continue every Friday. This website simply makes everything easier to browse, search, and revisit as the series continues to grow.

Even if this submission isn't eligible, I'm genuinely grateful to the DEV Team for creating the challenge. Without it, I probably would have kept saying, "I'll build the website next week." Instead, I finally did, and I'm really happy I can now share it with all of you 💙


Table of Contents


What I Built

If you've been following Dev Opportunity Radar, you probably know that every Friday I publish a new edition on DEV where I share grants, fellowships, hackathons, startup programs, learning resources, open source initiatives, communities, and other opportunities that I come across while researching. The goal has always been simple:

Help people discover opportunities they otherwise might have missed.

As the series grew, I started noticing something. After seven editions, there were already more than thirty opportunities and resources spread across multiple articles. Every new edition made the collection more valuable, but it also made it harder for someone to go back and find something they'd seen before. Maybe they remembered a fellowship but couldn't remember which edition it was in. Maybe they were only interested in hackathons or wanted to browse learning resources. Finding those opportunities meant opening several DEV posts and searching through each one.

That's when I realized Dev Opportunity Radar needed something more than a weekly article. It needed a place where everything could live together in a way that was easy to browse, search, and revisit.

So I built the Dev Opportunity Radar website.

Looking back, I think that's what this challenge was really about for me. It wasn't just building a website. It was finally making time for a project I'd genuinely cared about for a long time.

I do want to make one thing very clear though, because it's important to me. This website is not replacing the weekly DEV editions. Those editions are still the heart of the project, and I'll continue publishing a new one every Friday just as I always have. The website simply complements them by making it easier to explore previous editions, discover opportunities by category, search for something specific, and find new additions without having to jump between multiple articles.

While building it, I wanted to think beyond just the opportunities themselves. That's why I also created pages like Start Here, About, My Philosophy, FAQ, Community Finds, Reader Updates, and the complete archive of every edition. My hope is that whether someone has been reading since Edition #1 or has only just discovered Dev Opportunity Radar today, they'll feel welcome and find it easy to explore everything the project has to offer.

More than anything, I wanted the website to reflect the same care that goes into writing each weekly edition. Something simple, accessible, easy to navigate, and built with the community in mind.


Demo

If you'd prefer to open it in a new tab, bookmark it for later, or come back to it after reading this post, you can visit it here: https://devopportunityradar.ai.studio


Code

GitHub logo hemapriya-kanagala / dev-opportunity-radar

Helping developers discover opportunities they otherwise might have missed.

Dev Opportunity Radar

Dev Opportunity Radar Website

Helping people discover opportunities they otherwise might have missed.

The Dev Opportunity Radar website is the home of the project.

Every Friday, I publish a new edition of Dev Opportunity Radar on DEV Community, where I share grants, fellowships, hackathons, startup programs, learning resources, open source initiatives, communities, and other opportunities that I think deserve more attention.

As the series continued to grow, I realized it was becoming harder for readers to find opportunities from previous editions. Someone might remember a fellowship but not the edition it appeared in. Someone else might only be interested in hackathons, while another person wanted to browse learning resources.

I wanted to make that experience easier.

That's why I built this website.

It brings every edition together in one place and makes it easier to browse opportunities, search previous editions, discover Community Finds, celebrate Reader Updates, and explore everything the…





How I Built It

I'll be honest, I only found out about this challenge on the very last day.

By then, I knew there probably wasn't enough time to build everything before the submission deadline. At first, I almost decided not to participate. Then I remembered that I'd been telling myself for weeks that I wanted to build a website for Dev Opportunity Radar. This challenge ended up being the push I needed to finally stop thinking about it and start building.

Because time was so limited, I used Google AI Studio to help develop the website. I want to be completely transparent about that, and I've explained in more detail how I used AI in the next section.

As I started building, I realized this project was much bigger than I had imagined. Dev Opportunity Radar had already reached seven editions, with more than thirty opportunities and resources, Community Finds, Reader Updates, and several pages I wanted to include, like About, My Philosophy, FAQ, and Start Here. Organizing all of that into a website that felt simple and easy to navigate took far more thought than I expected.

A lot of my time wasn't spent adding features. It was spent making decisions.

How should someone who has never heard of Dev Opportunity Radar understand the project within a few seconds? How should opportunities be organized so they're easy to browse? What happens if someone searches for something and there aren't any results? How can the website stay welcoming instead of feeling cluttered? How do I make sure it works well on different devices and is accessible to as many people as possible?

Those were the kinds of questions I kept coming back to while building.

Looking back, I'm actually really glad I built the website now instead of waiting. If I had continued publishing weekly editions without creating a proper home for everything, organizing all of those opportunities later would have become much more difficult. Starting at seven editions already felt like a lot of work, so I'm thankful this challenge gave me the motivation to begin before the project grew even bigger.


AI Usage

Since this challenge allows the use of AI, I wanted to be completely transparent about how I used it while building this project.

The website was developed with the help of Google AI Studio. I also used AI to proofread and improve some of the writing on the website. English isn't my first language, so I sometimes rely on AI to help me fix grammar, improve clarity, or make sure what I'm trying to say reads naturally.

I know AI-assisted development is a topic that people have different opinions on, and I completely respect that. Some people love using it, while others prefer not to, and I think both viewpoints are valid.

For me, AI wasn't a replacement for thinking or making decisions. It was a tool that helped me build and iterate faster, especially since I only discovered this challenge on the last day.

The part that took the most time wasn't asking AI to generate code. It was thinking through the experience I wanted to create. Deciding how the information should be organized, how someone new would understand the project, how the website could stay simple as more editions are published, how to make it accessible, and how to make sure it felt welcoming instead of overwhelming. I spent a lot of time refining those decisions, rewriting content, reorganizing pages, and making small improvements until everything felt right.

I wanted to be open about all of this because transparency matters to me. Whether someone chooses to use AI or not is a personal decision, but I believe it's important to be honest about how it was used.


What I Learned

Building this website reminded me that creating something people genuinely enjoy using isn't only about adding features. A lot of the work happens in the small decisions that most people never notice.

I found myself spending a surprising amount of time thinking about the wording of a button, the order of sections on a page, what someone should see first, how an empty search result should feel, and how to make sure the website never became overwhelming. Those details might seem small on their own, but together they shape the entire experience.

I think that's one of my favorite parts of building. Not just making something that works, but making something that feels thoughtful and easy to use. I hope that care comes across when you explore the website.


I'd Love Your Feedback

This is only the first version of the website, and I know there's still plenty of room to improve.

If you have any suggestions, notice something that could work better, or have an idea for a feature that would genuinely make discovering opportunities easier, I'd really love to hear from you. Some of the best improvements to Dev Opportunity Radar have come from conversations with the community, and I'd love for the website to grow the same way.

My goal isn't to add features for the sake of it. I'd much rather spend time building things that are actually useful and make the experience better for everyone.


Thank You

Before I wrap up, I just want to say thank you.

Thank you to the DEV Team for creating this challenge. Even though I discovered it on the very last day, it ended up being exactly the motivation I needed to finally build something I'd been thinking about for weeks.

And thank you to everyone who's supported Dev Opportunity Radar since the very first edition.

Whether you've shared an opportunity, suggested a resource, left a thoughtful comment, pointed out something I missed, or simply taken a few minutes to read an edition each Friday, you've helped shape this project more than you probably realize.

This website may have been built by one person, but it certainly doesn't feel like a one-person project. The encouragement and support from this community have been a huge part of why I've kept going, and I'm genuinely grateful for that.

I hope this website makes discovering opportunities a little easier, and I hope it becomes a place you'll enjoy coming back to as the project continues to grow.

As always, thank you for reading, thank you for your support, and thank you for being part of this journey.

See you this Friday with Dev Opportunity Radar #8 💙

Top comments (51)

Collapse
 
shubhradev profile image
Shubhra Pokhariya

I smiled when I reached the part where you said most of your time went into making decisions rather than adding features. That part stood out to me because it's usually those small decisions that shape how a project feels to use.

While exploring the website, it felt calm and easy to navigate, and I really liked that. Looking forward to seeing how this grows every Friday.

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much, Shubhra 💙

That honestly means a lot because that's exactly the experience I was hoping to create.

It's easy to focus on adding more features, but I found myself spending much more time thinking about how everything should feel to use. I'm really happy to hear the website felt calm and easy to navigate.

Thank you for taking the time to explore it and share your thoughts. I hope you'll enjoy watching it grow alongside the weekly editions 😀

Collapse
 
omarafifi profile image
Omar Afifi

Congratulations on the launch, @hemapriya_kanagala 🎉
What you’ve managed to build in such a tight timeframe is incredibly inspiring. Turning your weekly editions into a centralized, searchable hub is a massive value-add for the community👏
Looking forward to Edition #8 this Friday🙌

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much, Omar! That really means a lot 😀

One of the biggest reasons I wanted to build the website was exactly that, to make it much easier for people to rediscover opportunities from previous editions instead of searching through multiple posts. I'm really glad that came across.

And thank you for following the series! Looking forward to sharing Edition #8 with everyone this Friday.

Collapse
 
javz profile image
Julien Avezou

Amazing! Congratulations! Looking forward to the next edition.

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala • Edited

Thank you so much, Julien 😀

It really means a lot, especially because you've been supporting Dev Opportunity Radar since the very beginning. You were one of the first people to encourage the project, and I'm really grateful for that.

Looking forward to sharing Edition #8 with you this Friday!

Collapse
 
klaudiagrz profile image
Klaudia Grzondziel

Hi, Hema! First of all, I am very very proud of you and your journey 💛 I remember the first Dev Opportunity Radar article you wrote, and I already knew this was the idea coming from a person who deeply cares about the community and wants to share her findings. Since then, I cheered for your series, so seeing you give it a home feels like a personal win! 😄 I'm super happy for you! 💛

I browsed the website, and I love it! It is visible that you put a lot of heart into it. I always appreciate it when software engineers care about UX, and it's visible that you do care and spent extra time on it. I especially like the possibility to filter the opportunities. One small thing that I noticed is that in Learning Resources, the first opportunities that appear are the closed ones. Maybe it's worth considering dropping the closed opportunities down the list 🤔

Good luck with the challenge, Hema! I think you totally nailed it! 💪🏻

PS: I also see DEV challenges as a great source of motivation and a push to follow ideas that anyway were somewhere there in my mind. I think it's even more valuable than any prizes 💛

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Hi Klaudia 😄 Just a small update.

I finally got around to implementing your suggestion on the website. Open opportunities are now displayed first, with closed ones moved further down the list, so it's much easier to browse what's currently available.

Thanks again for pointing that out in the first place. It was a really helpful piece of feedback, and I appreciate you taking the time to share it 💛

Collapse
 
klaudiagrz profile image
Klaudia Grzondziel

Yay, happy to hear that you keep improving the website! Also happy that you found my small suggestion useful. Keep doing your job 💛

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Klaudia, thank you so much 💙

Reading this genuinely made me smile. It means a lot coming from someone who's been here since the very first edition. You've always been so supportive of the series, so hearing that the website feels like a personal win for you really means more than I can put into words.

Thank you as well for taking the time to explore the website and for the thoughtful feedback. That's a really good point about the Learning Resources section. I think it makes much more sense to show the active opportunities first and move the closed ones further down the list, so I'll work on improving that.

And I completely agree with your PS. Looking back, I think the biggest thing this challenge gave me wasn't the possibility of winning a prize. It was the push to finally build something I'd been saying "I'll start next week" for far too long. For that alone, I'm really grateful.

Thank you again for always cheering me on and for all your encouragement from the very beginning. It truly means a lot 💙

Collapse
 
buildbasekit profile image
buildbasekit

This is a great example of solving a problem that grows with consistency. Weekly posts are valuable, but having a searchable home for everything makes the project much more useful over time. Also loved your point that most of the work was making decisions, not writing code. That's something every builder realizes sooner or later. Looking forward to seeing how Dev Opportunity Radar evolves!

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much!

You're absolutely right. After a few editions, I started realizing that while the weekly posts were helpful, it was becoming harder for people to go back and find something they'd seen before. That's really what led me to build the website.

And I completely agree about the decisions. Looking back, I think I spent far more time thinking about the experience than actually building it, but I also think that's what made the project so enjoyable.

Thanks again for the thoughtful comment, and I hope the website continues to grow into something that's genuinely useful for the community 😀

Collapse
 
magopredator profile image
Fenix

Nice work shipping a real home for the series instead of letting it wait another few weeks. A few
pointers from one builder to another if you keep iterating:

- The site is currently a Google AI Studio prototype on a *.ai.studio domain. That subdomain is
Google's, not yours, so it can disappear if they retire the project — consider exporting it and hosting
it on your own repo + a stable host so the archive survives long-term.
- The deployed page sends script-src 'self' 'unsafe-inline' 'unsafe-eval'. The unsafe-eval +
unsafe-inline combo is risky: if any curated content ever gets a script injected, the browser will
happily run it. Tightening that CSP (drop unsafe-eval, use hashes/nonces) is a quick, high-value
hardening step.
- I didn't see a public repo linked. For a community project it helps a lot to publish the source so
others can audit what the AI generated and contribute fixes.

On that last point: it's worth running the code through a static analyzer before each release. Free
options like SonarCloud (quality + security gates) or Bandit (for Python) catch whole classes of issues
automatically. Tools like Repomapper can also scan a repo for weaknesses. None of it replaces review, but
it catches the boring stuff fast. Keep going — Edition #8 💙
Enter fullscreen mode Exit fullscreen mode

"Thanks so much for the detailed feedback and the encouraging words! I really appreciate you taking the time to review the setup. Your pointers on exporting the project from AI Studio to a stable host and tightening the CSP make total sense to avoid long-term risks. I'll definitely look into integrating a static analyzer like SonarCloud or Bandit for future releases too. Thanks for helping make Edition #8 better! 💙"

  1. Cómo corregir la CSP (unsafe-eval y unsafe-inline)El problema principal es que unsafe-inline permite ejecutar cualquier script escrito directamente en el HTML, y unsafe-eval permite crear código desde texto (lo que abre la puerta a inyecciones XSS). Para solucionarlo de forma rápida:Elimina las directivas arriesgadas: Modifica tu configuración de Content Security Policy (CSP) retirando 'unsafe-inline' y 'unsafe-eval' de la sección script-src.Usa Hashes o Nonces: Si necesitas ejecutar algún script en línea imprescindible, añade un hash criptográfico (como sha256-ValorBase64...) o un atributo nonce aleatorio generado por sesión en la etiqueta del script, declarándolo explícitamente en tu CSP.Formato en Meta Tag (Frontend): Si manejas la CSP desde tu HTML estático, el formato corregido debería lucir similar a esto:html
    Usa el código con precaución.Formato en Servidor (Recomendado): Lo ideal es inyectarlo directamente como una cabecera HTTP de respuesta desde tu proveedor de alojamiento:httpContent-Security-Policy: default-src 'self'; script-src 'self';
    Usa el código con precaución.

  2. Recomendaciones de hospedaje gratuito y establePara migrar tu proyecto fuera de la infraestructura temporal de Google AI Studio y asegurar que el archivo sobreviva a largo plazo, estas opciones son las más fiables, gratuitas y fáciles de integrar con un repositorio de GitHub:Vercel: Excelente si estás utilizando frameworks modernos de frontend (como Vite o Next.js). Ofrece despliegues automáticos al hacer push a tu rama principal, HTTPS nativo y configuraciones de seguridad muy sencillas.Netlify: Una alternativa fantástica a Vercel para proyectos estáticos o aplicaciones web estructuradas en JavaScript. Permite inyectar cabeceras personalizadas de CSP muy fácilmente mediante un archivo netlify.toml.GitHub Pages: Si tu sitio es puramente HTML, CSS y JavaScript estático, alojarlo directamente en el mismo repositorio de GitHub del proyecto comunitario es la opción más transparente para que otros puedan auditar el código fuente y colaborar.

Collapse
 
magopredator profile image
Fenix

Y en modo oscuro es muy recomendable, porque yo por ejemplo solo me gusta el modo oscuro...para evitar tanto brillo y tanta exposicion a la luz azul. Gracias y felicidades nuevamente. Aloha :)

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much, Fenix!

I really appreciate you taking the time to explore the website and write such a detailed review. Feedback like this is incredibly helpful, especially since this is only the first version.

You've brought up several good points. I was already planning to move it to its own GitHub repository, and your suggestions around hosting and security have given me a few more things to look into as I continue improving the project.

And thank you for mentioning dark mode too! I was actually working on it today. If I manage to finish it soon, I'll come back and leave another comment under this thread to let you know.

Thanks again for all the thoughtful suggestions and encouragement. It really means a lot. Aloha 😀

Thread Thread
 
magopredator profile image
Fenix

:D

Thread Thread
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Hi again, Fenix! As promised, I'm back with an update.

I've now added a dark mode to the website, so you can switch between light and dark themes depending on your preference.

Thanks again for suggesting it. Your comment gave me the extra push to finish it sooner. I hope you enjoy using it, and if you notice anything that could be improved, I'd love to hear your thoughts.

Aloha 😀

Thread Thread
 
magopredator profile image
Fenix • Edited

Te ha quedado perfecto, tienes una web perfectamente funcional para continuar con la divulgacion de oportunidades para desarrolladores, es un escalon mas en ese tema que te simplifica el trabajo en el futuro, y ofrece una exploracion mas fluida a los usuarios, te ha quedado perfecta. Felicidades, y gracias nuevamente.

Aloha Hema :)

Thread Thread
 
magopredator profile image
Fenix • Edited

Hema, mira, todavia hace cosas como esta, cuando se hace click para ver la oferta original en la web de la oferta las rutas aun no llevan a la web, van a un ejemplo asi mira: example.com/dummy-solo-grants-website

...son detalles menores, en realidad la web ya esta suficientemente funcional. Solo cuando la quieras emancipar de studioAIgoogle es cuando tendrias que revisar eso y la seguridad, mientras tanto ya es una gran herramienta que complementa tu servicio a la comunidad internacional de desarrolladores. Gracias.

Thread Thread
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much, Fenix! That really means a lot to hear.

I also wanted to thank you again for all the feedback you've shared over the past few days. You caught the broken links, suggested dark mode, and pointed out several things that genuinely helped improve the website.

I actually worked on the broken links yesterday and thought they were all fixed because everything was working correctly in my testing. Thanks to your comment, I took another look and found a better solution. The dummy URLs have now been completely removed, and all of the "Official Website" buttons now redirect to the correct websites.

I'm also really glad you suggested dark mode. It was something I wanted to add, and your comment gave me the extra push to finish it sooner.

Thank you again for taking the time to test the website so thoroughly and share your thoughts. Feedback like yours is incredibly valuable, especially for a community project like this.

Aloha 😀

Thread Thread
 
magopredator profile image
Fenix • Edited

:) me alegra, a ti gracias. :) ...ni por un instante dude que lo lograrias...sabia que lo solucionarias sencillo. Felicidades.

Collapse
 
dannwaneri profile image
Daniel Nwaneri

The way you wrote "even if this submission isn't eligible, I'm genuinely grateful" . That's a rough place to build from, finding out on the last day. But you still gave Dev Opportunity Radar a real home instead of letting it wait another few weeks and that's yours regardless of what the judges do with it. Edition #8 this Friday, see you there 💙

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much, Daniel! That really means a lot 🧡

I won't lie, I was disappointed when I realized I'd found the challenge so late, but looking back I'm actually glad it happened because it finally pushed me to build something I'd been putting off for weeks.

No matter what happens with the challenge, I'm just happy I finally built the website and that it can keep growing alongside the series.

And yes, see you this Friday for Edition #8 😀

Collapse
 
dannwaneri profile image
Daniel Nwaneri

👊👊

Collapse
 
anhmtk profile image
anhmtk

Huge congratulations on launching the website, Hemapriya! 💙

"A lot of my time wasn't spent adding features. It was spent making decisions" — this hits so close to home. The challenge isn't the code anymore; it's the architecture of information.

Moving your weekly radar from disconnected articles into a structured, central home at devopportunityradar.ai.studio is a massive upgrade for your readers. You aren't just making it easier for humans to browse; by structuring the archive by categories, you are essentially making these valuable developer opportunities machine-readable and discoverable for the future web too!

Kudos to you for leveraging AI Studio to beat procrastination and deliver real utility to the community. Can't wait for Edition #8 this Friday!

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much 💙

I'm really glad that line resonated with you because that's honestly how this project felt. The code was only one part of it. Most of the time went into thinking about how everything should be organized so people could actually find what they were looking for without feeling overwhelmed.

I'm also really happy I finally stopped putting it off and built it. I think it'll make the series much easier to explore as more editions are published.

Thank you again for taking the time to read the post and leave such a thoughtful comment.

And yes, see you this Friday for Edition #8 😀

Collapse
 
webdeveloperhyper profile image
Web Developer Hyper

Congratulations on the launch of Dev Opportunity Radar! 🎉 It's amazing that you built it in such a short time. I hope it will be used by even more people!

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala

Thank you so much! That really means a lot, especially because you've been supporting Dev Opportunity Radar since the very beginning.

I'm really happy I finally built the website, and I hope it makes discovering opportunities even easier as the series continues to grow.

I'm so grateful you've been part of this journey from the start 😀

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala • Edited

I'd love your feedback on the website 💙

Whether it's something you liked, something that felt confusing, or a feature you think would make it more useful, please let me know. This is only the first version, and I'd love to keep improving it with the community's suggestions.

Thanks again for taking the time to check it out 😀

Some comments may only be visible to logged-in visitors. Sign in to view all comments.