ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Rioplatense Spanish in hands-on 15-minute lessons: vos, the porteño “sh” sound and real Buenos Aires life. On the App Store for iPhone and iPad. Mac coming soon.
Translation pending
EducationHTML · CSSGitHub @alexryakhinOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Landing page for El Recreo — Rioplatense Spanish in 15-minute lessons
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Marketing site for El Recreo, the app for learning Rioplatense (Buenos Aires) Spanish in 15-minute
lessons on iPhone, iPad and Mac. The iOS app is on the App Store (id6761676545); the Mac version is announced as "coming soon".
Nothing is sold here. Static HTML served by GitHub Pages, planned at
https://alexriakhin.com/ElRecreo/. This repository is the ElRecreoWebsite submodule of the app
repository.
No build step, no framework, no npm, no analytics and no cookies: edit the HTML and push.
| Path | What |
|---|---|
index.html | Landing page: hero (playable speech bubbles), a try-it step, the story and cast with voice samples, the Sofi vs. Rubén scene, why Rioplatense, banda sonora, A1–C1 path, privacy promises |
support.html | FAQ and contact (<details> accordions, no JavaScript) |
privacy.html, terms.html | Legal pages — keep these paths stable, the App Store listing will link to them |
404.html | Not-found page; self-contained (inline CSS, inline icon, absolute links) because GitHub Pages serves it at any depth |
assets/css/site.css | All styles. Tokens from the app's design system ("The Social Estancia"): paper surfaces, teal #006666, orange #8E4900, sun yellow #FFD608; Plus Jakarta Sans + Be Vietnam Pro from Google Fonts; light and dark (prefers-color-scheme) |
assets/js/site.js | Header shadow on scroll, reveal-on-scroll (off with reduced motion), footer year, and the voice samples (one line at a time), the try-it step and the scene. The page reads fine without it |
assets/img/ | Hero photo, culture photos, app icon, wordmarks, og.jpg share image (1200×630), cast/ portraits |
assets/audio/ | Voice samples copied from the app's recorded lines, plus the right/wrong sounds |
favicons/ | favicon.ico, PNG favicons, apple-touch-icon.png, Android icons, site.webmanifest |
tools/sync_from_app.py | Icon, favicons, share image, cast portraits and voice samples, straight from the app repo |
tools/render_icon.swift | Flat render of the app's AppIcon.icon layers (used by sync_from_app.py) |
tools/make_assets.py | Photos and wordmarks from the app's artwork (needs Pillow) |
robots.txt, sitemap.xml | For search engines |
.nojekyll | Tells GitHub Pages to serve the files as they are |
The header and footer are repeated in each page; when you change one, change it everywhere
(grep -l 'class="bar"' *.html).
python3 -m http.server 8765 # then open http://localhost:8765
tools/make_assets.py takes a folder with the original artwork, named as in the app's asset catalog
(@3x images from Assets.xcassets/Images/<name>.imageset
renamed to <name>.jpg, light-logo.svg/dark-logo.svg from LaunchScreenLogo.imageset, and
hero.jpg, the Obelisco photo from the retired Astro site's public/images/hero-buenos-aires.jpg):
python3 tools/make_assets.py ~/path/to/artwork
It writes the compressed photos and copies the wordmarks.
Everything that mirrors the app comes from tools/sync_from_app.py, run from the app repo (this site is
its ElRecreoWebsite submodule). It renders the icon from ElRecreo/Resources/AppIcon.icon, rebuilds the
favicons and og.jpg, copies the cast portraits, and copies the voice samples listed in LINES from
Audio/Clips (looked up by speaker and exact text in Audio/manifest.json):
python3 ElRecreoWebsite/tools/sync_from_app.py
To change a sample, edit LINES and the matching text in index.html, then run it again.
Keep the whole site small (about 2.5 MB with the voices).
alexryakhin/ElRecreo, which gives
https://alexriakhin.com/ElRecreo/ through the account's custom domain) and push main.main, / (root).main deploys.Base URL. Canonical, Open Graph, sitemap, robots and 404 links use
https://alexriakhin.com/ElRecreo/. If the site ends up elsewhere, replace it everywhere:
grep -rl 'https://alexriakhin.com/ElRecreo/' --include='*.html' --include='*.xml' --include='*.txt' . \
| xargs sed -i '' 's#https://alexriakhin.com/ElRecreo/#https://NEW-URL/#g'
Custom domain. There is no CNAME yet. To use one (say elrecreo.app): add a CNAME file
containing just the domain, point the domain's DNS at GitHub Pages (A/ALIAS records for the
apex or a CNAME record to alexryakhin.github.io for a subdomain), set it under Settings → Pages,
enable Enforce HTTPS, and update the base URL as above.
From the app repository root, once this repo has a GitHub remote:
git submodule add https://github.com/alexryakhin/ElRecreo.git ElRecreoWebsite
git commit -m "Add website submodule"
Afterwards: commit and push here first, then commit the updated submodule pointer in the app repo
(git add ElRecreoWebsite && git commit).
macOS back to operatingSystem in the JSON-LD in index.html.https://apps.apple.com/app/id6761676545) already cover every platform.English only for now, at the site root. To add a language, copy the pages into /<lang>/
(e.g. /es/index.html), prefix asset paths with ../, set <html lang>, and add
<link rel="alternate" hreflang="…"> tags for every language on every page (English keeps
x-default) plus the new URLs in sitemap.xml. Translated privacy and terms pages should note that
the English version applies.
The site makes no claims about users, ratings or reviews — there are none yet. The privacy page describes the app as specified for launch: no account, no third-party analytics or ads, progress on device + the user's iCloud (CloudKit private database), optional microphone/speech recognition for speaking exercises, on-device text-to-speech. Re-check it against the shipping app before release, and update "Last updated" when it changes.