Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for phishshield-ai-devpost
About Real-time AI-powered detection system for deepfake videos and voice cloning attacks. Protects users from AI-generated fraud in video calls and online communications. Includes live detection dashboard, alert history, and demo mode for testing
PhishShield AI β Modern Full-Stack Web App Template Production-ready full-stack starter powered by React 19 + Tailwind CSS 4 + Express + tRPC + Drizzle ORM + Manus OAuth.
Build scalable, secure, AI-ready web applications faster with authentication, database integration, file storage, voice AI, image generation, maps, and beautiful frontend workflows already configured.
π Live Demo Website: https://phishai-5a778b5d.manus.space
β¨ Features β‘ Full Type-Safe Stack React 19 + Vite Tailwind CSS 4 Express 4 Backend tRPC 11 APIs Drizzle ORM MySQL / TiDB Database Manus OAuth Authentication Zod Validation React Query Framer Motion Animations Vitest Testing π Authentication Included Manus OAuth fully configured Secure session cookies protectedProcedure support Automatic ctx.user injection Admin/User role support Logout handling included π§ AI & LLM Ready Built-in integrations for:
AI Chat Structured JSON Output Markdown Streaming Voice Transcription Image Generation Notifications No external API setup required.
βοΈ File Storage Ready Secure cloud uploads /manus-storage/ support Optimized production workflow Fast file serving Media-safe deployment structure πΊοΈ Google Maps Integration Supports:
Places API Directions API Drawing Tools Street View Heatmaps Geocoding Full Google Maps SDK Features No API key setup needed.
ποΈ Tech Stack Technology Purpose React 19 Frontend UI Tailwind CSS 4 Styling Express 4 Backend tRPC 11 Type-safe APIs Drizzle ORM Database ORM MySQL / TiDB Database Manus OAuth Authentication React Query Data Fetching Zod Validation Framer Motion Animations Vitest Testing π Project Structure client/ src/ pages/ components/ hooks/ contexts/ lib/ App.tsx
server/ db.ts routers.ts _core/
drizzle/ schema.ts
shared/ storage/ βοΈ Quick Start 1οΈβ£ Install Dependencies pnpm install 2οΈβ£ Start Development Server pnpm dev 3οΈβ£ Push Database Schema pnpm db:push 4οΈβ£ Run Tests pnpm test π₯ Development Workflow Step 1 β Update Database Schema Edit:
drizzle/schema.ts Then run:
pnpm db:push Step 2 β Add Database Helpers Edit:
server/db.ts Step 3 β Create tRPC Procedures Edit:
server/routers.ts Example:
todo: router({ list: protectedProcedure.query(({ ctx }) => { return db.getUserTodos(ctx.user.id); }), }), Step 4 β Connect Frontend Use:
trpc.feature.useQuery() trpc.feature.useMutation() Step 5 β Write Tests Create tests inside:
server/*.test.ts Run:
pnpm test π¨ Frontend Guidelines Design Principles Modern UI Responsive layouts Mobile-first approach Accessible design Smooth animations Reusable components Recommended Components import { Button } from "@/components/ui/button" import { Card } from "@/components/ui/card" Navigation Strategy Use DashboardLayout For: β Admin Panels β Analytics Dashboards β Productivity Apps
Avoid DashboardLayout For: β Blogs β E-commerce Stores β Public Landing Pages
π Authentication Flow
User Login
β
Manus OAuth
β
Session Cookie
β
ctx.user Available
β
Protected Procedures
βοΈ File Upload Workflow
Upload File
manus-upload-file --webdev image.png
Use In Frontend
π§ AI Integration Example
import { invokeLLM } from "./server/_core/llm";
const response = await invokeLLM({ messages: [ { role: "user", content: "Hello AI" } ] }); π€ Voice Transcription Example import { transcribeAudio } from "./server/_core/voiceTranscription";
const result = await transcribeAudio({ audioUrl: "audio.mp3" }); πΌοΈ Image Generation Example import { generateImage } from "./server/_core/imageGeneration";
const image = await generateImage({ prompt: "Cyber security dashboard" }); π§ͺ Testing Example test:
server/auth.logout.test.ts Run tests:
pnpm test π¦ Production Build Build App pnpm build Start Production pnpm start β οΈ Common Mistakes β Infinite Query Loops Bad:
useQuery({ date: new Date() }) Good:
const [date] = useState(() => new Date()) β Storing File Bytes In Database Never store files directly in database columns.
Use cloud storage and save only:
File URL Storage Key Metadata β Nested Anchor Tags Bad:
Link Good:
Link π Best Practices β Use optimistic updates β Show loading states β Use semantic Tailwind colors β Keep routers modular β Use reusable components β Add smooth micro-interactions
π‘οΈ Security Features OAuth Authentication Secure Cookies Role-based Access Control Protected Backend Procedures Environment Variable Isolation π Built-In Features Authentication Database ORM AI APIs File Storage Voice AI Image Generation Maps Integration Notification System Dashboard Layouts Theme Support Testing Framework π¨βπ» Recommended Workflow Schema β DB Helper β tRPC Router β Frontend β Testing π Environment Variables Preconfigured system environment variables:
DATABASE_URL JWT_SECRET VITE_APP_ID OAUTH_SERVER_URL BUILT_IN_FORGE_API_KEY No manual .env setup required.
π Why This Template? β Production-ready architecture β Full-stack type safety β AI-ready infrastructure β Fast development workflow β Secure authentication system β Beautiful scalable UI architecture
β€οΈ Built For Developers Perfect for building:
SaaS Platforms AI Apps Admin Panels Productivity Tools Internal Dashboards Secure Web Applications π License MIT License
β Final Note PhishShield AI is more than a starter template β it is a complete modern full-stack foundation designed for rapid development, scalability, security, and exceptional user experiences.
Build faster. Scale smarter. Ship confidently. π
Built With
- 1.6%
- 5.5%
- 92.7%
- css
- html
- javascript
- typescript


Log in or sign up for Devpost to join the conversation.