---
title: "SocialTimetable"
description: "A data-driven tool that tells content creators the best local time to post when their audience is in another country. Built on 17,000+ engagement data points across 8 platforms, with Google Gemini collapsing the dataset into a single recommendation per country-and-platform query."
url: "https://dewmina.dev/projects/social-timetable"
canonical: "https://dewmina.dev/projects/social-timetable"
kind: "PRODUCTION"
year: "2024"
status: "Live at socialtimetable.com"
role: "Founder and sole engineer: data pipeline, inference and the site around it"
author: "Dewmina Udayashan"
---

# SocialTimetable

A data product: 17,000 engagement data points turned into one answer per query.

A data-driven tool that tells content creators the best local time to post when their audience is in another country. Built on 17,000+ engagement data points across 8 platforms, with Google Gemini collapsing the dataset into a single recommendation per country-and-platform query.

**My role:** Founder and sole engineer: data pipeline, inference and the site around it

**Status:** Live at socialtimetable.com

**Links:** [Visit site](https://www.socialtimetable.com/)

**Stack:** Next.js, TypeScript, Tailwind CSS, Google Gemini, Vercel

## By the numbers

- **17k+** Engagement data points aggregated
- **8** Social platforms covered

## The problem

Peak engagement advice on the internet is a blog post written once, about one country, and never updated. The genuinely hard part is not finding the data. It is time zones. A creator in Colombo targeting Los Angeles needs the answer expressed in their own local clock, across a platform whose peak differs by weekday, with daylight saving applied correctly on both ends. Get that arithmetic wrong and the tool is confidently, invisibly useless.

## The approach

- **Aggregate before you infer.** 17,000+ data points across 8 major platforms collected and normalised into a single baseline of engagement patterns, so the model reasons over structured data instead of hallucinating from a prompt.
- **Gemini as a reducer.** The LLM's job is to collapse a large, noisy dataset into a country-specific recommendation, a task it is actually good at, rather than to be the source of the numbers.
- **Time zones as a first-class concern.** Every answer is converted into the creator's local clock with daylight saving handled on both sides, because that conversion is the entire value of the product.
- **One question, one screen.** Pick a target country and a platform, get an actionable answer. No dashboard, no onboarding, no account.

## System architecture

- **Dataset.** 17,000+ normalised engagement observations across 8 platforms
- **Inference.** Gemini used as a structured reducer over the dataset, not as the data source
- **Time engine.** Target-country peak to creator-local clock, DST-correct on both ends
- **Delivery.** Next.js on Vercel, statically rendered where the answer is stable

## Engineering decisions

### The model reduces; it does not remember

Asking an LLM 'when should I post in Germany' produces a confident answer with no provenance. Giving it a normalised dataset and asking it to summarise produces an answer that traces back to something. The distinction is the whole architecture.

---

Written by Dewmina Udayashan. Full site: https://dewmina.dev
