Capture with your camera
Point your phone at a visiting card or pamphlet and let Cedar-Create handle the rest.
As a Data Engineer, I need to create a data model for storing contact details including name, company, email, phone, and address, so that contact information can be efficiently stored and retrieved.
As a Data Engineer, I need to create a data model for storing categories to organize contacts, so that users can categorize their contacts efficiently.
As a Full Stack Developer, I need to implement authentication and role-based access control, so that only authorized users can access the app's features according to their roles.
As a frontend developer, implement the Navbar section for the Landing page. This section provides a responsive navigation bar with Cedar-Create branding and links to project pages (Landing, Camera, Details, Contacts). The Navbar should feature an animated logo path draw using motion/react, with navigation links fading in staggered. On mobile, the hamburger icon should animate to an X when the menu opens, and the menu should slide down with spring damping. Ensure the Navbar maintains a fixed height (64px desktop, 56px mobile) to prevent layout shift. Acceptance criteria: The Navbar must render exactly once on the Landing page, providing links to all project pages. The design must include the animated logo and responsive navigation toggle. The Navbar should not introduce any new authorization scope, as it is shared across all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the LandingUserPersonas section to showcase Cedar-Create's relevance to three key user personas: Professional Networker, Salesperson, and Event Organizer. Each persona should be presented as a card with a name, use case, and benefit statement. Implement a tabbed interface using motion/react for animated transitions between personas. Ensure the layout adapts to three columns on desktop and a single column on mobile. Use accent colors for visual variety and ensure the initial load defaults to the Professional Networker persona. Acceptance criteria: The LandingUserPersonas section must render exactly once on the Landing page. The tabbed interface must allow users to switch between personas with animated transitions. The design must adhere to the specified layout and color scheme. No backend integration is required as this is a static presentation. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the LandingSocialProof section to build user confidence through key reliability and privacy messaging. Display four badges representing processing speed, offline capability, privacy assurance, and locale focus. Use motion/react to animate badges on scroll into view. Ensure the layout is horizontal on desktop and vertical on mobile. Acceptance criteria: The LandingSocialProof section must render exactly once on the Landing page. Each badge must animate in sequence with the specified animations. The design must maintain a muted, trustworthy aesthetic. No backend integration is required as this is a static presentation. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the LandingCTA section to convert visitors into app users with a final persuasive call-to-action. Include a prominent headline and a 'Get Started' button that routes to the Camera page. Implement hover animations for the button using motion/react. Ensure the button expands to full width on mobile and maintains a fixed width on desktop. Acceptance criteria: The LandingCTA section must render exactly once on the Landing page. The 'Get Started' button must route to the Camera page and exhibit the specified hover animations. The design must adhere to the specified layout and interaction patterns. No backend integration is required as this is a static presentation. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the Footer section to provide a consistent project-wide branding and navigation experience. Include links to project pages (Landing, Camera, Details, Contacts), legal/privacy content, and contact information. Ensure the layout is responsive with a single column on mobile and a multi-column grid on desktop. Acceptance criteria: The Footer section must render exactly once on the Landing page. All specified links and content must be present and functional. The design must adhere to the specified layout and interaction patterns. No backend integration is required as this is a static presentation. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the ImagePreview section to display the captured visiting card image and extraction timestamp. This section should be responsive, showing a sticky sidebar on desktop and a horizontal strip on mobile. Include a 'Retake' button that navigates to the Camera page. Acceptance criteria: The Details page must render the ImagePreview component exactly once. The captured image and extraction timestamp must be displayed as per the design. The 'Retake' button must navigate to /Camera. The design must match the provided CSS, ensuring responsive behavior. Access is shared among all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
Implement and verify the project capability `feature.contact.sharing` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks.
Implement and verify the project capability `feature.offline.access` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks.
As a Backend Developer, I need to develop an API to manage contact details, so that the frontend can interact with the backend to create, read, update, and delete contacts.
As a Backend Developer, I need to develop an API for image processing and text extraction, so that the app can extract contact details from images of visiting cards.
As a frontend developer, implement the LandingHero section for the Landing page. This section introduces Cedar-Create's value proposition with a bold headline, subheading, and a looping 2D animation illustrating the core workflow. The animation should run continuously every 10 seconds, transforming a camera icon capturing a visiting card into a digital contact card. The 'Get Started' CTA button should be prominently displayed. Ensure the section is responsive, stacking elements vertically on mobile. Acceptance criteria: The LandingHero must render exactly once on the Landing page, with the animation and CTA button functioning as described. The design must adhere to the specified layout and animation sequence. The section should not introduce any new authorization scope, as it is shared across all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the LandingFeatures section for the Landing page. This section showcases Cedar-Create's core capabilities in a four-column grid format. Each feature card should include an icon, title, and description, with subtle hover effects on desktop. The grid should collapse to a single-column stack on mobile. Use motion/react to animate cards entering the viewport with a staggered effect. Acceptance criteria: The LandingFeatures must render exactly once on the Landing page, with all feature cards displaying correctly and animations functioning as described. The design must maintain the specified grid layout and hover effects. The section should not introduce any new authorization scope, as it is shared across all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a Data Engineer, establish a data retention policy for contact details to ensure compliance with privacy standards. Define rules for data archiving and deletion. Acceptance criteria: The policy must specify retention periods and automatic deletion processes for outdated contacts.
As a frontend developer, implement the CameraExtractedDetails section to display and allow editing of extracted contact fields in an editable form layout. This section should manage the 'details_workflow' state to track edit modes and handle transitions between capture, processing, and details stages. The section should initialize the camera using the `navigator.mediaDevices.getUserMedia` API, handle photo capture, and simulate a 5-second processing delay before displaying extracted details. Users should be able to toggle edit mode for individual fields or all fields at once, with changes saved locally. The section should include primary action buttons for 'Save Changes' and 'Save & Continue', and a secondary 'Retake Photo' button to restart the capture process. Ensure the layout is responsive, stacking fields vertically on mobile and using a 2-column layout on desktop. Acceptance criteria: 1) The CameraExtractedDetails component must render exactly once on the Camera page. 2) The component must display extracted contact fields with edit capabilities as described. 3) The design structure must match the provided CSS, maintaining responsiveness across devices. 4) The section must simulate backend processing and manage state transitions accurately. 5) Access to this section is shared among Event Organizer, Professional Networker, and Salesperson personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the DetailsEditor section to manage the editing and saving of extracted contact details. This section should include text input fields for contact details, real-time validation, and action buttons for saving, discarding, and canceling changes. Acceptance criteria: The Details page must render the DetailsEditor component exactly once. All form fields must be pre-populated and editable, with real-time validation and error messages. The 'Save Contact' button must navigate to /Contacts with the newly_saved_id query param. The 'Discard Changes' button must show a confirmation modal. The 'Cancel' button must navigate to /Camera. The design must match the provided CSS. Access is shared among all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a Backend Developer, develop an algorithm for processing images to accurately extract contact details from visiting cards and pamphlets. Ensure the algorithm can handle various card designs and lighting conditions. Acceptance criteria: The algorithm must process images within 5 seconds and extract details with a minimum accuracy of 90%.
As a Backend Developer, implement an API to support searching contacts by name, company, or other details. Ensure the API is optimized for quick search results. Acceptance criteria: The API must return search results within 2 seconds and support partial matches.
As a Full Stack Developer, implement the feature to share contact details via email or messaging apps. Ensure the feature supports multiple sharing options and formats. Acceptance criteria: Users must be able to share contacts with a single action, and the shared format must be compatible with common email and messaging apps.
As a Full Stack Developer, implement offline access for saved contacts to ensure users can view and manage contacts without internet connectivity. Acceptance criteria: Users must be able to access and edit contacts offline, with changes syncing when connectivity is restored.
As a frontend developer, implement the DetailsHeader section to display the 'Review & Edit Details' headline and extraction confirmation status. This section should use the motion library for animations, showing the headline and a badge with the extraction date on desktop. Ensure the section is responsive, hiding the badge on mobile. Acceptance criteria: The Details page must render the DetailsHeader component exactly once. The headline 'Review & Edit Details' and extraction date badge must be visible on desktop, with the badge hidden on mobile. The design must match the provided CSS, including animations. No backend integration is required for this static content. Access is shared among all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a QA Engineer, conduct end-to-end testing to ensure all user flows function correctly from image capture to contact sharing. Acceptance criteria: All critical user flows must pass without errors, and performance benchmarks must be met.
As a frontend developer, implement the GroupsPanel section for the Contacts page. This section provides a left sidebar navigation for organizing contacts into filterable groups such as 'All Contacts', 'Textile Industry', 'Technology', and 'Business Partners'. It displays group counts and highlights the selected group. The sidebar should be collapsible on mobile devices. The component should use the same data source as ContactsList to ensure synchronization. The 'Add Group' button is disabled and marked as a feature coming soon. Acceptance criteria: The GroupsPanel must render exactly once on the Contacts page, displaying all group categories with their respective counts. The sidebar should be collapsible on mobile and maintain a consistent design with the provided CSS. The component should highlight the active group and allow users to select a group to filter the contacts list. The 'Add Group' button should be present but disabled. Access is shared among all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the ContactsList section for the Contacts page. This section displays a grid or list of contact cards, each showing the contact's name, company, phone, and email. It supports filtering by group and search queries, and allows users to select a contact to view or edit details. The section owns the 'contact_selection' state, including selectedContactId, searchQuery, and activeGroup. It must render an empty state when no contacts match the filters. Acceptance criteria: The ContactsList must render exactly once on the Contacts page, displaying contacts filtered by the active group and search query. The grid layout should be responsive, adapting to different screen sizes. The section should include a search input, clear button, and a 'New Contact' button linking to the Camera page. Access is shared among all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.
As a frontend developer, implement the SelectedContactDetail section for the Contacts page. This section provides an expandable detail panel for the selected contact, displaying full contact information and offering actions such as Edit, Share, and Delete. It manages its own state for edit mode and share modal. The panel should be collapsible and hidden when no contact is selected. Acceptance criteria: The SelectedContactDetail must render exactly once on the Contacts page, displaying detailed information for the selected contact. It should support toggling edit mode, saving or canceling edits, opening the share modal, and confirming deletions. The design must be consistent with the provided CSS, and the panel should adapt to mobile screens as a full-screen view or bottom sheet. Access is shared among all personas. Page access: shared by all personas (Event Organizer, Professional Networker, Salesperson). This is verification context and does not request role-specific implementation.

Point your camera at a card or pamphlet. Cedar-Create reads the name, company, phone and email in seconds, then files it neatly into your contacts.
From the moment you snap a card to sharing a saved contact, Cedar-Create keeps the whole workflow fast, accurate, and organized.
Point your phone at a visiting card or pamphlet and let Cedar-Create handle the rest.
Text recognition pulls out names, emails, and phone numbers in seconds.
Keep your network tidy with flexible grouping, categories, and tags.
Find contacts by name or company and share via email or messaging.
Wherever contact management slows you down, Cedar-Create fits your role.
Attends events constantly and collects stacks of cards.
Capture every new contact on the spot and keep a searchable network without manual typing.
Snap your first visiting card and watch it become a saved contact in seconds.
Learn how contacts stay organized
Point your camera at a card or pamphlet. Cedar-Create reads the name, company, phone and email in seconds, then files it neatly into your contacts.
From the moment you snap a card to sharing a saved contact, Cedar-Create keeps the whole workflow fast, accurate, and organized.
Point your phone at a visiting card or pamphlet and let Cedar-Create handle the rest.
Text recognition pulls out names, emails, and phone numbers in seconds.
Keep your network tidy with flexible grouping, categories, and tags.
Find contacts by name or company and share via email or messaging.
Wherever contact management slows you down, Cedar-Create fits your role.
Attends events constantly and collects stacks of cards.
Capture every new contact on the spot and keep a searchable network without manual typing.
Snap your first visiting card and watch it become a saved contact in seconds.
Learn how contacts stay organized
No comments yet. Be the first!