Web Apps

Calm Ops

Social Media Insight Console

Client

Internal Project

Duration

2 Weeks

Date

Jan 21, 2025

( 00-01 )

What I Build

A social analytics web app for social media managers who want one place to import data, track performance, and get insights without living in spreadsheets. The goal is simple: clean inputs, actionable outputs.

Core Features

  1. AI Caption Generator (Gemini): generates captions from post context with controllable tone, length, emojis, and hashtags. Output is usable, not generic filler.

  2. Smart CSV/Sheets Import: fuzzy column mapping + manual override, preview before commit, and automatic metric calculations (like ER%) so users don’t babysit formatting.

  3. Interactive Dashboard + Insights: charts plus auto-written insights, trend indicators, and drill-down views per metric for faster decisions.

  4. Dataset Comparison & Benchmarking: compare up to 3 datasets side-by-side to spot gaps and patterns that actually inform next moves.

  5. Best Time Analysis: heatmap of posting time vs engagement, filterable by platform and content type.

Support Features

  1. Saved filter presets so recurring reporting takes seconds, not re-clicking the same settings.

  2. CSV export for external reporting and sharing.

Not Built (by design)

  1. Auto-posting / scheduling: this product stays focused on analytics, not becoming a messy scheduler.

  2. “Magic AI autopilot” optimization: misleading, unreliable, and usually impossible to trust.

( 00-02 )

What Made It Hard

The hard part isn’t the UI, it’s making messy multi-source data behave: inconsistent columns, timezone drift, and metric definitions that quietly shift over time.

Edge Cases I handled

  1. Inconsistent CSV headers (reach vs Reach vs “Total Reach”): solved with fuzzy matching + override controls.

  2. Duplicate rows from re-uploads: unique constraints + import preview warnings before insert.

  3. Gemini rate limits on batch generation: retries with exponential backoff to avoid random failures.

Engineering Decisions

  1. Validation + preview layer before DB writes: users see exactly what will be imported, then confirm or cancel.

  2. Typed schema end-to-end (TypeScript + Supabase types): fewer runtime surprises, cleaner refactors, safer shipping.

Anti-pattern avoided

  • Importing raw data without validation and then “trusting” the dashboard. That’s how insights become fiction.

( 00-03 )

Why It Matters

For teams and creators managing multiple accounts, consistent data is the foundation of any real strategy.

  1. Faster content decisions because insights are generated from the data, not vibes.

  2. Import is predictable: less spreadsheet cleanup, fewer silent mistakes.

  3. Reporting becomes straightforward: filter, compare, export, done.

  4. Maintainable structure: built to evolve, not “ship-and-forget.”

  5. Clear error states: users know what broke and how to fix it.

  6. Auth + data isolation (RLS) keeps projects separated and safe.

  • ALAWI

    CONTACT

( 00-09 )

CONTACT

Let’s talk about what you’re building
and how I can help.

  • Want to chat fast?

+62 817-7577-7778

  • Prefer email?

maarifalaawi@gmail.com

  • LinkedIn

maarifalawi

Start with a brief.

  • ALAWI

    CONTACT

( 00-09 )

CONTACT

Let’s talk about what you’re building
and how I can help.

  • Want to chat fast?

+62 817-7577-7778

  • Prefer email?

maarifalaawi@gmail.com

  • LinkedIn

maarifalawi

Start with a brief.

  • ALAWI

    CONTACT

( 00-09 )

CONTACT

Let’s talk about what you’re building
and how I can help.

  • Want to chat fast?

+62 817-7577-7778

  • Prefer email?

maarifalaawi@gmail.com

  • LinkedIn

maarifalawi

Start with a brief.

I build and maintain production-ready web apps. Clean UI, stable backend, calm releases.

I build and maintain production-ready web apps. Clean UI, stable backend, calm releases.

I build and maintain production-ready web apps. Clean UI, stable backend, calm releases.

Create a free website with Framer, the website builder loved by startups, designers and agencies.