Computer & Information Sciences
Software Development Challenges
Real software-development projects on Ewance — write, test, and ship working code against briefs that mirror the job. Solve them to build a portfolio of verified, recruiter-checkable proof you can do the work — not just describe it.
Recommended challenges
- DesignBeginnerNew
Add Constant Folding and Dead Code Elimination to a Teaching Compiler
Using the provided intermediate-representation specification, design and propose constant folding and dead code elimination as two intermediate-representation-to-intermediate-re…
- Intermediate Representation
- Constant Folding
- Dead Code Elimination
Open coursework - DesignBeginnerNew
Design a Playwright Checkout Test Suite That Blocks Bad Merges
Using the checkout incident export, identify the single most valuable happy path plus the six edge cases tied to the most frequent and most severe past incidents (for example fa…
- End To End Testing
- Playwright
- Ci Cd
Open coursework - CodeIntermediateNew
Multi-Tenant SaaS Backend with Postgres Row Security
Design the multi-tenant schema: shared tables with a tenant_id column, indexed appropriately. Write a forward + backward migration (using Drizzle or Prisma). Implement Postgres …
- Multi Tenant Architecture
- Postgresql
- Row Level Security
Open coursework - DesignBeginnerNew
Design a Lexer and Parser for a Customer Query Language
Using the grammar sketch, the query corpus sample, the Abstract Syntax Tree schema, and the edge-case suite provided to you, write a design proposal for a new lexer and parser t…
- Lexing
- Recursive Descent Parsing
- Abstract Syntax Trees
Open coursework Practice your coursework on real scenarios.
Every challenge is shaped from real-world context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- DesignSeniorNew
Design a Semantic Configuration Validator Using Abstract Interpretation
Using the configuration schema reference, the three incident post-mortems, and the 200-configuration validation set provided, design an abstract domain that captures relations b…
- Abstract Interpretation
- Static Analysis
- Rust Programming
Open coursework - CodeIntermediateNew
Unify a Logistics Driver App and Add Bluetooth Vehicle Telematics
Working only from the materials provided, build a React Native app (Expo bare workflow) that replaces the three legacy flows documented in the case file — optimized route view, …
- Mobile Development
- React Native
- Ble
Open coursework - CodeBeginnerNew
Model a Trading Order Book with Algebraic Data Types in Haskell
Design ADTs for Side (Buy | Sell), OrderType (Limit | Market | StopLimit), Order, Trade, and BookState. Make illegal states unrepresentable (e.g. a Match can never produce a neg…
- Haskell
- Algebraic Data Types
- Property Based Testing
Functional Programming - CodeBeginnerNew
Apply SOLID to a Java Reporting Service for a Renewable Energy Startup
Receive the legacy ReportService, 4 sample report templates (Daily Output, Monthly P&L, Annual Availability, Curtailment), and 22 fixtures (input dataset, expected report). Refa…
- Java
- Solid Principles
- Refactoring
Object-Oriented Programming and Design - Browse challenges
Explore role
Product Manager
Ship product that solves real user problems. Combine user research, prototyping, and stakeholder alignment to turn ambiguous briefs into measurable wins — the role at the centre of modern software teams.
- CodeBeginnerNew
CI/CD Pipeline for a SaaS Monorepo with 14 Services
Set up Nx (or Turborepo) for affected-graph computation. Configure remote build cache (S3-backed) so cached steps skip across runs and developers. Parallelize jobs in GitHub Act…
- Ci Cd
- Monorepo
- Nx
Open coursework - CodeIntermediateNew
Build a CodeQL Query Pack to Catch Logging of Personal Data
Using the provided personal-data source and logging-sink specification, write CodeQL data-flow queries for Java and Python that detect personal data travelling from a source (re…
- Static Analysis
- Codeql
- Data Flow Analysis
Open coursework - CodeIntermediateNew
Compile a C-Like Subset to WebAssembly for a Game Runtime
Using the studio runtime constraints brief, the five example scripts, and the runtime host harness declared in the provided materials, build a command-line compiler that reads o…
- Code Generation
- Webassembly
- Intermediate Representation
Open coursework - CodeIntermediateNew
Property-Based Testing to Harden a SEPA Payments Parser
Work only from the four supplied items: the de-identified incident log of the last four quarterly parser failures (incident-log), the representative parser module (parser-module…
- Property Based Testing
- Fuzz Testing
- Go
Open coursework Build a verifiable portfolio.
Submissions become evidence. Reviewers with shipping experience score against a rubric; the result becomes a credential anyone can verify.
Why Ewance
- CodeBeginnerNew
Design a Domain Model for a Library Loan System (Java)
Implement, in Java 21, an Item type hierarchy (Book, AudioBook, Periodical, EquipmentLoan — each with sub-type-specific rules), Member with eligibility logic, Loan as an aggrega…
- Java
- Oo Design
- Domain Modeling
Object-Oriented Programming and Design - CodeIntermediateNew
Write a Linux Device Driver for a Custom Sensor Board
Read the SPI sensor datasheet (provided) and the existing user-space hack (around 600 lines of C). Write a Linux kernel module (target kernel 6.6 LTS) that registers a hwmon dev…
- C Programming
- Os Interfaces
- Kernel Development
Imperative and Low-Level Programming - CodeBeginnerNew
Build a Booking Web App for a Boutique Hotel Group
Design the data model (properties, rooms, availability, bookings, guests). Build the Next.js app with the App Router: 4 public pages (search, results, room detail, checkout), 1 …
- Nextjs
- React
- REST API
Web Application Development - CodeSeniorNew
Design an In-House Bare-Metal Bootloader for a Smartwatch Prototype
Working only from the provided materials, design and implement a bare-metal C bootloader for the Cortex-M4 target with no operating system, a custom linker script, and vector-ta…
- C Programming
- Manual Memory Management
- Pointers
Open coursework - CodeIntermediateNew
Port a Legacy C Image Pipeline from x86 to ARM64
Clone the 12k-line C codebase (provided). Set up an ARM64 cross-compile toolchain (clang or gcc). Identify portability issues: endianness assumptions, pointer-size casts, inline…
- C Programming
- Manual Memory Management
- Pointers
Imperative and Low-Level Programming - CodeBeginnerNew
Build a Plugin-Based Notification Framework With Observer + Factory
Implement, in Java 21: an EventBus that supports typed subscriptions, a NotificationChannel interface with concrete subtypes (Push, Email, InApp, SMS), an AbstractChannelFactory…
- Java
- Design Patterns
- Oo Design
Object-Oriented Programming and Design - DesignIntermediateNew
Authentication + RBAC for a Multi-Workspace SaaS
Design the auth architecture: identity provider (managed), session model (JWT with rotation), workspace-membership claims, RBAC permission model (4 default roles, custom-role ca…
- Authentication
- Rbac
- Sso
Engineering Software as a Service - CodeBeginnerNew
Build a Source-to-Source Migration Tool for a Legacy API
Use Python's libcst (concrete syntax tree library) to parse customer code while preserving formatting. For each of the 14 transformations, write a CST visitor that matches the v…
- Abstract Syntax Trees
- Source To Source Transformation
- Python
Open coursework - CodeBeginnerNew
Performance Optimization for a Slow Storefront
Run Lighthouse + WebPageTest baselines on 3 representative pages (home, product detail, cart). Set up Real User Monitoring (RUM) via Vercel Analytics or web-vitals.js. Ship 5 di…
- Web Performance
- Core Web Vitals
- Nextjs
Web Application Development - StrategyBeginnerNew
Risk-Based Test Strategy for a Telehealth Scheduling Release
Using the module inventory case-file, the risk-scoring template, and the team-and-runway brief, design and document a risk-based test strategy for the seven-module scheduling re…
- Risk Based Testing
- Test Strategy
- Test Planning
Open coursework - CodeSeniorNew
Design a Polyhedral Loop-Tiling Strategy for a Tensor DSL
Study the DSL's IR (provided, MLIR-based with linalg-style ops). Choose a tiling strategy (rectangular tiling with cost-modeled tile sizes is the safe baseline; full polyhedral …
- Polyhedral Analysis
- Loop Tiling
- Mlir
Advanced Compilers and Program Optimization - DesignSeniorNew
Design a Symbolic-Execution Test-Generation Pipeline for a Date-Time Library
Design a generation pipeline that turns the public parsing and arithmetic surface of the supplied library module into branch-covering test inputs using a symbolic-execution engi…
- Symbolic Execution
- Klee
- Test Generation
Open coursework
How it works
From brief to credential, in six steps.
Step 01
Browse challenges aligned to your studies.
Step 02
Accept the one that fits your goals.
Step 03
Work through it with AI Copilot guidance.
Step 04
Submit for structured evaluation.
Step 05
Earn a verified credential.
Step 06
Add it to LinkedIn with one click.
Industry teams behind a decade of practitioner briefs
Hiring from this pool?
Sponsor a challenge and meet candidates through actual work.
Industry teams can shape briefs around the skills they hire for, then evaluate students on rubric-scored deliverables — not resumes.



















































































