Inspiration
Memes are the universal language of the internet, but finding the good ones requires digging through bloated social media feeds, political arguments, and intrusive ads. As a globally distributed team spanning Stockholm, San Francisco, and Taipei, memes were the primary way we stayed connected across our time zones. We wanted to build a pure, distraction-free environment dedicated entirely to laughs. That inspired Rolig—a fast, hyper-personalized, short-form meme feed designed to deliver instant joy, optimized to run completely on a zero-dollar infrastructure for our MVP launch.
What it does
Rolig is a cross-platform (iOS, Android, and Web) TikTok-style application dedicated solely to meme content. Users can infinitely scroll through a seamless, automated feed of image and video memes. The app uses GPT-5.6 to instantly analyze, tag, and filter uploads, ensuring content remains highly engaging and safe. It eliminates the social noise of traditional platforms, giving users a pure dose of entertainment tailored to their immediate sense of humor.
How we built it
We structured our workflow to maximize our distributed time zones. Sunny designed the high-fidelity UI/UX in Figma. Shaun developed the cross-platform mobile applications using React Native, Expo, and TypeScript to target iOS and Android simultaneously, alongside a Next.js and Tailwind CSS web application hosted on Vercel. Roger engineered the backend API using FastAPI (Python) hosted on Render, utilizing a Supabase PostgreSQL database with pgvector to manage meme records and vector embeddings.
We used OpenAI Codex as our fourth team member. Because of our 8-to-16-hour time differences, Codex acted as a continuous bridge—generating complex frontend animation boilerplate for infinite scrolling while Ruiyu slept, and writing database schemas while Shaun was offline. We integrated GPT-5.6 Sol to automatically analyze uploaded memes, generate smart tags, filter out toxic content, and calculate a real-time recommendation score $S$ for each user's feed, which we cached in Upstash Redis for instant retrieval. The score is determined by:
$$S = w_1 \cdot t_{\text{watch}} + w_2 \cdot \text{like} - w_3 \cdot \text{skip}$$
Challenges we ran into
Managing a project across Sweden, the USA, and Taiwan meant we rarely had overlapping live working hours, requiring heavy reliance on asynchronous communication.
Technically, delivering a seamless, TikTok-like infinite scroll for media on a $0 budget presented massive hurdles. Video streaming burns high bandwidth, which typically racks up expensive cloud data transfer fees. We solved this by routing our assets through Cloudflare R2, taking advantage of its zero-egress fee tier, and utilizing Cloudflare CDN to cache media files close to our global users. Additionally, Render’s free hosting tier automatically spins down apps during periods of inactivity. We worked with Codex to implement an intelligent pre-fetching lifecycle manager in the mobile frontend and structured Upstash Redis to serve pre-loaded content queues, ensuring users never experience lag or wake-up delays when opening the app.
Accomplishments that we're proud of
We successfully designed, built, and launched a production-ready, cross-platform mobile and web application in just seven days with zero infrastructure costs. We are proud of creating a highly responsive recommendation loop that leverages multi-modal AI (GPT-5.6) to process raw images and videos and update user feeds instantly without lagging the frontend interface.
What we learned
We learned how to design a highly responsive, low-latency media architecture entirely within free cloud limits, leveraging Cloudflare R2 and Supabase to completely bypass infrastructure costs during the MVP phase. We also mastered orchestrating GPT-5.6 for multi-modal content analysis at scale, transforming raw images and videos into structured, searchable data instantly. Most importantly, we proved that a team of three can collaborate effectively across three continents when utilizing AI acceleration to bridge time-zone gaps.
What's next for Rolig
We plan to introduce "Meme Battles," where users can go head-to-head and use GPT-5.6 to dynamically remix or counter existing memes using generative asset creation. We also want to expand our recommendation model to include audio-vibe tracking, allowing the infinite scroll algorithm to match the visual humor with the tempo of the user's favorite background music.
Built With
- android
- cloudflare
- docker
- expo.io
- fastapi
- figma
- git
- github
- gpt-5.6
- ios
- next.js
- openai-codex
- pgvector
- python
- react-native
- redis
- render
- rest-api
- supabase
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.