A vibrant neon-dark themed notes app built with React, TypeScript, and Capacitor. Ready for Android deployment via Google Play Store.
- Full CRUD Operations: Create, Read, Update, and Delete notes
- Neon-Dark UI: Beautiful gradient themes with 6 color options
- Offline Support: Service Worker enables offline functionality
- LocalStorage Persistence: Notes are saved locally on your device
- PWA Ready: Web App Manifest and icons included
- Mobile Optimized:
- Safe-area insets for notched devices
- 48px minimum touch targets
- Gesture-friendly navigation
- No tap delays or highlights
- Responsive design
npm install
npm run devnpm run buildnpx cap add androidnpm run build
npx cap syncnpx cap open android✅ Web App Manifest - Configured with name, icons, theme colors, and standalone display mode
✅ Icons - 192x192 and 512x512 PNG placeholders (replace with your branded icons)
✅ Service Worker - Cache-first strategy for offline support
✅ Safe Areas - Proper inset handling for notched devices and gesture navigation
✅ Touch Targets - All interactive elements meet 48x48px minimum size
✅ Mobile CSS - Tap highlights disabled, touch-action optimized, no overscroll
✅ Capacitor Config - App ID and web directory configured
Edit capacitor.config.json:
{
"appId": "com.yourcompany.vibrantnotes",
"appName": "Your App Name"
}Replace the placeholder icons in /public/:
icon-192.png- 192x192 PNGicon-512.png- 512x512 PNG
For Android adaptive icons, you'll need to create maskable variants.
Update theme colors in:
/public/manifest.json-background_colorandtheme_color/capacitor.config.json-backgroundColorin splash screen config/index.html-theme-colormeta tag
- React 18 - UI framework
- TypeScript - Type safety
- Tailwind CSS - Styling with mobile-first utilities
- Lucide React - Icon system
- Capacitor - Native mobile wrapper
- Vite - Build tool
src/
├── components/ # React components
│ ├── NoteCard.tsx
│ └── NoteEditor.tsx
├── hooks/ # Custom hooks
│ └── useNotes.ts
├── types/ # TypeScript types
│ └── note.ts
├── utils/ # Helper functions
│ └── colors.ts
├── App.tsx # Main app component
└── main.tsx # Entry point
public/
├── manifest.json # PWA manifest
├── sw.js # Service Worker
├── icon-192.png # App icon
└── icon-512.png # App icon
- Build the web assets:
npm run build - Sync to Android:
npx cap sync - Open Android Studio:
npx cap open android - In Android Studio:
- Build → Generate Signed Bundle/APK
- Follow the wizard to create your keystore and sign the app
- Choose "Android App Bundle" for Play Store submission
MIT