DEV Community

Philip Damwanza
Philip Damwanza

Posted on

Building DevSpot Kenya: A Lightweight Tech Event Aggregator in Go

If you have ever tried keeping up with tech meetups, developer workshops, and hackathons across Kenya, you know how scattered the information can be. Announcements are often buried across various social platforms, making it tough to stay in the loop.

To solve this, I built DevSpot Kenyaโ€”a lightweight platform designed to aggregate local technology events into a single, centralized hub.

The Tech Stack
To keep things fast, reliable, and straightforward, I used:

Backend: Go (using the Gin framework) for high-performance routing and lightweight API endpoints.

Database: SQLite for simple, file-based data storage during development.

Scraper & Ingestion: Custom event scraper and API handlers to ingest event batches and clean up link data.

Containerization: Docker for smooth deployment and local testing.

How the Backend Comes Together
Here is a quick look at how the core Gin router handles setting up endpoints for incoming events:

Go
package main

import (
"net/http"
"github.com/gin-gonic/gin"
)

type Event struct {
ID string json:"id"
Title string json:"title"
Location string json:"location"
EventDate string json:"event_date"
}

func main() {
r := gin.Default()

r.GET("/api/events", func(c *gin.Context) {
    // Fetch events logic here
    c.JSON(http.StatusOK, gin.H{
        "message": "Fetching DevSpot Kenya events...",
    })
})

r.Run(":8080")
Enter fullscreen mode Exit fullscreen mode

}
What I Learned
Simplicity Wins: Using Go combined with SQLite cut out unnecessary configuration overhead, letting me focus entirely on clean data ingestion and API logic.

Environment Management: Properly setting up .gitignore early on saved me from pushing local database files and build binaries to GitHub.

Top comments (0)