{"id":50529668,"url":"https://github.com/edubertin/edubertin","last_synced_at":"2026-06-03T12:01:08.319Z","repository":{"id":362216009,"uuid":"1146108871","full_name":"edubertin/edubertin","owner":"edubertin","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-03T06:04:55.000Z","size":255,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T07:29:28.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edubertin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-30T16:26:44.000Z","updated_at":"2026-06-03T06:04:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/edubertin/edubertin","commit_stats":null,"previous_names":["edubertin/edubertin"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/edubertin/edubertin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubertin%2Fedubertin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubertin%2Fedubertin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubertin%2Fedubertin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubertin%2Fedubertin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edubertin","download_url":"https://codeload.github.com/edubertin/edubertin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubertin%2Fedubertin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33863264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-03T12:01:07.442Z","updated_at":"2026-06-03T12:01:08.306Z","avatar_url":"https://github.com/edubertin.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eduardo Bertin\n\n**Mobile/full-stack product builder** shipping apps with Expo, React Native, TypeScript, Supabase, AI workflows, QA, and release operations.\n\nI build the full path from idea to shipped product: mobile UX, backend rules, data modeling, AI-assisted flows, privacy constraints, store readiness, and production support.\n\n**PT-BR:** construo produtos mobile-first de ponta a ponta: app, backend, IA, QA, loja e operacao.\n\n\u003cp\u003e\n  \u003cimg alt=\"Expo\" src=\"https://img.shields.io/badge/Expo-000020?style=for-the-badge\u0026logo=expo\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"React Native\" src=\"https://img.shields.io/badge/React_Native-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\" /\u003e\n  \u003cimg alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Supabase\" src=\"https://img.shields.io/badge/Supabase-3FCF8E?style=for-the-badge\u0026logo=supabase\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"PostgreSQL\" src=\"https://img.shields.io/badge/PostgreSQL-4169E1?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"OpenAI\" src=\"https://img.shields.io/badge/OpenAI-412991?style=for-the-badge\u0026logo=openai\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Sentry\" src=\"https://img.shields.io/badge/Sentry-362D59?style=for-the-badge\u0026logo=sentry\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Docker\" src=\"https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white\" /\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003cimg alt=\"iOS\" src=\"https://img.shields.io/badge/iOS-000000?style=flat-square\u0026logo=apple\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Android\" src=\"https://img.shields.io/badge/Android-3DDC84?style=flat-square\u0026logo=android\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"App Store\" src=\"https://img.shields.io/badge/App_Store-0D96F6?style=flat-square\u0026logo=appstore\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Google Play\" src=\"https://img.shields.io/badge/Google_Play-414141?style=flat-square\u0026logo=googleplay\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"GitHub Actions\" src=\"https://img.shields.io/badge/GitHub_Actions-2088FF?style=flat-square\u0026logo=githubactions\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"EAS Build\" src=\"https://img.shields.io/badge/EAS_Build-000020?style=flat-square\u0026logo=expo\u0026logoColor=white\" /\u003e\n\u003c/p\u003e\n\n---\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" valign=\"top\" width=\"270\"\u003e\n      \u003ca href=\"https://mov-arena.eduardobertin.com.br\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/edubertin/edubertin/main/assets/profile/mov-arena-showcase.jpg\" alt=\"MOV Arena\" width=\"240\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"top\" width=\"270\"\u003e\n      \u003ca href=\"https://pique-esconde.eduardobertin.com.br\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/edubertin/edubertin/main/assets/profile/pique-esconde-showcase.jpg\" alt=\"Pique Esconde\" width=\"240\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd valign=\"top\" width=\"270\"\u003e\n      \u003cstrong\u003eMOV Arena\u003c/strong\u003e\u003cbr /\u003e\n      Premium gamified fitness challenge app for studios.\u003cbr /\u003e\n      \u003ca href=\"https://mov-arena.eduardobertin.com.br\"\u003ePublic site\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd valign=\"top\" width=\"270\"\u003e\n      \u003cstrong\u003ePique Esconde\u003c/strong\u003e\u003cbr /\u003e\n      Physical-digital hide-and-seek game with GPS proximity radar.\u003cbr /\u003e\n      \u003ca href=\"https://pique-esconde.eduardobertin.com.br\"\u003eWeb demo\u003c/a\u003e / \u003ca href=\"https://github.com/edubertin/Pique-esconde\"\u003eRepository\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Selected Work\n\n| Project | What it is | Stack / signal |\n|---|---|---|\n| **MOV Arena** | Private production app for fitness studios, challenges, rankings, avatars, rewards, admin audit, and AI-assisted workout flows. | Expo, React Native, TypeScript, Supabase, RLS, Edge Functions, AI, Sentry, EAS, App Store / Play Store readiness. |\n| **[Pique Esconde](https://github.com/edubertin/Pique-esconde)** | Mobile-first physical game with temporary rooms, realtime lobby, QR invites, GPS proximity radar, and privacy-by-design constraints. | Expo, React Native, Supabase Realtime, Postgres migrations, location permissions, Play Store internal testing, QA docs. |\n| **[rentED](https://github.com/edubertin/project_rentED)** | Property management platform with AI-assisted rental contract ingestion and structured extraction. | FastAPI, Next.js, PostgreSQL, SQLAlchemy, Alembic, Docker, Redis/RQ, OpenAI/LangChain. |\n\n## What I Ship\n\n- Mobile apps with real auth, navigation, storage, permissions, and release paths.\n- Supabase/Postgres backends with RLS, migrations, RPCs, storage, and edge functions.\n- AI workflows integrated into product flows, not isolated demos.\n- QA evidence, release readiness docs, observability, and store-facing materials.\n\n## Current Focus\n\n- Production-grade Expo / React Native apps.\n- Supabase-first product architecture.\n- Applied AI for extraction, generation, and workflow automation.\n- Mobile release discipline across iOS, Android, TestFlight, Google Play, and Sentry.\n\n## Availability\n\nBased in Brazil. Italian citizenship. Open to remote and international opportunities.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedubertin%2Fedubertin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedubertin%2Fedubertin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedubertin%2Fedubertin/lists"}