-
-
GPT‑5.6 prepares a multilingual playlist for learner approval
-
Approved material arrives as a focused Gifokamp practice playlist
-
Visual association, audio, Japanese writing and romanization in one drill
-
The same playlist becomes a typing drill for written recall
-
Test Mode confirms successful active recall
Inspiration
Gifokamp began in 2023, when I was learning English and learning to code at the same time.
I drilled all kinds of vocabulary lists from YouTube: common verbs, irregular verbs, the top 100 words, lists of 1,000 and 3,000 words, and many others. The repetition worked, but the lists came from somebody else. I wanted to practise material I had a reason to remember.
That reason changed throughout the day. In the morning, one subject held my attention. By midday, I needed another set of words. In the evening, something else felt urgent. Personal motivation could choose better material than a fixed list.
I had just started programming and chose SvelteKit because I wanted the practice interface to be fast. The first version used Google Translate and supported roughly 30 languages. It had no visuals, romanization, accounts, or cloud database. I created a playlist, drilled it, closed the app, and lost everything. I did not yet know how to persist data in the cloud.
I kept building because repetition was already familiar to me. Language learning, calligraphy, martial arts, dance, reading, music, and so on all require returning to the same material or movement until it can be produced without hesitation. My product question became: how can that repetition stay personal enough to remain interesting?
Then I looked at the word itself. A word reached me through its writing, its sound, and the image it formed in my mind. I was spending mental energy inventing an image for every item I wanted to remember.
While studying memory, I read about the hippocampus and its role in memory consolidation. In Kabbalistic writing, I encountered an interpretation that the eyes’ position above the other sensory organs points to the distinct place of sight in human perception. That gave me a concrete product decision: pair writing and sound with a ready visual association, so the learner does not have to create every image from nothing.
I found Giphy’s API and applied with the project. Giphy approved Gifokamp for unlimited API access, making the original visual practice system possible.
The name I came up with reflects that original idea:
GIF + hippocampus = Gifokamp.
I continued adding the pieces I needed as a learner: photography from Unsplash, art from the Metropolitan Museum, AI-generated images, romanization, pronunciation feedback, typing practice, active recall, and spaced repetition.
I then built a browser extension for translating and saving words in the context where the learner found them. The PDF reader followed because books needed the same in-context translation and capture flow.
GPT‑5.6 introduced another source of personal language material: the words, phrases, and slang that appear naturally during an AI conversation.
Generative AI can produce language material, but producing it is not remembering it. The Gifokamp plugin sends approved material from GPT‑5.6 into the practice system I originally needed for myself.
What it does
GPT‑5.6 gives you words and phrases worth learning, but chat alone won’t make them stick. Gifokamp does—turning them into visual, spoken practice playlists across 85 languages.
With the Gifokamp plugin, GPT‑5.6 can prepare multilingual learning material inside a conversation. The learner reviews it and approves what should be added. The plugin then transfers the selected language pairs into Gifokamp, where the actual memory work begins.
Inside Gifokamp, learners can:
- Connect each word, chunk, or phrase with a GIF, photograph, museum artwork, AI-generated image, or personal upload.
- Hear native-quality speech and practise pronunciation with AI feedback.
- Build typing muscle memory.
- Test themselves through active recall.
- Schedule material through spaced repetition.
- Create playlists between any of the 85 supported languages.
- Share drillable playlists while preserving attribution to the original creator.
The plugin is one entrance into Gifokamp. Learners can also create playlists manually, capture language from websites through the browser extension, or use the dedicated PDF reader for in-context translation while reading documents.
Gifokamp is the practice space connecting all of these entry points. Its job is to carry material from “I want to remember this” to “I can recall this.”
How we built it
Gifokamp began as a small SvelteKit translation prototype and gradually became a full language-memory application.
The current application uses SvelteKit, Bun, Firebase Authentication, Firestore, Cloud Storage, Cloud Functions, Google Cloud, and Cloudflare. It integrates translation, speech synthesis, pronunciation analysis, media search, AI image generation, and several visual providers, including Giphy, Unsplash, and museum collections.
Before Build Week, Gifokamp already had its core learning application, visual association, audio, pronunciation practice, typing drills, active recall, spaced repetition, the browser extension, and the PDF reader. An early private MCP proof of concept also existed.
During Build Week, I used GPT‑5.6 through ChatGPT and Codex CLI to meaningfully extend the product with:
- The current Gifokamp plugin workflow for moving approved GPT‑5.6 material into the application.
- A clearer approval-to-playlist handoff.
- Public playlist sharing with creator attribution.
- Dynamic social preview cards generated from the playlist’s first visual and language pair.
- Robust preview support for GIFs, photographs, and AI-generated images.
- Creator Studio for managing recorded learning videos and previously shared playlists.
- Playlist-copying behaviour that gives each learner control over their copy while preserving the original creator’s attribution.
Codex helped me trace behaviour across Svelte components, Firebase Functions, storage, Firestore, media providers, and social preview crawlers. I made the product and architectural decisions, reviewed the changes, tested them across desktop and mobile, and repeatedly returned real failures for deeper investigation.
That collaboration mattered most when a bug crossed several systems. A blurry Reddit preview, for example, could involve the source media, image renderer, storage metadata, public URL, social crawler, and cached Open Graph response. Codex helped follow those paths as one system rather than treating each visible symptom as an isolated problem.
Challenges we ran into
The first challenge was defining the boundary between AI generation and learning. GPT‑5.6 can produce excellent vocabulary, phrases, explanations, and examples. Gifokamp still needs the learner’s approval before material enters their account, and the application must then turn that material into repeated practice.
Sharing created another set of problems. WhatsApp, Reddit, X, Facebook, and Pinterest fetch preview metadata differently, cache links differently, and impose different expectations on images. Dynamic previews had to remain sharp, display the correct first visual, support AI-generated assets, and keep shared URLs clean.
Copied playlists introduced a separate ownership problem. A learner who adds a public playlist needs an independent copy that they can edit or delete. If they share that copy again, attribution must still lead back to the original creator.
Visual fetching also had to remain reliable under rapid interaction. Concurrent requests could return the same GIF or photograph for several pairs, while asynchronous state changes could make visuals appear, disappear behind a loader, and then reappear. Fixing this required separating operations by pair, reserving selected media, and preventing stale responses from replacing newer choices.
Supporting 85 languages adds pressure everywhere: translation direction, speech availability, romanization, pronunciation, text length, and provider coverage. The application cannot assume that every learner studies from English or that every language pair behaves the same way.
The Gifokamp plugin is currently under OpenAI review. Until it becomes publicly available, the complete integration is demonstrated through the development access used to build and test it.
Accomplishments that we're proud of
I am most proud that Gifokamp now completes the entire path from discovering language in an AI conversation to practising it inside a dedicated memory system.
The learner does not receive another static vocabulary list. They receive a playlist they approved, enriched with sound and visuals, ready for typing, pronunciation, recall, and scheduled repetition.
Gifokamp now supports 85 languages without treating English as the mandatory centre. A learner can work from Hebrew to Japanese, Arabic to Korean, Japanese to German, Hindi to English, or across any of the 7,140 possible source-to-target language directions.
The project has also grown from a browser prototype that lost its data when closed into an application with accounts, persistent playlists, cloud functions, media processing, public sharing, and several ways to capture material in context.
Google for Startups later accepted Gifokamp and awarded the project $2,000 in Google Cloud credits. That support helped me operate and develop the cloud infrastructure behind authentication, storage, databases, speech, translation, and media processing.
I built this while learning English, software engineering, cloud architecture, databases, deployment, security, AI systems, and product design. Gifokamp has therefore been both the product I was building and part of the method through which I kept learning.
What we learned
AI can generate more language material in seconds than a learner can remember in weeks. Generation solves access to material. It does not solve retention.
Material becomes easier to repeat when it begins with the learner’s own intent. Someone will usually work harder to remember a phrase they chose from a real conversation, book, document, or personal interest than an arbitrary item selected for them.
Visuals, sound, typing, and pronunciation give the memory several ways to reach the same material. They become most useful when combined with active recall and repetition over time.
I also learned that playlist creation is only the beginning. A successful product cannot stop after saving a word. It must help the learner return, attempt recall, make mistakes, hear the material again, and continue until it becomes available from memory.
Working with Codex reinforced the value of evidence-driven AI collaboration. I used it to inspect unfamiliar systems, trace failures across the application, compare possible causes, implement focused changes, and verify the result. The strongest outcomes came from combining that technical reach with clear human decisions about what the product should do.
What's next for Gifokamp
Next is expanding Gifokamp as the place where repetition happens.
Language is the first and deepest domain: words, chunks, phrases, pronunciation, reading, and typing. But any material a learner needs to repeat should eventually be drillable through Gifokamp. That can include terminology, definitions, names, dates, quotations, formulas, professional knowledge, and other material whose mastery depends on recall.
The immediate product roadmap includes:
- Publishing the Gifokamp plugin after OpenAI review.
- Native iOS and Android applications.
- Personal language tutoring.
- Structured language courses.
- Larger playlist capacity with focused ways to divide and schedule material.
- Deeper progress tracking across recall, pronunciation, typing, and spaced repetition.
- Continued development of Creator Studio for teachers, language creators, and community owners.
Books, teachers, web pages, and AI give learners material worth learning. Gifokamp gives them a place to remember it.
Built With
- azure
- bun
- chatgpt
- cloudflare
- codex
- firebase
- gcp
- gemini
- giphy
- gpt-5.6
- javascript
- lemonsqueezy
- mcp
- nanobanana
- node.js
- oauth
- pkce
- sveltekit
- unsplash
Log in or sign up for Devpost to join the conversation.