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")
}
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)