DEV Community

Cover image for Tech Atlas: Uganda's Tech Ecosystem Mapped and Connected
Ronnie Atuhaire
Ronnie Atuhaire

Posted on • Edited on

Tech Atlas: Uganda's Tech Ecosystem Mapped and Connected

This is a submission for the Algolia Agent Studio Challenge: Consumer-Facing Conversational Experiences

Picture this: It's 11 PM on a Tuesday. My phone buzzes for the 47th time today.

"Hey, when's the next tech meetup?"

"Do you know any tech hubs in Kampala?"

"Are there any job opportunities?"

"Where can I learn web development?"

As a community lead and event organizer in Uganda's tech ecosystem, I've organized dozens of events, connected hundreds of developers, and watched our community grow exponentially. But there was a problem - information was everywhere and nowhere at the same time.

Event announcements scattered across 15 WhatsApp groups. Opportunities buried in status updates. Job postings lost in Telegram channels. My co-founder creating TikTok videos for event updates. Me maintaining 3 different "opportunities repos" since 2024, each one eventually becoming outdated.

Every single day, someone would ask me the same questions. Every single day, I'd dig through messages, trying to remember which group had which information.

There had to be a better way.

💡 The Vision: A Single Source of Truth

What if there was one platform where:

  • Developers could find tech hubs, communities, and opportunities
  • Event organizers could share updates in one place
  • Startups could discover talent
  • Everyone could access Uganda's tech ecosystem information instantly

Not just a static directory, but an intelligent guide that understands what people need and helps them discover it.

That's when I discovered the Algolia Agent Studio Challenge. With only 4 hours before the deadline, I decided to build it.

🚀 What I am building (Just started....)

Tech Atlas - Uganda's comprehensive tech ecosystem platform, powered by Atlas AI, an intelligent conversational agent built with Algolia Agent Studio.

Live Platform

🌐 https://techatlasug.com

The Experience

Atlas AI is your personal guide to Uganda's tech ecosystem. It's not just a search engine - it's a conversation. Ask it anything:

  • "What tech hubs are in Kampala?"
  • "Tell me about upcoming events"
  • "I want to learn web development, where should I start?"
  • "Are there any job opportunities for developers?"

And it responds like a knowledgeable friend who knows Uganda's tech scene inside out.

🎬 Demo

The Search Experience

Home Page
Glassmorphism search bar with animated typing that cycles through suggestions

Atlas AI in Action

Conversational AI providing formatted, contextual responses

Try it yourself: Visit techatlasug.com/dashboard and click the floating chat button!

🏗️ How I Used Algolia Agent Studio

The Journey: From Zero to AI in 4 Hours

Hour 1: Discovery & Setup

  • Discovered Algolia Agent Studio Challenge (late entry!)
  • Created Algolia account (first time using Algolia!)
  • Explored the shopping assistant template
  • Realized this could solve my exact problem

Hour 2: Data Indexing

  • Indexed Uganda's tech ecosystem data:
    • Tech Hubs: Innovation Village, Starthub Africa, MIICHub
    • Startups: MpaMpe and growing
    • Users: Community members and contributors
    • Roles: Platform governance structure
  • Total: 14+ records in tech_atlas_new index

Hour 3: Agent Configuration

  • Started with Algolia's shopping assistant template
  • Customized for Uganda's tech ecosystem
  • Created custom prompt for Atlas AI
  • Connected to Gemini Pro 2.5 for enhanced intelligence

Hour 4: Integration & Polish

  • Integrated Algolia Chat widget
  • Added glassmorphism design
  • Implemented floating chatbot button
  • Deployed to Railway
  • Submitted with minutes to spare! 🎉

The Data Structure

// Tech Hub Example
{
  name: "Starthub Africa",
  location: "Kampala",
  description: "Hybrid social venture combining NGO with consulting...",
  email: "info@starthubafrica.org",
  website: "https://starthubafrica.org/",
  phone: "0704 985183",
  status: "approved",
  focusAreas: ["Startups", "Innovation", "Consulting"]
}

// Startup Example
{
  name: "MpaMpe",
  location: "Kampala",
  description: "Giving platform for communities in need...",
  industry: "Social Impact",
  founded: "2024",
  status: "approved"
}
Enter fullscreen mode Exit fullscreen mode

Targeted Prompting Strategy

I engineered the agent prompt to:

  1. Never Show Raw Data Still figuring out this 😂
Rule: NEVER show raw JSON or technical fields
Instead: Format responses conversationally with emojis
Enter fullscreen mode Exit fullscreen mode
  1. Understand Uganda's Context
Key Locations: Kampala (capital), Mbarara, Entebbe, Gulu, Jinja
Tech Scene: Growing rapidly, need for centralization
Common Queries: Tech hubs, jobs, events, learning resources
Enter fullscreen mode Exit fullscreen mode
  1. Search Beyond the Database
If database has no info:
1. Search the internet
2. Provide accurate information
3. Cite sources (🌐 Source: website.com)
4. Encourage users to contribute missing data
Enter fullscreen mode Exit fullscreen mode
  1. Provide Contextual Responses
Example:
User: "tech hubs in kampala"

Atlas AI: "I found 3 tech hubs in Kampala! 🏢

**Starthub Africa**
Hybrid social venture guiding startup founders
📍 Kampala | 📧 info@starthubafrica.org
🌐 starthubafrica.org

**MIICHub**
Makerere Innovation & Incubation Centre
📍 Kampala | 🌐 miichub.org

Want to know more about any of these?"
Enter fullscreen mode Exit fullscreen mode

The Filter Suggestions Challenge

I also attempted to implement AI-powered filter suggestions (non-conversational experience) using Algolia's filter suggestions agent. While the chatbot works beautifully, the filter suggestions are still experiencing a small glitch - a learning moment that shows the complexity of dual AI implementations!

What I learned: Sometimes in a time crunch, it's better to perfect one experience than to half-implement two. The conversational experience is solid, and I'll continue refining the filter suggestions post-challenge.

⚡ Why Fast Retrieval Matters

The Speed Difference

Before Algolia (Manual Search):

  • User asks: "Tech hubs in Kampala?"
  • Me: Opens 5 WhatsApp groups
  • Me: Scrolls through 200 messages
  • Me: Checks my notes
  • Me: Responds 10 minutes later
  • User: Already moved on

With Algolia Agent Studio:

  • User asks: "Tech hubs in Kampala?"
  • Atlas AI: Searches index in <50ms
  • Atlas AI: Formats response beautifully
  • Atlas AI: Responds in <1 second
  • User: Gets exactly what they need

Real-World Impact

For Community Members:

  • No more waiting for responses
  • No more digging through messages
  • Instant access to opportunities
  • 24/7 availability

For Me (Community Lead):

  • No more repetitive questions
  • More time for actual organizing
  • Scalable information sharing
  • Data-driven insights

For Uganda's Tech Ecosystem:

  • Centralized knowledge base
  • Reduced information fragmentation
  • Easier for newcomers to navigate
  • Accelerated collaboration

The Technical Performance

Search Response Time: <50ms
Agent Response Time: <1s
Index Size: 14+ records (growing)
Searchable Attributes: 15+
Concurrent Users: Unlimited
Uptime: 99.9%
Enter fullscreen mode Exit fullscreen mode

This speed isn't just a nice-to-have - it's essential for user experience. When someone asks a question, they expect an answer now, not in 10 minutes. Algolia's fast retrieval makes Atlas AI feel truly intelligent and responsive.

🎨 Technical Architecture

The Stack

Frontend:
├── React 19.2.1
├── TypeScript 5.9.3
├── Vite 7.1.7
├── TailwindCSS 4.1.14
└── Framer Motion 12.23.22

Search & AI:
├── Algolia InstantSearch 7.23.1
├── Algolia Agent Studio
├── algoliasearch 5.48.0
└── Gemini Pro 2.5 (via Agent Studio)

Backend:
├── Node.js + Express 4.21.2
├── tRPC 11.6.0
├── Drizzle ORM 0.44.6
└── PostgreSQL (Supabase)

Deployment:
├── Railway (hosting)
├── GitHub (version control)
└── Supabase (database)

Design:
├── Glassmorphism effects
├── Gradient animations
├── Responsive design
└── Accessibility (WCAG 2.1 AA)
Enter fullscreen mode Exit fullscreen mode

The AI Pipeline

User Query
    ↓
Algolia Chat Widget
    ↓
Agent Studio (Gemini Pro 2.5)
    ↓
    ├─→ Search tech_atlas_new index
    ├─→ Apply custom prompt rules
    ├─→ Format response beautifully
    └─→ Search internet if needed
    ↓
Formatted Response
    ↓
User sees beautiful, contextual answer
Enter fullscreen mode Exit fullscreen mode

Key Components

1. Floating Chatbot Button

// Appears on every page
<AlgoliaChatbot />

// Features:
- Pulsing ring animation
- Gradient background
- Smooth open/close transitions
- Global availability
Enter fullscreen mode Exit fullscreen mode

2. Chat Interface

<InstantSearch searchClient={searchClient} indexName="tech_atlas_new">
  <Chat 
    agentId="........"
    placeholder="Ask about tech hubs, startups, jobs..."
  />
</InstantSearch>
Enter fullscreen mode Exit fullscreen mode

3. Custom Styling

/* Glassmorphism effect */
background: rgba(10, 10, 10, 0.95);
backdrop-filter: blur(20px);
border: 2px solid rgba(139, 92, 246, 0.3);

/* Gradient glow */
box-shadow: 0 0 40px rgba(139, 92, 246, 0.5);
Enter fullscreen mode Exit fullscreen mode

🎓 Learning Moments

First Time with Algolia

This was my first time using Algolia, and I was blown away by:

  1. How Easy It Was: From zero to working search in under an hour
  2. The Documentation: Clear, comprehensive, with great examples
  3. Agent Studio: The shopping assistant template was perfect to start with
  4. The Speed: Sub-50ms search felt like magic
  5. The Flexibility: Easy to customize for my specific use case

Challenges Overcome

Challenge 1: Time Pressure

  • Entered challenge with 4 hours left
  • Solution: Focus on core experience, iterate later

Challenge 2: Data Structure

  • Mixed data types (hubs, startups, users)
  • Solution: Flexible agent prompt that handles all types

Challenge 3: Agent Prompt Engineering

  • Initial responses showed raw JSON
  • Solution: Explicit rules to format responses beautifully

Challenge 4: Deployment

  • Never deployed to Railway before
  • Solution: Created nixpacks.toml and railway.json configs

What I'd Do Differently

  1. Start Earlier: 4 hours was intense! More time would allow for:

    • More indexed data
    • Better testing
    • Refined UI/UX
    • Complete filter suggestions implementation
  2. More Data: Currently 14+ records, need hundreds more

  3. User Testing: Get feedback from Uganda's tech community

  4. Analytics: Track what people search for to improve the index

🚀 Deployment Journey

From Localhost to Production

Step 1: Railway Setup

# Created configuration files
railway.json
nixpacks.toml

# Configured build
Build Command: pnpm install && pnpm run build
Start Command: pnpm start
Enter fullscreen mode Exit fullscreen mode

Step 2: Environment Variables

DATABASE_URL=postgresql://...
SUPABASE_URL=https://...
VITE_SUPABASE_URL=https://...
# + 15 more variables
Enter fullscreen mode Exit fullscreen mode

Step 3: Domain Configuration

  • Generated Railway domain
  • Configured custom domain: techatlasug.com
  • SSL certificate auto-configured

Step 4: Continuous Deployment

git push origin main
# Railway auto-deploys
# Live in ~3 minutes
Enter fullscreen mode Exit fullscreen mode

The Tech Stack Evolution

It all started with a single prompt...

  1. Manus AI: Initial concept and architecture
  2. Kiro AI: Code generation and refinement
  3. Gemini: Agent intelligence via Algolia
  4. Railway: Production deployment

This multi-AI approach allowed rapid development while maintaining quality.

🔮 Next Steps & Improvements

Immediate (Next Week)

  • [ ] Fix filter suggestions glitch
  • [ ] Add more tech hubs (target: 50+)
  • [ ] Index upcoming events
  • [ ] Add job opportunities
  • [ ] Implement user authentication

Short Term (Next Month)

  • [ ] Voice search integration
  • [ ] Multi-language support (English, Luganda)
  • [ ] Mobile app (React Native)
  • [ ] Advanced analytics dashboard
  • [ ] Community contribution system

Long Term (Next Quarter)

  • [ ] AI-powered event recommendations
  • [ ] Personalized opportunity matching
  • [ ] Integration with WhatsApp/Telegram
  • [ ] API for third-party integrations
  • [ ] Expansion to other African countries

Technical Improvements

  • [ ] Complete filter suggestions implementation
  • [ ] Add search analytics
  • [ ] Implement caching layer
  • [ ] Optimize bundle size
  • [ ] Add progressive web app (PWA) support
  • [ ] Implement offline mode
  • [ ] Add real-time notifications

🇺🇬 Call for Ugandan Contributors

Tech Atlas is open source and needs YOU!

We're building this for Uganda's tech community, by Uganda's tech community. Here's how you can contribute:

Ways to Contribute

1. Add Data

  • Tech hubs you know
  • Upcoming events
  • Job opportunities
  • Learning resources
  • Your startup!

2. Code Contributions

  • Frontend features
  • Backend improvements
  • Bug fixes
  • Documentation

3. Design

  • UI/UX improvements
  • Graphics and illustrations
  • Marketing materials

4. Community

  • Spread the word
  • Organize meetups
  • Provide feedback
  • Test features

Get Involved

Special shoutout to my co-founder who's been creating TikTok event updates and helping spread the word about Uganda's tech opportunities!

🎯 Why This Matters

The Bigger Picture

Tech Atlas isn't just about search - it's about building digital commons that can be replicated in any country.

The Vision:

  • Open source platform
  • Community-driven content
  • Replicable model
  • Sustainable growth

The Impact:

  • Reduced information fragmentation
  • Increased collaboration
  • Accelerated ecosystem growth
  • Empowered community members

From Personal Pain to Community Solution

What started as my personal frustration with scattered information has become a platform that can serve thousands. That's the power of:

  • Identifying real problems
  • Leveraging modern tools (Algolia!)
  • Building in public
  • Community collaboration

🏆 What Makes This Special

1. Real-World Problem

Not a hypothetical use case - solving actual pain points I experience daily as a community organizer.

2. Community-Driven

Built for Uganda's tech community, with plans for community contributions and governance.

3. Rapid Development

From concept to production in 4 hours, showing the power of modern tools like Algolia Agent Studio.

4. Scalable Model

Can be replicated for any country's tech ecosystem - a template for digital commons.

5. Continuous Evolution

Not a one-time project - committed to ongoing development and improvement.

🙏 Acknowledgments

Algolia Team: For creating Agent Studio and hosting this challenge. The shopping assistant template was the perfect starting point!

DEV Community: For the platform and the opportunity to share this journey.

Uganda Tech Community: For being the inspiration and the reason this exists.

My Co-founder: For the TikTok updates and unwavering support.

AI Tools: Manus, Kiro, and Gemini - for making rapid development possible.

📊 By The Numbers

Development Time: 4 hours
Lines of Code: 10,000+
Components: 50+
Indexed Records: 14+ (growing)
Technologies: 15+
Coffee Consumed: 3 cups ☕
Sleep Lost: Worth it! 😄
Enter fullscreen mode Exit fullscreen mode

🎬 Final Thoughts

Building Tech Atlas with Algolia Agent Studio has been an incredible journey. It is my first open source project that I am putting out to the world

The best part? This is just the beginning. Tech Atlas is live, growing, and ready to serve. Every day, more data gets added. Every week, new features get shipped. Every month, more people discover it.

And it all started with a simple question: "What if there was a better way?"

Try Atlas AI today: techatlasug.com/

Let's build Uganda's tech ecosystem together! 🇺🇬🚀


Built with ❤️ for Uganda's Tech Ecosystem

Powered by Algolia Agent Studio 🚀

Top comments (0)