Freebee Ads docs

Product docs

Freebee status board

Last updated Oct 26, 2026 · @praveen · 4 sections

One table for the whole platform as of today: 61 things are done and verified (25 built on 24 October and 12 on 26 October), 3 are half done, 4 are not started, and a short list at the end needs the founder. Status and priority are dropdowns, so the team can keep this current. "Done" means built, tested in the browser and live on Vercel or Railway; "half done" means it works in a test mode or with a manual step; "to do" means not started.

Done

Built, checked in the browser, and live. The priority column says how soon the missing piece next to it matters.

Built earlier

AreaItemStatusWhat existsWhat is missingPriority
AdvertiserSign up, sign in, onboardingDoneEmail and password, business name, profile; password reset and team roles added 24 Oct; remove a member and change roles added 26 Oct—Later
AdvertiserHome with the four metric bandsDoneDelivery, Audience, Engagement, Value with deltas, sample numbers, schedule, live screens, checklist, glossary; 14-day plays line added 26 Oct—Later
AdvertiserCampaigns list and campaign reportDoneStatus tabs, search, report with bands, funnels, tables, rail, CSV and proof-of-play downloads; PDF report added 26 Oct—Later
AdvertiserCreatives: upload a video or imageDoneFormat checks, grid with previews and thumbnails, rename, replace, delete, used-in count; conversion, trim, fit, enhance and preview clip addedSwitch ffmpeg on in the Railway image (one line)Next
AdvertiserCreate a game ad (5-step editor)DonePick a game with live samples, brand, images with examples and one-click enhance, prizes with stock and validity, AI copy suggestions and name guard, review and sendAnthropic key to switch the AI buttons onLater
AdvertiserBook a screen with hour windowsDoneStepper, summary rail, hour grid with clashes, next-free-window hint, success card; bid step for busy windows—Later
AdvertiserReports pageDoneEvery CSV and PDF export in one place; weekly email report toggle—Later
AdvertiserPer-screen viewDonePlaying now, today's timeline, bands for my plays—Later
OpsToday pageDoneAlerts, network bands, schedule timeline, approvals queue, screens needing attention, background jobs card, waitlist count, mall deck link, glossaryPush alertsNext
OpsScreens: health, screen list, metricsDoneLast check-in, held batches, add and edit screens with hours, rates, sound; 7-day sparklines; remote restart—Later
OpsBookings list and week calendarDoneGrouped by advertiser, phase tabs, calendar blocks by hour window, mark paid with method; Bidding tab—Later
OpsApprovals boardDoneWaiting, approved, rejected; slide-over with play test, preview clip, footage overrides, three-tick sign-off, AI name flags; advertiser message on decision—Later
OpsFootage library (three levels)DoneLibrary, per creative, per screen; thumbnails per clip; cricket stadium set and spin effects—Later
OpsPair a deviceDoneSix-character code, claim, wait for the player; Devices page with health—Later
ScreenBrowser player (the wall)DoneLoop, schedule by hour window, assets, play records, pairing, offline cache, remote commands, people counting, sound settingAndroid build of the native shellNext
ScreenHit for Six cricket wallDoneTwo-shot footage, Freebee dice with bee faces, packs on the shelf, prizes, ad break, idle loop, fits small frames, three-language instructions, sound cuesOutcome clips re-shot from the pitch cameraLater
ScreenKiosk and phone join pageDoneCode pad, name with block list and AI check, avatars, prize ladder, scan beacon; English, Telugu and Hindi—Later
ScreenSpin, wheel and catch gamesDoneEngines, coupons, offline fallback reward, sound cues—Later
DataPlay record and metrics pipelineDonePlays, camera counts, engagement, cost per play, held batches, IST days; proof of play v2—Later
DataShopper wallet and couponsDoneClaim link, OTP flow, coupon list, redeem once, erase wallet; three languagesReal OTP delivery (AiSensy account)Now
SiteLanding pageDoneSeven sections, live game wall in the hero, pricing, FAQ, real product screenshots, early-access waitlistCase studyLater
SiteTeam docs at /docsDoneStatus board, flow doc, UI plan, nine diagrams, 20+ engineering runbooks, every doc as markdown, llms.txt—Later
InfraBackend on Railway, frontend on Vercel, demo data seededDonePostgres, volume for media, auto-deploys, migrations on deploy, built-in scheduler, 630 backend tests, CI greenRestore drill, staging environmentNext
InfraPlain-English copy and glossaryDoneEvery advertiser and ops string reviewed; shopper pages in three languagesNative-speaker check of the Telugu and HindiNext

Built on 24 October

AreaItemStatusWhat existsWhat is missingPriority
PaymentsBilling and invoicesDoneGST invoices, Billing page, printable invoice, ops mark paid with method, void and credit notes; Razorpay wired behind env varsRazorpay account and keys; seller GSTIN and bank details in envNow
AdvertiserPassword resetDoneForgot and reset pages, 30-minute single-use links, email provider (log or Resend)Resend account and sender domainNow
AdvertiserTeam rolesDoneInvite by email, owner, editor and viewer, data shared across the business, viewer writes refused; remove and change role (26 Oct)—Later
AdvertiserMessages to advertisersDoneIn-app inbox and bell for every event; same text by email once a provider is set; weekly report (26 Oct)WhatsApp channelNext
ScreenDevice health and remote fixesDoneHealth in every check-in, Devices page with sick screens first, Reload, Restart the loop, Clear cache, Refetch schedule—Later
ScreenOffline play and queued recordsDoneKeeps looping from cache without wifi, overlay shows the offline state, records flush in order with no double counts—Later
DataProof of playDoneSigned CSV or JSON of every play record; v2 binds the booking, screens and dates; public verify endpoint—Later
LegalTerms, privacy, camera notice, content policyDoneFour public pages with DPDP wording, consent links in the wallet and play pages, sign-up consent lineLawyer review; company detailsNow
OpsMall sign-off in approvalsDoneThree required ticks plus a mall reference, enforced by the API—Later
OpsSupport and incident runbookDoneChannels, severities, five numbered runbooksCreate the support address and WhatsApp numberNow
InfraBackupsDoneBackup script plus runbook for Postgres and media on RailwayFirst manual backup, private bucket, monthly restore drillNow
InfraSecrets rotation toolingDoneScript re-keys every wallet phone to a new SECRET_KEY; OPS_PASSWORD change rotates the loginRun the rotation after the testing roundNow
QualityTests in CIDoneGitHub Actions on Node 24: backend tests, type check, web build, Playwright journeys; green on main—Later
QualityPlaywright journey suiteDone60+ tests: every journey plus a 40-page smokeRun the read-only smoke against production weeklyLater
InfraError tracking and analyticsDoneSentry and PostHog wired behind env vars, personal data scrubbed, health endpoint for monitorsSentry and PostHog accounts, two uptime monitorsNext
SiteProduct screenshots on the landing pageDoneSix real screenshots in an Inside the product sectionRe-shoot after the next design passLater
ScreenNative player plan and desktop shellDoneFull plan on /docs; Electron kiosk shell for Mac and Windows; Android project skeletonAndroid build (needs the SDK licence accepted); signing; bench hardwareNext
OpsPrize fulfilmentDoneStock per tier, expiry reminders, per-phone daily limits, ops fulfilment cardApprove the reminder template in AiSensyNext
ScreenUpload conversion, trim and fitDoneMOV, WebM, MKV and AVI converted to H.264 MP4, trim and fit-to-screen editsSwitch ffmpeg on in nixpacks.tomlNext
ScreenAI name checkDoneSecond opinion after the block list, 1.5 second timeout, fails open, cached per nameAnthropic API keyLater
SiteDocs as markdown for AI toolsDonellms.txt, llms-full.txt, every doc at /docs/md—Later
WalletWhatsApp senderDoneAiSensy client for the OTP, cricket code and coupon remindersAiSensy account, three approved templates, API keyNow
QualitySecurity reviewDoneOWASP pass over every route with 144 tests: critical payment-confirm hole, viewer gaps, throttles, headers, dependency bumps; full CSP added 26 Oct—Later
QualityQA pass on the combined buildDoneJourneys green, CI green, 13 bugs fixed—Later
AdvertiserBidding for busy windowsDoneOps mark busy windows with a floor and close time; sealed bids, top bids win and pay their bid, losers told; closes itself every 5 minutesDecide first-price or second-price; whether losers get a creditNext

Built on 26 October

AreaItemStatusWhat existsWhat is missingPriority
InfraBuilt-in schedulerDoneRuns bidding close, daily messages, coupon reminders and the weekly report on its own; job log and Run now on ops Today; verified on Railway—Later
SecurityContent security policy and session hardeningDonePer-request nonce CSP, proof v2, viewers cannot redeem, owners manage membersTest Razorpay checkout against the CSP on staging before switching payments onNext
ScreenTelugu and Hindi on shopper pagesDonePhone, kiosk, wallet, claim, reward pages and the wall; switch remembered; QR can preset the languageNative-speaker check of the marked stringsNext
DataPeople counting (audience measurement)DoneCounts people walking past as well as faces; modes people, faces, off; calibration page with a walk-past test; about 13% of one coreWalk-past test on a real screen against a hand countNext
AdvertiserAI helpersDoneCopy suggestions, name guard, one-click image enhance, preview clip from an image; all explained, advertiser decidesAnthropic key for copy and the guard; ffmpeg for clipsLater
SiteMall pitch deckDoneTen slides at /deck with presenter notes, live example calculator, print to PDFFill in your contact details in the deckNow
ScreenSound on the wallDoneSix soft generated cues, off by default per screen, mute on the playerReplace generated clips with recorded ones if wantedLater
SiteWaitlistDoneEarly-access form on the landing page, ops list with CSV—Later
AdvertiserPDF report and weekly emailDonePrint-ready report page; Monday email with the four headline numbers; toggle on ReportsResend account for deliveryNext
OpsClip thumbnails and sparklinesDonePoster frames for every clip; 7-day plays per screenffmpeg on Railway for thumbnailsNext
OpsMall partner side and partner APIDoneMall login and dashboard with the four bands, monthly revenue-share statements, holiday hours and maintenance mode with a Back soon card on the wall, partner API keys with three read-only endpoints, venue branding on the shopper pages; 37 testsDecide statement month basis (paid date or flight dates) and whether share changes touch unpaid monthsNext
ScreenNative player on AndroidDoneDebug and release APKs build on this Mac (Gradle 8.11, AGP 8.7, Kotlin 2.0); watchdog, boot start and device-owner setup fixed to match the desktop shell; APKs in ~/Desktop/freebee-player-androidReal release keystore; a test box; device-owner provisioning; first soak testNext

Half done

Works in a test mode or with a manual step, or is being merged right now.

AreaItemStatusWhat existsWhat is missingPriority
InfraSecrets and launch switchesHalf doneRotation tooling and runbook readyRotate the three secrets; real domain; unset WALLET_OTP_DEVNow
WalletOTP deliveryHalf doneSender built and tested; code shown on screen in test modeAiSensy account, templates and key; switch test mode offNow
ScreenCricket footageHalf donePitch-camera delivery clip, Indian cast, right-handed batterOutcome clips still use the older crease castLater

To do

Not started. Two of these are big enough to plan together before building.

AreaItemStatusWhat existsWhat is missingPriority
InfraStaging environmentTo do—A second Railway and Vercel environment for testing before mainNext
OpsPlaylists, layout zones, widgetsTo doOne loop per screenPlaylists per screen, zones, weather and offer widgets; plan together before buildingLater
InfraMulti-city and time zonesTo doIST everywhereRegions, currency, screen groups, per-screen time zone; plan togetherLater
SiteCase studyTo do—Needs a real pilot; nothing inventedLater

Needs you

Accounts, keys and decisions only the founder can supply. Each line names what it unblocks.

WhatWhereUnblocks
AiSensy account, sender number, three templates (freebee_otp, freebee_cricket_code, freebee_coupon_reminder), API keyaisensy.comOTP delivery, cricket code, coupon reminders
Resend account and a verified sender domainresend.comPassword reset, team invites, messages, weekly report
Razorpay account, three keys, webhook URLrazorpay.comOnline payment on the Billing page
Sentry and PostHog accounts, two uptime monitorssentry.io, posthog.comError alerts, the sign-up funnel
Anthropic API key, then AI_PROVIDER=anthropicconsole.anthropic.comAI name check, copy suggestions, name guard
A business email on freebeeads.com (the domain is live: site at freebeeads.com, API at api.freebeeads.com, set up 26 Oct)Cloudflare email routing or Google WorkspaceResend sender, support address, every account sign-up
Rotate SECRET_KEY, OPS_PASSWORD and the Postgres password/docs/repo/secrets-rotationLaunch
Uncomment ffmpeg in backend/nixpacks.tomlrepoVideo conversion, trim, fit, thumbnails, preview clips
Lawyer review of the four legal pages; native-speaker check of the Telugu and Hindi/terms, /privacy, /camera-notice, /content-policy, docs/LANGUAGES.mdLaunch
Seller GSTIN, address, state code and bank details in Railway envRailway variablesCorrect invoices
Create the real Android release keystore (keytool command in player-android/README.md) and back it up twice; bench hardware (about ₹50,000)/docs/repo/native-player-planNative player on Android
Fill DECK_CONTACT in web/components/deck/slides.tsxrepoMall pitch deck
Decisions: first-price or second-price bidding; losers credit; statement month basis; editors paying invoicesstatus boardBidding, billing, mall statements
Status board · Docs