Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
27eb75b
okay further changes. buy domain add video
ebowwa Jul 20, 2024
1a92cdd
life
ebowwa Jul 21, 2024
3ec7e39
mobile friendly?
ebowwa Jul 21, 2024
457cecf
mobile
ebowwa Jul 21, 2024
fa23bc2
okay
ebowwa Jul 21, 2024
47c6afe
idk lmao
ebowwa Aug 6, 2024
c675303
f
ebowwa Aug 6, 2024
2480e19
k
ebowwa Aug 6, 2024
1888ed9
naming
ebowwa Aug 6, 2024
ebd1851
update
ebowwa Aug 7, 2024
936de99
Add Vercel deployment config with Next.js build and routing settings
ebowwa Apr 28, 2025
c3f5175
Update Vercel config to use root package.json and remove custom routing
ebowwa Apr 28, 2025
e903980
Add catalog section and revamp homepage with modern UI and demo showcase
ebowwa Apr 28, 2025
2d58aff
Add platform-optimized images and update meta tags with new image paths
ebowwa Apr 28, 2025
c929bc0
Add apps page with SleepLoops and CaringMind app showcase
ebowwa Apr 28, 2025
9e3560a
Add waitlist button and comment out App Store link until release
ebowwa Apr 28, 2025
bc1f925
Update resume layout and content with improved video background and w…
ebowwa Apr 28, 2025
a9317c0
Add initial readme file
ebowwa Apr 28, 2025
83b8741
Update job responsibilities to use present tense verbs
ebowwa Apr 29, 2025
777053e
Add responsive mobile menu and improve layout/image handling across c…
ebowwa Apr 29, 2025
a06cdc9
Add "use client" directive to catalog layout for client-side rendering
ebowwa Apr 29, 2025
d5ed419
Refactor catalog navigation into separate component and add metadata
ebowwa Apr 29, 2025
5512f1f
Add breadcrumb navigation to catalog pages for improved site navigation
ebowwa Apr 29, 2025
05c5da8
Replace static demo images with dynamic component rendering in catalo…
ebowwa Apr 29, 2025
bbfd389
Add relative positioning to demo component container in catalog view
ebowwa Apr 29, 2025
3112ebb
Remove hero image from catalog item detail page
ebowwa Apr 29, 2025
0617061
Comment out unused demos and components in catalog.ts
ebowwa Apr 29, 2025
87399d1
Replace html2canvas with native browser screenshot API using getDispl…
ebowwa Apr 29, 2025
9ecf8c7
m
ebowwa Apr 29, 2025
1026e48
Add SleepLoops support page and update service worker caching config
ebowwa May 1, 2025
032db57
Add privacy policy and privacy choices pages for SleepLoops app
ebowwa May 1, 2025
3fc3275
Update privacy policy link path in sleeploops support page
ebowwa May 1, 2025
1956424
Update email to [email protected] and disable text animation demo…
ebowwa May 1, 2025
8cf5c8b
Replace waitlist button with App Store download link for SleepLoops app
ebowwa May 2, 2025
1aabb4b
feat: implement links system with data types and routing structure
ebowwa May 10, 2025
d22f9b7
feat: add conditional link visibility and update landing page content…
ebowwa May 10, 2025
af293ba
style: improve responsive layout and spacing for mobile devices
ebowwa May 10, 2025
2fa9bf3
refactor: simplify main tagline copy to be more concise
ebowwa May 10, 2025
fdc40f2
feat: implement new card component with image carousel and responsive…
ebowwa May 10, 2025
75910cc
feat: add support, privacy policy, and privacy choices pages for Slee…
ebowwa May 14, 2025
689d567
refactor: update branding from SleepLoops to Ebowwa Labs across priva…
ebowwa May 14, 2025
a492788
feat: add CleanShots app with landing page and image assets
ebowwa May 31, 2025
ac22e6e
update: revise app description and subtitle to emphasize structured i…
ebowwa May 31, 2025
c5238e8
fix: update privacy and support link paths in cleanshots page
ebowwa May 31, 2025
f44fd3b
Fix invalid tsconfig include list
ebowwa Jun 3, 2025
304b946
Merge pull request #1 from ebowwa/codex/find-and-fix-a-bug-in-codebase
ebowwa Jun 3, 2025
8269724
fix: rename depreciated frame to deprecated
ebowwa Jun 3, 2025
b0b7f2e
Merge pull request #2 from ebowwa/codex/rename-directory-and-update-i…
ebowwa Jun 3, 2025
a1cb9f4
Add sitemap generator and populate robots
ebowwa Jun 3, 2025
6b8e50a
Merge pull request #3 from ebowwa/codex/explain-codebase-structure-an…
ebowwa Jun 3, 2025
7e8d1a4
fix: improve mobile responsiveness for images
ebowwa Jun 3, 2025
e89beea
Fix card image scaling on mobile
ebowwa Jun 3, 2025
4f1a653
Add shared chat pages
ebowwa Jun 4, 2025
fe30acb
Merge pull request #18 from ebowwa/codex/share-chatgpt-conversations-…
ebowwa Jun 4, 2025
796a2be
style: enhance chat shares UI
ebowwa Jun 4, 2025
5da4ce5
Merge branch 'main' into fwcjjr-codex/share-chatgpt-conversations-on-…
ebowwa Jun 4, 2025
ba70788
Merge pull request #19 from ebowwa/fwcjjr-codex/share-chatgpt-convers…
ebowwa Jun 4, 2025
9692d96
docs: update readme
ebowwa Jun 9, 2025
65c66f1
Merge pull request #22 from ebowwa/codex/update-readme-with-setup-ins…
ebowwa Jun 9, 2025
ae6ca5e
feat: improve sitemap generation
ebowwa Jun 9, 2025
66c4fb4
Merge branch 'main' into codex/modify-sitemap-generation-fallbacks
ebowwa Jun 9, 2025
85c5232
Merge pull request #23 from ebowwa/codex/modify-sitemap-generation-fa…
ebowwa Jun 9, 2025
2f626fe
fix build: add ProgressEvent polyfill
ebowwa Jun 9, 2025
6ff4cc1
Merge pull request #24 from ebowwa/codex/identify-and-fix-progresseve…
ebowwa Jun 9, 2025
043998c
feat: fallback sitemap domain
ebowwa Jun 9, 2025
2047bb1
Merge pull request #25 from ebowwa/codex/modify-sitemap-generation-sc…
ebowwa Jun 9, 2025
fab29d6
Remove unused fs polyfill
ebowwa Jun 9, 2025
c9c71d0
Merge pull request #26 from ebowwa/codex/find-purpose-of-polyfill
ebowwa Jun 9, 2025
d0de469
refactor: guard ProgressEvent polyfill for server
ebowwa Jun 9, 2025
55834b4
Merge pull request #27 from ebowwa/codex/identify-and-handle-progress…
ebowwa Jun 9, 2025
8a7c1ea
style: mark OpenWhisperFlow as coming soon
ebowwa Jun 10, 2025
d218a89
Merge pull request #28 from ebowwa/codex/add-bubbles-to-app-cards
ebowwa Jun 10, 2025
5e18c9c
Comment out thinkers section
ebowwa Jun 10, 2025
a8e4424
Merge pull request #29 from ebowwa/codex/comment-out-code-in-page.tsx
ebowwa Jun 10, 2025
743dcda
Fix dynamic route parameter names
ebowwa Jun 10, 2025
03656ed
Merge pull request #31 from ebowwa/qtx8pj-codex/review-next.js-app-ro…
ebowwa Jun 10, 2025
39b1198
feat: export gltf result type
ebowwa Jun 10, 2025
7c2e5ab
Merge pull request #33 from ebowwa/codex/export-gltfresult-type-from-…
ebowwa Jun 10, 2025
ec5e9e1
Update apps page with new app name and platforms
ebowwa Jun 28, 2025
e439a57
Merge pull request #36 from ebowwa/codex/add-platform-details-to-prod…
ebowwa Jun 28, 2025
272b3d2
Remove ebowwa.xyz card from apps page
ebowwa Jun 28, 2025
e34abc1
Merge pull request #37 from ebowwa/codex/remove-ebowwa.xyz-card-from-…
ebowwa Jun 28, 2025
2319079
Update PrintPeer card with early preview link
ebowwa Jun 28, 2025
c5d1577
Merge pull request #38 from ebowwa/codex/clarify-status-of-printpeer.…
ebowwa Jun 28, 2025
0123052
Refine metadata description and remove share image
ebowwa Jun 28, 2025
e6bef21
Merge pull request #39 from ebowwa/codex/update-metadata-with-social-…
ebowwa Jun 28, 2025
f63a1e2
Update Speakd marketing copy
ebowwa Jun 28, 2025
9881a64
Merge pull request #40 from ebowwa/codex/revise-marketing-message-for…
ebowwa Jun 28, 2025
9e3c882
Add Discord invite banner
ebowwa Jun 28, 2025
45f9c7c
Merge pull request #42 from ebowwa/codex/add-discord-invitation-link2…
ebowwa Jun 28, 2025
5fdde99
Replace Simulation Guide references with Ebowwa Labs
ebowwa Jun 28, 2025
501b7ea
Merge pull request #44 from ebowwa/codex/replace-simulation-guide-for…
ebowwa Jun 28, 2025
a2943ab
Add internationalization support and update metadata
ebowwa Jul 2, 2025
8d62a56
Enhance Discord Invite Banner with new design and animations
ebowwa Jul 2, 2025
f5d96da
Implement interactive features in Discord Invite Banner
ebowwa Jul 2, 2025
580d0fd
Add Google Sheets integration and enhance links management
ebowwa Jul 2, 2025
1f72a43
Enhance Google Sheets API integration with improved error handling an…
ebowwa Jul 2, 2025
49daf1a
Enhance Google Sheets API integration with improved authentication an…
ebowwa Jul 2, 2025
5115a6b
Update Google Sheets API integration and environment configuration
ebowwa Jul 2, 2025
5a6eada
Reorganize repository structure: profile README at root, website in s…
ebowwa Jul 24, 2025
4d1389f
Add Vercel configuration for subdirectory deployment
ebowwa Jul 24, 2025
700fb12
Rename readme.md to README.md for GitHub profile recognition
ebowwa Jul 24, 2025
565a2b2
Restore GitHub profile README at repository root
ebowwa Jul 24, 2025
6ab3be0
Add ebowwa_v3 project in dedicated subdirectory
ebowwa Jul 24, 2025
f844f84
Add Flask first website in dedicated subdirectory
ebowwa Jul 24, 2025
a1e506b
Clean up root directory by removing Next.js files
ebowwa Jul 24, 2025
51380f0
Remove deleted README.md
ebowwa Jul 24, 2025
7f12fb2
feat: add comprehensive GitHub stats section
ebowwa Aug 4, 2025
b1e310e
fix: replace WakaTime with working stats widgets
ebowwa Aug 4, 2025
5e251aa
Update README.md
ebowwa Aug 4, 2025
bbed59e
Update README.md
ebowwa Aug 4, 2025
34f109f
Create Ebowwa-ascii-art-000.txt
ebowwa Aug 4, 2025
d321ce3
Update README.md
ebowwa Aug 4, 2025
3e3ab2a
Add files via upload
ebowwa Aug 4, 2025
25763a7
Update README.md
ebowwa Aug 6, 2025
6c00fce
Add architecture philosophy and current work section to README
ebowwa Aug 16, 2025
1a86f34
Update development machine setup description to better reflect its pu…
ebowwa Aug 16, 2025
ee0cf24
Update setup script description with scenario-specific branches
ebowwa Aug 16, 2025
a7cb598
Add structured-prompts PyPI package to automation philosophy
ebowwa Aug 16, 2025
b99f3ba
Remove Current Deep Dives section
ebowwa Aug 16, 2025
f03511b
Streamline README - remove redundant sections and whimsical language
ebowwa Aug 16, 2025
23548b5
Move How I Build section to top and remove duplicate
ebowwa Aug 16, 2025
8e64b1e
Move EBOWWA LABS ASCII art above text content
ebowwa Aug 16, 2025
681a6e3
Add App Store published apps to GitHub profile
ebowwa Aug 16, 2025
d5a7f6b
Fix SleepLoops description - it's a sleep cycle optimizer, not a soun…
ebowwa Aug 16, 2025
ded99e0
Clarify as Apple App Store
ebowwa Aug 16, 2025
67c9f1e
Remove redundant sections
ebowwa Aug 16, 2025
41cf230
Add PyPI packages and reorganize README sections
ebowwa Aug 16, 2025
bd5677e
Add X/Twitter profile to Let's Connect section
ebowwa Aug 16, 2025
1f5d015
Add version numbers to App Store apps
ebowwa Aug 16, 2025
fe2dfd8
Fix SleepLoops version to v1.0.0 (actual App Store version)
ebowwa Aug 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .env.example

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ src/app/.DS_Store
yarn-error.log
.DS_Store
src/components/three/studio/.DS_Store
.env.local
126 changes: 126 additions & 0 deletions Ebowwa-ascii-art-000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
// 3D Block Style
███████╗██████╗ ██████╗ ██╗ ██╗██╗ ██╗ █████╗
██╔════╝██╔══██╗██╔═══██╗██║ ██║██║ ██║██╔══██╗
█████╗ ██████╔╝██║ ██║██║ █╗ ██║██║ █╗ ██║███████║
██╔══╝ ██╔══██╗██║ ██║██║███╗██║██║███╗██║██╔══██║
███████╗██████╔╝╚██████╔╝╚███╔███╔╝╚███╔███╔╝██║ ██║
╚══════╝╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚══╝╚══╝ ╚═╝ ╚═╝

// Slant Style
___ __
_/_ )_ _/_)_ _ _ _ _ _ __ _
(/_/_)(_)_(_)(_(_(_(_(_(_(_(_(_(_(_(_(_(_(_(_(_(_(
(/

// Shadow Style
██████╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗ █████╗
██╔════╝ ██╔══██╗██╔═══██╗██║ ██║██║ ██║██╔══██╗
█████╗ ██████╔╝██║ ██║██║ █╗ ██║██║ █╗ ██║███████║
██╔══╝ ██╔══██╗██║ ██║██║███╗██║██║███╗██║██╔══██║
███████╗ ██████╔╝╚██████╔╝╚███╔███╔╝╚███╔███╔╝██║ ██║
╚══════╝ ╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚══╝╚══╝ ╚═╝ ╚═╝

// Neon Style with Border
┌─────────────────────────────────────────────────────┐
│ ▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄ ▄ ▄ ▄ ▄ ▄▄▄▄ │
│ █ █ █ █ █ █ █ █ █ █ █ │
│ ████ ████ █ █ █ █ █ █ █ █ █████ │
│ █ █ █ █ █ ██ ██ ██ ██ █ █ │
│ ▀▄▄▄▄ ▀▄▄▄▀ ▀▄▄▄▄▀ ▀ ▀ ▀ ▀ ▀ ▀ │
└─────────────────────────────────────────────────────┘

// Isometric/3D Effect
__________________________
/\ \
/ \ ___ _ /
/ \ / _ \| |__ _____ /
/ /\ \| __/| '_ \ / _ \ \/
/ /__\ \ |__| |_) | (_) \ \
/__/ \__\___|_.__/ \___/ \_\
\ \ / /\ \ /\ / / _` | /
\ \ / / \ V V / (_| | /
\ \/ / \_/\_/ \__,_| /
\ /___________________/
\ /
\/

// Glitch/Tech Style
▓█████ ▄▄▄▄ ▒█████ █ █░ █ █░ ▄▄▄
▓█ ▀▓█████▄ ▒██▒ ██▒▓█░ █ ░█░▓█░ █ ░█░▒████▄
▒███ ▒██▒ ▄██▒██░ ██▒▒█░ █ ░█ ▒█░ █ ░█ ▒██ ▀█▄
▒▓█ ▄▒██░█▀ ▒██ ██░░█░ █ ░█ ░█░ █ ░█ ░██▄▄▄▄██
░▒████░▓█ ▀█▓░ ████▓▒░░░██▒██▓ ░░██▒██▓ ▓█ ▓██▒
░░ ▒░ ░▒▓███▀▒░ ▒░▒░▒░ ░ ▓░▒ ▒ ░ ▓░▒ ▒ ▒▒ ▓▒█░
░ ░ ▒░▒ ░ ░ ▒ ▒░ ▒ ░ ░ ▒ ░ ░ ▒ ▒▒ ░
░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒
░ ░ ░ ░ ░ ░ ░ ░ ░

// Circuit Board Style
╔═══╤═══╤═══╤═══╤═══╤═══╗
║ e │ b │ o │ w │ w │ a ║
╟───┼───┼───┼───┼───┼───╢
║ ● │ ● │ ● │ ● │ ● │ ● ║
╟───┴───┴───┴───┴───┴───╢
║ ████████████████████ ║
╚═══════════════════════╝

// Retro Computer Terminal
┌──────────────────────────────┐
│ C:\> ebowwa.exe │
│ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓ ▓ ▓ ▓ ▓▓│
│ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ │
│ ▓▓▓ ▓▓▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓▓│
│ ▓ ▓ ▓ ▓ ▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓ │
│ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓ ▓ ▓ ▓ ▓ │
│ Loading... │
│ ████████████████░░░░ 80% │
└──────────────────────────────┘

// Wave Style
∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿
≈ ╔═╗╔╗ ╔═╗╦ ╦╦ ╦╔═╗ ≈
≈ ║╣ ╠╩╗║ ║║║║║║║╠═╣ ≈
≈ ╚═╝╚═╝╚═╝╚╩╝╚╩╝╩ ╩ ≈
∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿

// Minimalist Modern
╭─────────────────────╮
│ e b o w w a │
│ ─ ─ ─ ─ ─ ─ │
│ building cool stuff │
╰─────────────────────╯

// Matrix Rain Style
╔═══════════════════════════════╗
║ 01100101 01100010 01101111 ║
║ ▓▓▓▓▓▓▓▓ ░░░░░░░░ ▓▓▓▓▓▓▓▓ ║
║ ░ █▀▀ █▀▄ █▀█ █ █ █ █ ▄▀█ ░ ║
║ ▓ ██▄ █▄█ █▄█ ▀▄▀▄▀ █ █▀█ ▓ ║
║ 01110111 01110111 01100001 ║
╚═══════════════════════════════╝

// Graffiti Style
╔══╗╔══╗ ╔══╗╔╗╔╗╔╗╔╗╔══╗
║╔═╝║╔╗║ ║╔╗║║║║║║║║║║╔╗║
║╚═╗║╚╝╚╗║║║║║║║║║║║║║╚╝║
║╔═╝║╔═╗║║║║║║╚╝╚╝╚╝║║╔╗║
║╚═╗║╚═╝║║╚╝║║╚╗╔╗╔╗║║║║║
╚══╝╚═══╝╚══╝╚═╝╚╝╚╝╚╝╚╝

// Cyber/Hacker Style
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ [root@machine ~]# ebowwa ┃
┃ ▀▀█▀▀ █▀▀▄ ▄▀▀▄ █ █ █ ▄▀┃
┃ █ █▀▀▄ █ █ █ █ █ █ █ █ ┃
┃ █ █▄▄▀ ▀▄▄▀ ▀▄▀▄▀ ▀▄▀ ▀▄┃
┃ ACCESS GRANTED ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

// Fire Style
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
░██████░██████░░████░░██░░██░██░░██░░████░
░██░░░░░██░░██░██░░██░██░░██░██░░██░██░░██
░████░░░██████░██░░██░██░░██░██░░██░██████
░██░░░░░██░░██░██░░██░██████░██████░██░░██
░██████░██████░░████░░███░███░██░██░██░░██
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
141 changes: 141 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Hi 👋, this is ..

<div align="center">


`🚀 Mobile` • `🌐 Web` • `🔧 Embedded` • `🔒 Security` • `🤖 AI/ML`

```
███████╗██████╗ ██████╗ ██╗ ██╗██╗ ██╗ █████╗ ██╗ █████╗ ██████╗ ███████╗
██╔════╝██╔══██╗██╔═══██╗██║ ██║██║ ██║██╔══██╗ ██║ ██╔══██╗██╔══██╗██╔════╝
█████╗ ██████╔╝██║ ██║██║ █╗ ██║██║ █╗ ██║███████║ ██║ ███████║██████╔╝███████╗
██╔══╝ ██╔══██╗██║ ██║██║███╗██║██║███╗██║██╔══██║ ██║ ██╔══██║██╔══██╗╚════██║
███████╗██████╔╝╚██████╔╝╚███╔███╔╝╚███╔███╔╝██║ ██║ ███████╗██║ ██║██████╔╝███████║
╚══════╝╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝

```

**Building at the intersection of mobile, web, and embedded systems**

[![GitHub followers](https://img.shields.io/github/followers/ebowwa?label=Follow&style=social)](https://github.com/ebowwa)
[![Personal Site](https://img.shields.io/badge/🌐_ebowwa.xyz-4285F4?style=flat-square)](https://ebowwa.xyz)
[![App Store](https://img.shields.io/badge/📱_App_Store-Published_Apps-0D96F6?style=flat-square)](https://apps.apple.com/developer/id1745844476)
[![Hugging Face](https://img.shields.io/badge/🤗_Hugging_Face-FFD21E?style=flat-square)](https://huggingface.co/ebowwa)
[![Ollama](https://img.shields.io/badge/🦙_Ollama-000000?style=flat-square)](https://ollama.com/ebowwa)

</div>

## 🏗️ How I Build

Nodes spanning from MacBook to Linux machines to the glasses recording it all. Build a universal proxy layer ([ai-proxy-core](https://github.com/ebowwa/ai-proxy-core)) that talks to everything - why call 10 different APIs when you can have one interface to rule them all.

**Modular everything** - from [Next.js + Vite monorepo experiments](https://github.com/ebowwa/starstride-001/issues/7) where each framework does what it does best, to finding [the cheapest GPU compute](https://github.com/ebowwa/ebowwa/issues/48) by orchestrating spot instances and free tiers.

### Development Philosophy
- **Ship first, optimize later** - But make it modular so you can swap parts without breaking everything
- **Automate the boring stuff** - From my [development machine setup script](https://github.com/ebowwa/new-development-machine-setup) with [scenario-specific branches](https://github.com/ebowwa/new-development-machine-setup/issues/1) to publishing tools like [structured-prompts](https://pypi.org/project/structured-prompts/) on PyPI
- **Find arbitrage everywhere** - Whether it's [discovering that 65% of Denmark uses iOS](https://github.com/ebowwa/ebowwa/issues/47) or rotating through free GPU tiers

## 📱 Shipped to Apple App Store

### [CaringMind](https://apps.apple.com/app/id6749468165) (v0.0.0)
AI companion app providing advocacy, augmentation, and enhancement. Your personal AI that actually cares.

### [CleanShots – Remove Photo Info](https://apps.apple.com/app/id6745844477) (v1.0.8)
Privacy-focused photo metadata removal tool. Because your photos shouldn't tell everyone where you've been.

### [SleepLoops](https://apps.apple.com/app/id6745059180) (v1.0.0)
90-minute sleep cycle optimizer. Wake up sharp by harnessing your natural sleep rhythms.

## 📦 Published on PyPI

### [ai-proxy-core](https://pypi.org/project/ai-proxy-core/) (v0.3.9)
Minimal, reusable AI service handlers for Gemini and other LLMs. The universal proxy layer mentioned above.

### [structured-prompts](https://pypi.org/project/structured-prompts/) (v0.1.1)
A modular package for managing structured prompts with any LLM API. Makes LLM interactions predictable and testable.

## 🛠️ Tech Stack

<div align="center">

### Core Languages
![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white)
![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)
![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
![C++](https://img.shields.io/badge/C++-00599C?style=for-the-badge&logo=c%2B%2B&logoColor=white)
![Swift](https://img.shields.io/badge/Swift-FA7343?style=for-the-badge&logo=swift&logoColor=white)

### Mobile Development
![Expo](https://img.shields.io/badge/Expo-000020?style=for-the-badge&logo=expo&logoColor=white)
![React Native](https://img.shields.io/badge/React_Native-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)
![iOS](https://img.shields.io/badge/iOS-000000?style=for-the-badge&logo=ios&logoColor=white)

### Web Technologies
![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)
![Next.js](https://img.shields.io/badge/Next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white)
![Vite](https://img.shields.io/badge/Vite-646CFF?style=for-the-badge&logo=vite&logoColor=white)

</div>


## 📊 GitHub Analytics

<div align="center">

![GitHub Stats](https://github-readme-stats.vercel.app/api?username=ebowwa&show_icons=true&theme=radical&hide_border=true&include_all_commits=true&count_private=true)

![GitHub Streak](https://github-readme-streak-stats.herokuapp.com/?user=ebowwa&theme=radical&hide_border=true)

![Top Languages](https://github-readme-stats.vercel.app/api/top-langs/?username=ebowwa&layout=compact&theme=radical&hide_border=true&langs_count=8)

</div>

### 📈 Contribution Activity

![GitHub Activity Graph](https://github-readme-activity-graph.vercel.app/graph?username=ebowwa&theme=redical&hide_border=true&area=true)

### 🏆 Achievements

<div align="center">

![GitHub Trophies](https://github-profile-trophy.vercel.app/?username=ebowwa&theme=radical&no-frame=true&no-bg=false&margin-w=4&column=7)

</div>

### 📊 Additional Stats

<div align="center">

<!-- WakaTime stats - configure at https://wakatime.com -->
<!-- ![WakaTime](https://github-readme-stats.vercel.app/api/wakatime?username=ebowwa&theme=radical&hide_border=true&layout=compact) -->

![Profile Details](https://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=ebowwa&theme=radical)

![Commit Time](https://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=ebowwa&theme=radical)

</div>

## 🤝 Let's Connect

<div align="center">

| Platform | Link | Best For |
|----------|------|----------|
| 🌐 **Portfolio** | [ebowwa.xyz](https://ebowwa.xyz) | Projects & demos |
| 🐦 **X/Twitter** | [@innitEBOWWA](https://x.com/innitEBOWWA) | Updates & thoughts |
| 🤗 **Hugging Face** | [huggingface.co/ebowwa](https://huggingface.co/ebowwa) | AI/ML models |
| 🦙 **Ollama** | [ollama.com/ebowwa](https://ollama.com/ebowwa) | LLM experiments |
| 💬 **GitHub** | [@ebowwa](https://github.com/ebowwa) | Open source collabs |

</div>

---

<div align="center">

*"Ship fast, learn faster, make complex systems accessible"*

<img src="https://komarev.com/ghpvc/?username=ebowwa&label=Profile%20views&color=0e75b6&style=flat" alt="Profile views" />

</div>
76 changes: 76 additions & 0 deletions ebowwa-first-website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Personal Site v1

My first personal website built with Flask and Python. Originally developed on Replit and later migrated to GitHub.

## Overview

This is a full-featured Flask web application that served as my introduction to web development. It includes user authentication, a blog system, messaging functionality, and various multimedia features.

## Features

- **User Authentication**: Login/registration system with admin and regular user roles
- **Blog System**: Create, read, update, and delete blog posts
- **Message System**: Contact form with message storage and admin dashboard
- **Multimedia Content**: Video gallery and dynamic content rendering
- **Security**: CSRF protection, password hashing, and secure session management

## Tech Stack

- **Backend**: Flask (Python)
- **Database**: SQLite with SQLAlchemy ORM
- **Authentication**: Flask-Login
- **Forms**: Flask-WTF with CSRF protection
- **Frontend**: HTML templates with Jinja2
- **Additional**: QR code generation, OpenAI integration

## Project Structure

```
├── src/
│ ├── main.py # Main Flask application
│ ├── models.py # Database models
│ ├── forms.py # Form definitions
│ ├── blog.py # Blog functionality
│ ├── database.py # Database configuration
│ └── qr.py # QR code utilities
├── templates/ # HTML templates
├── static/ # Static assets (CSS, JS, images)
├── requirements.txt # Python dependencies
└── error.tpl # Error template (see note below)
```

## Installation

1. Clone the repository
2. Install dependencies: `pip install -r requirements.txt`
3. Run the application: `python src/main.py`
4. Access at `http://localhost:3000`

## Notes

### About error.tpl

The `error.tpl` file is a standalone HTML error page from the original Replit environment. It's not integrated with the Flask application because:

1. **Wrong location**: Flask expects templates in the `templates/` directory, not the root
2. **Wrong extension**: Flask typically uses `.html` files with Jinja2, not `.tpl`
3. **Duplicate functionality**: The app already has `templates/error.html` for error handling
4. **Missing integration**: The Flask error handler at line 174-176 in `main.py` uses `error.html`, not this file

This file appears to be a remnant from Replit's template system that wasn't properly migrated. The actual error handling is done through Flask's error handler which renders `templates/error.html`.

## Development History

This project represents my journey into web development:
- Started on Replit as a learning project
- Explored various web technologies and Flask features
- Migrated to GitHub after outgrowing Replit's limits
- Served as a foundation for understanding full-stack development

## Security Note

This was a learning project. The secret key and some configurations are not production-ready. If forking this project, please update security settings appropriately.

## License

Personal project - feel free to explore and learn from the code!
Loading